1#include <LcdMenu.h>
2#include <MenuScreen.h>
3#include <display/LCD_I2CAdapter.h>
4#include <input/KeyboardAdapter.h>
5#include <renderer/CharacterDisplayRenderer.h>
6//
7// EXAMPLE FOR blackhack\LCD_I2C Library
8// PCF8574T I2C Screen
9//
10//
11#define I2C_ADDR 0x27 // I2C Address for the PCF8574T
12#define LCD_COLS 16
13#define LCD_ROWS 2
14
15// clang-format off
16MENU_SCREEN(mainScreen, mainItems,
17 ITEM_BASIC("Start service"),
18 ITEM_BASIC("Connect to WiFi"),
19 ITEM_BASIC("Settings"),
20 ITEM_BASIC("Blink SOS"),
21 ITEM_BASIC("Blink random"));
22// clang-format on
23
24LCD_I2C lcd(I2C_ADDR, LCD_COLS, LCD_ROWS);
25LCD_I2CAdapter lcdAdapter(&lcd);
26CharacterDisplayRenderer renderer(&lcdAdapter, LCD_COLS, LCD_ROWS);
27LcdMenu menu(renderer);
28KeyboardAdapter keyboard(&menu, &Serial);
29
30void setup() {
31 Serial.begin(9600);
32 lcd.begin();
33 renderer.begin();
34 menu.setScreen(mainScreen);
35}
36
37void loop() {
38 keyboard.observe();
39}