An Arduino library which provides a menu based user interface and a few UI utilities.
Really elastic, just instantiate inherited menu option's and add it to a screen, and add the screens to the menu system.
The menu system as usual needs a kickstart citing the serial where the vt100 compatible user interface is located (putty, screen, teraTerm...
Press esc to refresh if needed.
If screen size is reported by the user console, uses automatic display positioning (can be disabled).
menuSystemOverTty.init(&Serial);// requiered at boot And the obvious RUN
void loop() {
menuSystemOverTty.run();
}Tested on ATMega328p(Arduino nano) and RP2040(Raspberry pi pico-maxgerhardt/earlephilhower-platformio) and ESP32
To use with low memory boards(ATMega328...): Comment at menu.h line 20
#define _MENU_UI_BIG_RAM_NOTES:
- Be aware of text captions text(char *) length, must be shorter than menuTextArrayLength(menu.h), might corrupt memory!
- YOU must learn Object Oriented Programming, and inheritance, or just copy examples, lol
I ran DoxyGen, so, here it is:
Best is html(must clone) docs/html/index.html
See examples folder.
demo2.ino dynamically generated scrolling menu

demo2.ino text box long string editor





