from lcdMenu import lcdMenu import config from config import LCD from time import sleep # testing different icon styles # scroll indicator for the possibility to go up- OR downwards in the menu list """ LCD.custom_char(0, bytearray([0x00,0x04,0x04,0x04,0x15,0x0E,0x04,0x00])) # arrow down (variant 1) LCD.custom_char(1, bytearray([0x00,0x04,0x04,0x04,0x15,0x0A,0x04,0x00])) # arrow down (variant 2) LCD.custom_char(2, bytearray([0x00,0x00,0x00,0x00,0x11,0x0A,0x04,0x00])) # arrow down (variant 3) LCD.custom_char(3, bytearray([0x00,0x04,0x0E,0x15,0x04,0x04,0x04,0x00])) # arrow up (variant 1) LCD.custom_char(4, bytearray([0x00,0x04,0x0A,0x15,0x04,0x04,0x04,0x00])) # arrow up (variant 2) LCD.custom_char(5, bytearray([0x00,0x04,0x0A,0x11,0x00,0x00,0x00,0x00])) # arrow up (variant 3) LCD.putstr(chr(0)+" "+chr(1)+" "+chr(2)+" "+chr(3)+" "+chr(4)+" "+chr(5)+" <>") """ # scroll indicator for the possibility to go up- AND downwards in the menu list """ LCD.custom_char(0, bytearray([0x04,0x0A,0x15,0x04,0x15,0x0A,0x04,0x00])) # arrow up and down (variant 1) LCD.custom_char(1, bytearray([0x04,0x0E,0x15,0x04,0x15,0x0E,0x04,0x00])) # arrow up and down (variant 2) LCD.custom_char(2, bytearray([0x04,0x0E,0x15,0x04,0x04,0x15,0x0E,0x04])) # arrow up and down (variant 3) LCD.custom_char(3, bytearray([0x04,0x0A,0x15,0x04,0x04,0x15,0x0A,0x04])) # arrow up and down (variant 4) LCD.custom_char(4, bytearray([0x04,0x0A,0x11,0x00,0x00,0x11,0x0A,0x04])) # arrow up and down (variant 5) -> the chosen one! LCD.custom_char(5, bytearray([0x04,0x0A,0x11,0x00,0x11,0x0A,0x04,0x00])) # arrow up and down (variant 6) LCD.putstr(chr(0)+" "+chr(1)+" "+chr(2)+" "+chr(3)+" "+chr(4)+" "+chr(5)) """ # scroll indicator for no options (only one menu item exists) """ LCD.custom_char(0, bytearray([0x00,0x11,0x0A,0x04,0x0A,0x11,0x00,0x00])) # two arrows pointing towards (variant 1) LCD.custom_char(1, bytearray([0x11,0x0A,0x04,0x00,0x04,0x0A,0x11,0x00])) # two arrows pointing towards (variant 2) LCD.custom_char(2, bytearray([0x11,0x0A,0x04,0x00,0x00,0x04,0x0A,0x11])) # two arrows pointing towards (variant 3) LCD.putstr(chr(0)+" "+chr(1)+" "+chr(2)) """ # the actual used ones """ LCD.custom_char(0, bytearray([0x04,0x0A,0x11,0x00,0x00,0x00,0x00,0x00])) # arrow up LCD.custom_char(1, bytearray([0x00,0x00,0x00,0x00,0x00,0x11,0x0A,0x04])) # arrow down LCD.custom_char(2, bytearray([0x04,0x0A,0x11,0x00,0x00,0x11,0x0A,0x04])) # arrow up and down (variant 5 from above) LCD.custom_char(3, bytearray([0x11,0x0A,0x04,0x00,0x00,0x04,0x0A,0x11])) # no options (variant 3 from above) LCD.custom_char(4, bytearray([0x08,0x08,0x08,0x0F,0x08,0x08,0x08,0x08])) # line with a fork (to show the current selection - h scrolling) LCD.custom_char(5, bytearray([0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08])) # line without a fork (to show unselected items - h scrolling) LCD.custom_char(6, bytearray([0x00,0x00,0x00,0x00,0x00,0x00,0x15,0x00])) # three dots in a row LCD.putstr(chr(0)+" "+chr(1)+" "+chr(2)+" "+chr(3)+" "+chr(4)+" "+chr(5)+" "+chr(6)) """ # tests for the library #""" def some_print(): print("some_print() executed!") def another_callback(): print("another_callback() executed") def third(): print("third") return True menuItems = [("first item", some_print), ("second item", another_callback), ("third item", third)] fullscreen = lcdMenu(config.LCD, {"prev_btn":config.BTN_1, "next_btn": config.BTN_2, "ok_btn": config.SWITCH}, menuItems, scroll_direction=False, cycle=False, hide_menu_name=True, name="Fullscreen!") titlish = lcdMenu(config.LCD, {"prev_btn":config.BTN_1, "next_btn": config.BTN_2, "ok_btn": config.SWITCH}, menuItems, scroll_direction=False, cycle=False, hide_menu_name=False, name="Titlish!") mm_menuItems = [("Fullscreen",fullscreen.run), ("Titlish", titlish.run)] mainmenu = lcdMenu(config.LCD, {"prev_btn":config.BTN_1, "next_btn": config.BTN_2, "ok_btn": config.SWITCH}, mm_menuItems, scroll_direction=True, cycle=True, hide_menu_name=False, name="Main Menu!") mainmenu.next_selection() mainmenu.previous_selection() print("-------\nNow running!\n-------") mainmenu.run() #"""