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

1.4 KiB

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):

# 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.