import dot3k.backlight as backlight import dot3k.joystick as joystick import utils.usbkeyboard as keyboard from menu import Menu, MenuOption from plugins.text import Text from plugins.deluge import Deluge from plugins import Volume, Backlight, Contrast, GraphTemp, GraphCPU, Clock, Radio, Stocks import time my_clock = Clock() menu = Menu(structure={ 'Deluge': Deluge(), 'Clock': my_clock, 'Stocks': Stocks(), 'Radio': Radio(), 'Status': { 'CPU': GraphCPU(), 'Temp': GraphTemp() }, 'Settings': { 'Volume': Volume(), 'Contrast': Contrast(lcd), 'Backlight': Backlight(backlight) } }, lcd=lcd, idle_handler=my_clock, idle_timeout=3, input_handler=Text()) """
# We want to use clock both as an option # and as the idle plugin clock = Clock() """ Using a set of nested dictionaries you can describe the menu you want to display on dot3k. A nested dictionary describes a submenu. An instance of a plugin class ( derived from MenuOption ) can be used for things like settings, radio, etc A function name will call that function. """ menu = Menu({ 'Clock':clock, 'Radio Stream':Radio(), 'Volume':Volume(), 'Status': { 'CPU':GraphCPU(), 'Temp':GraphTemp() }, 'Settings': { 'Contrast':Contrast(lcd), 'Backlight':Backlight(backlight) } }, lcd, # Draw to dot3k.lcd clock, # Idle with the clock plugin, 10 # Idle after 10 seconds )