Add example_submenu.py

This commit is contained in:
BlueFox 2024-11-01 21:07:26 +00:00
parent a6eb50dce2
commit 0d844a5c92

28
example_submenu.py Normal file
View File

@ -0,0 +1,28 @@
from lcdMenu import lcdMenu
from machine import Pin, I2C
from PCF8574T import I2C_LCD
prev_btn = Pin(13, Pin.IN, Pin.PULL_DOWN) # input of the first btn
next_btn = Pin(14, Pin.IN, Pin.PULL_DOWN) # input of the second btn
ok_btn = Pin(15, Pin.IN, Pin.PULL_DOWN) # input of switch
LCD = I2C_LCD(I2C(0, sda=Pin(8), scl=Pin(9), freq=400000),0x27,2, 16)
def first_callback():
print("first_callback() called!")
def second_cb():
print("second_cb() called")
def third_cb():
print("third_cb() called")
return True
menuItems = [("first item", first_callback),
("second item", second_cb),
("third item", third_cb)]
button_mappings = {"prev_btn":prev_btn, "next_btn": next_btn, "ok_btn": ok_btn}
submenu = lcdMenu(LCD, button_mappings, menuItems, scroll_direction=True, cycle=False, hide_menu_name=False, name="Submenu!")
mainmenu = lcdMenu(LCD, button_mappings, [("Sub menu",submenu.run)], scroll_direction=False, cycle=True, hide_menu_name=False, name="Main menu!")
mainmenu.run()