Winegard satellite dish control for amateur radio sky tracking
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. |
||
|---|---|---|
| docs | ||
| firmware/ble-bridge | ||
| scripts | ||
| src/birdcage | ||
| Trav-ler-Rotor-For-HAL-2.05 | ||
| tui | ||
| .gitignore | ||
| CLAUDE.md | ||
| pyproject.toml | ||
| uv.lock | ||