Text area with scroll bar to the right, up/down buttons scroll the text:
Top menu with current/total item indicator on top right (you can put it anywhere) and arrow/dot indicator or highlighted item. Indicator is customizable:
Top menu with 12345 index and the arrow is the indicator of the highlighted item
A sub menu:
I'm happy to release a new version of the phi_prompt Text-based User Interface (TUI) library, which I have been working on lately.
This new release has the following features that helps an Arduino project developer quickly whip up a professional-looking user interface, that otherwise would take at least weeks to get if starting from scratch. Using the library, you essentially decouple coding your project's functions and coding the user interface. Like when you program in Java, you wouldn't be making buttons and lists but using buttons classes and list classes instead. You can have phi_prompt handle the user interface with lots of customizable features anytime you want it and handle it your own way at other times if you want. Here are what phi_prompt offers:
- Supports multiple-level menu. See the menu example code how to construct a menu from a list of menu items. Use my template to save you time.
- Supports display of lists with a variety of customizable features.
This is the option byte:
Scrolling bar Center choice Flashing cursor Auto scroll Current /total Index list 1 thru 0 Arrow/dot item indicator
-
Supports text areas to display long messages. You don’t have to clip your messages in small chunks to display on 16X2 or 20X4 displays. Text areas do that for you. The user can use up/down keys to scroll up and down to read the entire message. This version has text_area_P(), which directly displays message from PROGMEM to LCD, saving tons of RAM.
-
Scrolling texts horizontally if you want to display long messages on one line or if you have a long item on a list that won’t fit on one line.
-
Function to display texts automatically center-aligned. No need to count characters.
-
Supports integer entry, floating point number entry, and text entry. Easy to construct a password panel or ask user to enter a file name. Use my template to save time.
-
Lists are stored in PROGMEM, saving RAM for variables. Long messages can also be printed from PROGMEM.
-
Displays a vertical scroll bar anywhere you want.
-
Displays yes/no and ok dialog that automatically scales to the size of your screen.
-
Collect user button presses with wait_on_escape(). You don’t have to write your own code anymore. The return value tells you which button was pressed.
-
Showing off your project with professional-looking interfaces!
Here is a video showing off most of its functions. The 20X4 display is definitely nice: I'll add annotations soon.
More clear video from today:
Somewhat unclear video a few days ago:
This is a more complete video:
I've uploaded the library to my blog but yet need time for complete documentation.