Winegard satellite dish control for amateur radio sky tracking
New F2 Control sub-mode that searches the Craft orbital catalog (22k+ objects), displays pass predictions, and drives the dish in real-time using server-computed AZ/EL positions from /api/sky/up. Tracking loop polls at ~1Hz, filters for the tracked target by target_type + target_id (str, not int — handles satellites, planets, stars, comets), and issues motor commands through the existing serial bridge. Verified end-to-end with Carryout G2 hardware tracking NOAA 17. New files: - craft_client.py — stdlib HTTP client (urllib only, no deps) - widgets/craft_panel.py — search table, pass info, tracking status - tests/test_craft_mode.py — 5 unit tests with mocked API - tests/test_craft_integration.py — 3 hardware integration tests |
||
|---|---|---|
| docs | ||
| firmware/ble-bridge | ||
| scripts | ||
| src | ||
| Trav-ler-Rotor-For-HAL-2.05 | ||
| tui | ||
| .gitattributes | ||
| .gitignore | ||
| CLAUDE.md | ||
| pyproject.toml | ||
| uv.lock | ||