import time import uasyncio as asyncio import Hardware as HW import Settings import Screens #Async loop = asyncio.get_event_loop() async def run_screens(): screens = ( \ (Screens.ClockScreen(),(140,70,255)),\ (Screens.SetAlarmTimeScreen(),(255,0,0)),\ (Screens.RingtoneSettingsScreen(),(255,0,127)),\ (Screens.TemperatureScreen(),(0,50,200)),\ (Screens.HumidityScreen(),(0,50,200)),\ (Screens.SetTimeScreen(),(100,200,50)),\ (Screens.InitHandsScreen(),(0,0,255)),\ (Screens.ShowIpScreen(),HW.HousingLEDs.YELLOW),\ ) colorSet = lambda number: HW.housingLEDs.fill(screens[number][1]) selectScreen = Screens.GetNumberScreen([i for i in range(len(screens))],\ startNumber=0,\ onStart=colorSet,\ onNumberChange=colorSet,\ onPicked=lambda number: HW.housingLEDs.fill((0,0,0))) initScreen = Screens.InitHandsScreen() await initScreen activeScreen = 0 while True: HW.buzzer.playSound(HW.Buzzer.BEEP) await screens[activeScreen][0] # Get the new screen from the screen selection screen activeScreen = await selectScreen loop.run_until_complete(run_screens())