birdcage/docs/bugs.md
Ryan Malloy c93bbef26d Initial travler-rotor library scaffolding
Extract Gabe Emerson's Trav'ler rotor scripts into a proper Python
library with firmware protocol abstraction (HAL 2.05 + HAL 0.0.00),
Hamlib rotctld TCP server, Click CLI, and isolated leap-frog algorithm
with the elevation copy-paste bug fixed.
2026-02-11 04:10:17 -07:00

42 lines
1.4 KiB
Markdown

# Known Bugs in Original Code
## Leap-Frog Elevation Bug
**Location:** `Trav-ler-Rotor-For-HAL-2.05/travler_rotor.py` lines 98-105
**Issue:** The elevation delta section of the leap-frog algorithm modifies
`target_az` instead of `target_el`. This is a copy-paste error from the
azimuth section above it.
**Original code (lines 90-105):**
```python
# Azimuth compensation (correct)
if target_az - current_az > 2:
target_az+=1
elif target_az - current_az < -2:
target_az-=1
elif target_az - current_az > 1:
target_az+=0.5
elif target_az - current_az < -1:
target_az-=0.5
# Elevation compensation (BUG: modifies target_az instead of target_el)
if target_el - current_el > 2:
target_az+=1 # <-- should be target_el
elif target_el - current_el < -2:
target_az-=1 # <-- should be target_el
elif target_el - current_el > 1:
target_az+=0.5 # <-- should be target_el
elif target_el - current_el < -1:
target_az-=0.5 # <-- should be target_el
```
**Impact:**
- Elevation leap-frog compensation was never applied, so the dish would
lag behind in elevation during fast satellite passes
- Azimuth received double compensation (its own delta + the elevation delta),
causing over-correction on the azimuth axis
**Fix:** In `travler_rotor.leapfrog.apply_leapfrog()`, the elevation
compensation correctly modifies `target_el`.