Winegard satellite dish control for amateur radio sky tracking
Camera backend abstraction wrapping fswebcam/ffmpeg/libcamera-still via subprocess, with DemoCamera fallback generating valid JPEG from raw bytes. Capture pipeline writes JPEG + JSON sidecar always, optional FITS (astropy) and EXIF (Pillow) when available. Thread-safe orchestrator with session tracking, sequence numbering, and date-based output directories. Trigger system: manual capture, configurable interval timer, and pass event detection (AOS/TCA/LOS) with 0.5-degree TCA hysteresis. PassEventDetector runs in the Craft tracking loop, fires callbacks to the camera overlay. F6 overlay follows the F5 ConsoleOverlay pattern — ModalScreen with install_screen persistence. Status panel, scrollable capture log, interval controls, and AOS/TCA/LOS toggle buttons. Tagline: "a generic AZ/EL positioner that doesn't care about wavelength" added to TUI header subtitle. 51 new tests (77 total passing). |
||
|---|---|---|
| docs | ||
| firmware/ble-bridge | ||
| scripts | ||
| src | ||
| Trav-ler-Rotor-For-HAL-2.05 | ||
| tui | ||
| .gitattributes | ||
| .gitignore | ||
| CLAUDE.md | ||
| pyproject.toml | ||
| uv.lock | ||