A micropython library, which supports vertical and horizontal scrolling through menu items on both 2x16 and 4x20 LCDs
Go to file
2024-11-13 21:40:55 +00:00
images Added a first attempt for documentation 2024-11-13 21:59:07 +01:00
__init__.py Updated the error message changed previously 2024-11-13 20:33:24 +01:00
example_quittable.py Added quitting a menu functionality (actually quitting the run()'s infinite internal loop) 2024-11-12 22:15:15 +01:00
example_simple.py Added quitting a menu functionality (actually quitting the run()'s infinite internal loop) 2024-11-12 22:15:15 +01:00
example_submenu.py Added quitting a menu functionality (actually quitting the run()'s infinite internal loop) 2024-11-12 22:15:15 +01:00
LICENSE Initial commit 2024-10-30 19:41:28 +00:00
README.md Updated gallery table in README.md for better readability 2024-11-13 21:40:55 +00:00
tests.py Update tests.py 2024-11-01 21:13:06 +00:00

lcdMenu

A micropython library, which supports vertical and horizontal scrolling through menu items on both 2x16 and 4x20 liquid crystal displays

This project is the completely rewritten successor of my old (and now archived) ProgramChooser library.

It is now production-ready (tested on 2x16 displays only at the moment.) ToDo: Make the README.md also seem production ready!

Roadmap

  • forward, backward and select button
  • support for horizontal and vertical scrolling
  • support for both 2x16 and 4x20 LCDs
  • a reliable order of the menu items
  • good documentation for all of this (maybe through examples)
  • show an exit screen when a specific exit code is returned by a callback function
  • make the menu itself exitable (to enable stuff like submenus, etc.)
  • make the project a valid python package

Here are some of examples of how a lcdMenu will look, showcasing the amount of options you have with lcdMenu. Currently, as the library is only tested with 2x16 displays, these are the only ones showing up below - but on 4x20, it should look the same except it's bigger!

Scroll direction Cycling Title shown Initial selection Result
horizontal yes yes first With title, middle item -> forward and backward, horizontal scrolling
vertical yes no first No title, first item & cycling on -> up & down, vertical scrolling
vertical no no first No title, first item & no cycling -> only down, vertical scrolling
vertical no no middle No title, middle item -> up & down, vertical scrolling
vertical no no last No title, last item & no cycling -> only up, vertical scrolling
vertical no yes no options (first and last) With title, only one option, vertical scrolling
vertical no yes first With title, first item & no cycling -> only down, vertical scrolling
vertical no yes middle With title, middle item -> up & down, vertical scrolling
vertical no yes last With title, last item & no cycling -> only up, vertical scrolling

License

This project is licensed under the GPL-v3-or-later. A copy can be found here.