Files
ZephCore/zephcore
liquidraver a01af82c2b joystick UI: replace per-screen poll() with onEnter/onExit + k_timers
UIScreen gains onEnter()/onExit() lifecycle hooks; poll() and the
_curr->poll() call in the main loop are removed. Each screen with
periodic or deadline-based work owns its own k_timer:

- one-shot timers: Splash dismiss, Countdown alarm, Contacts ping
  timeout, RepeaterAdmin cmd/login timeout, Unread preview expiry
- periodic timers: Snake tick, GPSSettings sample
- onEnter()-only: Repeaters discover, Doom start
- deleted: Home, Stopwatch (were empty)

Timer ISR callbacks only signal _task->notify() — never mutate
screen state. Main-thread render() handles transitions. Setting
_curr now fires onExit on the outgoing screen and onEnter on the
incoming one, so timers are scoped to screen lifetime and can't
fire stale events on the wrong screen.
2026-05-21 12:53:00 +02:00
..
2026-05-20 20:40:58 +01:00
2026-02-22 13:09:18 +01:00
2026-05-14 22:24:48 +02:00
2026-05-20 22:53:02 +02:00
2026-03-19 10:44:33 +01:00
2026-05-20 22:53:02 +02:00
2026-05-20 22:53:02 +02:00
2026-02-20 12:43:13 +01:00
2026-02-22 13:09:18 +01:00