Библиотеки, которые упрощают реализацию меню. Arduino отправляет (читаемый) список опций (обычно на двухстрочный LCD дисплей или в монитор последовательного порта) и позволяет человеку выбрать одну из этих опций (как правило, используя кнопки ВВЕРХ, ВНИЗ и ВЫБРАТЬ).
LiquidMenu: Arduino библиотека для создания меню на LCD дисплее
Библиотека LiquidMenu обертывает Arduino библиотеку LiquidCrystal с возможностью создания меню. Она упрощает процесс создания меню, абстрагируя элементы меню в иерархически организованные классы.
Класс LiquidLine из Arduino библиотеки LiquidMenu для создания меню на LCD дисплее
Это самый нижний класс в иерархии библиотеки LiquidMenu, он содержит указатели на переменные/константы, которые будут напечатаны, где расположена строка, где будет расположен индикатор фокуса и указатели на функции обратного вызова.
Класс LiquidScreen из Arduino библиотеки LiquidMenu для создания меню на LCD дисплее
Экран состоит из объектов LiquidLine. Он содержит указатели на них и вызывает их функции, когда активен. Он также знает, на какой строке находится фокус. Объекты данного класса попадают в объект LiquidMenu, который управляет ими.
Класс LiquidMenu из Arduino библиотеки LiquidMenu для создания меню на LCD дисплее
Меню состоит из объектов LiquidScreen. Он содержит указатели на них и вызывает их функции в зависимости от того, какой из них активен. Данный класс используется для управления. Также можно использовать несколько меню, в этом случае объекты данного класса попадают в объект LiquidSystem, который контролирует их, используя те же публичные методы.
Класс LiquidSystem из Arduino библиотеки LiquidMenu для создания меню на LCD дисплее
Система меню состоит из объектов LiquidMenu. Он содержит указатели на них и вызывает их функции в зависимости от того, какое из них активен. Данный класс используется для управления. Данный класс использует такие же публичные методы, как и LiquidMenu, к которым добавлены метод для добавления объекта LiquidMenu и метод для изменения текущего активного меню. Данный класс является опциональным и используется, только если есть необходимость в нескольких меню.