Add Pico dashboard core state and alarm logic
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
class ScreenManager:
|
||||
VALID_SCREENS = ("dashboard", "battery", "temps", "power", "system")
|
||||
|
||||
def __init__(self):
|
||||
self.current_screen = "dashboard"
|
||||
|
||||
def go_to(self, screen_name):
|
||||
if screen_name not in self.VALID_SCREENS:
|
||||
raise ValueError(f"Invalid screen: {screen_name}")
|
||||
|
||||
self.current_screen = screen_name
|
||||
|
||||
def next_screen(self):
|
||||
current_index = self.VALID_SCREENS.index(self.current_screen)
|
||||
next_index = (current_index + 1) % len(self.VALID_SCREENS)
|
||||
self.current_screen = self.VALID_SCREENS[next_index]
|
||||
|
||||
def previous_screen(self):
|
||||
current_index = self.VALID_SCREENS.index(self.current_screen)
|
||||
previous_index = (current_index - 1) % len(self.VALID_SCREENS)
|
||||
self.current_screen = self.VALID_SCREENS[previous_index]
|
||||
|
||||
Reference in New Issue
Block a user