Add Pico dashboard main entrypoint

This commit is contained in:
2026-06-03 02:55:10 -06:00
parent 95b27b223e
commit 10c5b399ba
2 changed files with 70 additions and 0 deletions
+52
View File
@@ -0,0 +1,52 @@
from app import PicoDashboardApp
from state.app_state import AppState
from comms.uart_client import UartClient
from comms.communication_service import CommunicationService
from hardware.display import Display
from hardware.buzzer import Buzzer
from ui.screen_manager import ScreenManager
from ui.touch_router import TouchRouter
from ui.renderers import DashboardRenderer
class NullUart:
def write(self, data):
pass
def any(self):
return False
def read(self):
return b""
def build_app():
state = AppState()
uart_client = UartClient(NullUart())
comms = CommunicationService(uart_client, state)
screens = ScreenManager()
display = Display()
buzzer = Buzzer()
touch_router = TouchRouter(screens)
dashboard_renderer = DashboardRenderer(display)
return PicoDashboardApp(
app_state=state,
communication_service=comms,
screen_manager=screens,
touch_router=touch_router,
display=display,
dashboard_renderer=dashboard_renderer,
buzzer=buzzer,
)
def main():
app = build_app()
app.tick()
return app
if __name__ == "__main__":
main()
+18
View File
@@ -817,3 +817,21 @@ def test_pico_dashboard_app_tick_updates_alarms_and_buzzer():
assert "fridge_zone_1_high" in app.alarms assert "fridge_zone_1_high" in app.alarms
assert buzzer.enabled is True assert buzzer.enabled is True
assert display.commands assert display.commands
def test_pico_main_builds_app():
import main
app = main.build_app()
assert app.state is not None
assert app.comms is not None
assert app.screen_manager.current_screen == "dashboard"
def test_pico_main_runs_one_tick():
import main
app = main.main()
assert app is not None