stepper-clock/main.py

38 lines
1.1 KiB
Python

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.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())