Winegard satellite dish control for amateur radio sky tracking
Find a file
Ryan Malloy ba8859cc31 Fix 300s executor shutdown with threading.Event
Replace time.sleep() with threading.Event.wait() in all poll
loops so worker threads exit immediately on shutdown instead of
blocking for up to 500ms per iteration. Fixes the on_unmount
crash (NoMatches from querying removed DOM nodes) by signaling
the event directly rather than iterating child widgets.

Three shutdown paths covered: q key (on_unmount), Ctrl+C
(try/finally in main), and Textual internal shutdown.
2026-02-14 10:21:42 -07:00
docs Refactor probe tool to generic embedded console scanner, document full G2 command inventory 2026-02-12 21:05:33 -07:00
firmware/ble-bridge Parse GGA/GSA fix quality from NMEA, add PAIR command init sequence 2026-02-11 18:28:59 -07:00
scripts Refactor probe tool to generic embedded console scanner, document full G2 command inventory 2026-02-12 21:05:33 -07:00
src/birdcage Add Birdcage TUI: 5-screen Textual interface for Carryout G2 2026-02-13 08:53:03 -07:00
Trav-ler-Rotor-For-HAL-2.05 Initial travler-rotor library scaffolding 2026-02-11 04:10:17 -07:00
tui Fix 300s executor shutdown with threading.Event 2026-02-14 10:21:42 -07:00
.gitignore Ignore site/ directory — now its own repo (warehack.ing/birdcage-docs) 2026-02-13 05:20:34 -07:00
CLAUDE.md Document birdcage.warehack.ing deployment in CLAUDE.md 2026-02-13 15:17:00 -07:00
pyproject.toml Rename project from travler-rotor to birdcage 2026-02-13 05:16:00 -07:00
uv.lock Rename project from travler-rotor to birdcage 2026-02-13 05:16:00 -07:00