ItemLabel

 1#include <ItemLabel.h>
 2#include <LcdMenu.h>
 3#include <MenuScreen.h>
 4#include <display/LiquidCrystal_I2CAdapter.h>
 5#include <input/KeyboardAdapter.h>
 6#include <renderer/CharacterDisplayRenderer.h>
 7
 8#define LCD_ROWS 2
 9#define LCD_COLS 16
10
11// Initialize the main menu items
12// clang-format off
13MENU_SCREEN(mainScreen, mainItems,
14    ITEM_LABEL("Main Menu"),
15    ITEM_BASIC("First option"),
16    ITEM_BASIC("Second option"));
17// clang-format on
18
19LiquidCrystal_I2C lcd(0x27, LCD_COLS, LCD_ROWS);
20CharacterDisplayRenderer renderer(new LiquidCrystal_I2CAdapter(&lcd), LCD_COLS, LCD_ROWS);
21LcdMenu menu(renderer);
22KeyboardAdapter keyboard(&menu, &Serial);
23
24void setup() {
25    Serial.begin(9600);
26    renderer.begin();
27    menu.setScreen(mainScreen);
28}
29
30void loop() {
31    keyboard.observe();
32}