10 Commits

Author SHA1 Message Date
c010cee282 Document full G2 command inventory from interactive submenu exploration
All 12 submenus explored via live hardware ? help. Key findings:
- A3981: 6 cmds (sm/ss/st for microstep and torque control)
- ADC: 5 cmds (bdid=STATIONARY, bdrevid=A, scan deadlock hazard)
- MOT: 25 cmds (azscanwxp radio telescope, pid tuning, vms velocity)
- DVB: 38 cmds (full DiSEqC 2.x suite, blind scan, NID streaming)
- PEAK: 6 cmds (rssits polarity-switching RSSI, H=489 V=235)
- GPIO: 4 cmds (regs dumps all 92 K60 pins across ports A-E)
- EEPROM: 3 cmds (inv=INVALIDATE not inventory, mostly unused)
- STEP: 7 cmds (raw ustep API, Kp=250 Kv=50, velocity/position)
- LATLON: satellite triangulation calculator (4-param, centidegrees)
- DIPSWITCH: raw GPIO + interpreted config (101=DISH 110+119+129)

Boot sequence enriched with SPI bus speeds and antenna ID string.
Added Known Console Hazards section (scan deadlock, q shell kill).
2026-02-12 23:24:42 -07:00
7ff91b08ea Refactor probe tool to generic embedded console scanner, document full G2 command inventory
Rewrote hidden_menu_probe.py from Winegard-hardcoded to auto-discovering:
detects prompt, error string, and submenu structure from any firmware console.
Extracted Winegard-specific candidate words to scripts/wordlists/winegard.txt.

Deep probe of all 12 G2 submenus discovered commands across A3981 (driver
diagnostics), ADC (RSSI monitoring + position sweep), DVB (extended help via
man, transponder selection), EEPROM (read/write), GPIO (pin R/W), LATLON
(calculator), MOT (azscan, sw), PEAK (EchoStar switch), and STEP (raw
stepper control). NVS submenu generates false positives — treats any input
as sequential index reads.

Safety: added q/Q to default blocklist, bare-CR check before navigate_to_root
to prevent accidental shell termination between submenus.
2026-02-12 21:05:33 -07:00
6b94f079aa Fix G2 position/RSSI parsers, document motor and DVB test results
Position parser now matches the actual Angle[0]/Angle[1] format
instead of falling back to fragile raw-float extraction. RSSI parser
uses a proper named-group regex matching the real firmware output
format (Reads:<n> RSSI[avg: <v> cur: <v>]) — the old index-based
approach would fail on the actual 5-field response.

Motor test results: both axes move correctly, direction-dependent
overshoot of 0.01-0.06 degrees confirmed. DVB subsystem explored:
BCM4515 Rev B0, firmware v113.37, full command set documented
including DiSEqC 2.x, transponder scanning, and streaming AGC/SNR.
RSSI noise floor is ~500.
2026-02-12 09:34:42 -07:00
71ffafdd3f Document G2 firmware 02.02.48 findings from live hardware session
Confirmed via DSD TECH SH-U11 RS-422 adapter at 115200 baud:
- Firmware version 02.02.48, bootloader 1.01, Kinetis MCU, BCM4515 DVB
- Position format is Angle[0]/Angle[1], not AZ=/EL= like Trav'ler
- Prompts are TRK>/MOT>/NVS> (not bare >)
- NVS 20 disable tracker confirmed working after power cycle
- Full NVS dump captured (indices 0-143)
- RJ-12 wire colors documented (differ from Davidson's guide)
- RS-422 polarity swap symptoms documented (garbled RX vs silent TX)
- Cable wrap range confirmed: -423.33° to +23.33° (446.66° total)
2026-02-12 09:21:06 -07:00
da066cfb3b Document RS-485 vs RS-422 signaling, connector pinouts, and MAX490 failsafe
Add comprehensive section covering half-duplex RS-485 vs full-duplex
RS-422 differences, dual-mode Trav'ler pinout (T/R + RXD pairs),
G2 wire color mapping, adapter chain table, and DIYables MAX490
module notes including bus tri-state failsafe concern with
workaround options.
2026-02-11 10:31:11 -07:00
e0488eb85a Add Carryout G2 as fifth firmware variant with protocol support
Implement CarryoutG2Protocol based on cdavidson0522/winegard-sky-scan:
prompt-terminated reads via '>' char, 115200 baud RS-422, h <id>
motor homing, DVB/RSSI signal strength measurement. Update CLAUDE.md
with G2 variant column, NVS index 20, dvb sub-commands, and wiring
differences. CLI now accepts --firmware g2.
2026-02-11 10:06:58 -07:00
b68bb1f6f4 Update Carryout specs from Radio-Telescope repo findings
Correct Carryout elevation limits (22 deg firmware-enforced min,
73 deg firmware default max), fix dvb command not being Pro-only,
add DIP switch and motor stall calibration notes, add
Carryout-Radio-Telescope to upstream references.
2026-02-11 06:32:44 -07:00
579bad9921 Expand docs with full Winegard hardware reference
Add Carryout and Trav'ler Pro to firmware variant table, SK-1000
physical specs, error messages, calibration procedures, emergency
stow notes, motor behavior details, and Gpredict setup config.
Note leap-frog bug is also present in Pro repo.
2026-02-11 06:18:48 -07:00
780de4fe2b Implement HAL 0.0.00 search kill, expand CLAUDE.md with firmware reference
HAL 0.0.00 kills the search task via the OS task manager (os -> kill Search)
rather than the ngsearch submenu used by HAL 2.05. Boot signal is NoGPS only.
Source: saveitforparts/Travler_Rotor upstream repo.

CLAUDE.md now includes firmware variant comparison table, full command
reference, NVS indices, RS-485 pinout, and cable wiring notes.
2026-02-11 06:05:06 -07:00
2c28b0edc2 Add CLAUDE.md with project context and protocol notes 2026-02-11 05:47:03 -07:00