Go to the documentation of this file. 1 #ifndef LCD_CONTROLLER_H
2 #define LCD_CONTROLLER_H
6 #include "LiquidCrystal_I2C.h"
40 LiquidCrystal_I2C
lcd = {0x27, 20, 4};
41 std::vector<IDisplayable *>
items;
81 const String getLogDescription()
const;
85 const String getLogID()
const;
LiquidCrystal_I2C lcd
0x27 - address of the [20x4] LCD on I2C
#define SEC_TO_MILLIS(s)
Converts seconds given as a parameter to milliseconds.
void addItem(IDisplayable *item)
Adds another source of data for the LCD display (another class)
LCDController(LCDController const &)
Copy constructor of the class.
TimePeriod delay
delay between displaying two pages
LCDController & operator=(LCDController const &)
Assignment operator of the class.
static LCDController * instance
the instance of the class
void update() override
Updates the state of the class.
static LCDController * getInstance()
Returns the instance of the class.
LCDController()
Constructor of the class.
int index
index of the current page
std::vector< IDisplayable * > items
collection of classes implementing the interface IDisplayable