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)
This commit is contained in:
parent
7db4204d26
commit
71ffafdd3f
63
CLAUDE.md
63
CLAUDE.md
@ -44,13 +44,15 @@ Five known Winegard dish variants documented by Gabe Emerson (KL1FI) / saveitfor
|
||||
| **Motor submenu** | `mot` | `motor` | `odu` then `mot` | N/A (`target` + `g`) | `mot` |
|
||||
| **Motor control** | `a <id> <deg>` | `a <id> <deg>` | `a <id> <deg>` | `g <az> <el>` only | `a <id> <deg>` |
|
||||
| **Search kill** | `os` -> `kill Search` | `ngsearch` -> `s` -> `q` | `os` -> `kill Search` | N/A | NVS 20 (permanent disable) |
|
||||
| **Boot signal** | `NoGPS` | `NoGPS` or `No LNB Voltage` | undocumented | N/A | undocumented |
|
||||
| **Boot signal** | `NoGPS` | `NoGPS` or `No LNB Voltage` | undocumented | N/A | `Boot Complete` then `Loc Startup: IDU NOT Present` |
|
||||
| **Min elevation** | 15 deg (firmware) | 15 deg (firmware) | 12 deg (firmware) | 22 deg (firmware-enforced) | 18 deg (firmware) |
|
||||
| **Max elevation** | 90 deg | 90 deg | 75 deg (hardware cap!) | 73 deg (firmware default, NVS 102 override) | 65 deg (firmware) |
|
||||
| **Position query** | `a` -> `AZ = / EL =` | `a` -> `AZ = / EL =` | `a` -> `AZ = / EL =` | raw ints / 100 | `a` -> floats |
|
||||
| **Tested model** | LG-2112 | LG-2112 | SK2DISH | 2003 Carryout | Carryout G2 |
|
||||
| **HAL version** | 0.0.00 | 2.05.003 | unknown | 1.00.065 | unknown |
|
||||
| **Prompt char** | `>` (likely) | `>` (likely) | undocumented | undocumented | `>` (confirmed) |
|
||||
| **HAL version** | 0.0.00 | 2.05.003 | unknown | 1.00.065 | 02.02.48 |
|
||||
| **Prompt char** | `>` (likely) | `>` (likely) | undocumented | undocumented | `TRK>` / `MOT>` / `NVS>` (confirmed) |
|
||||
| **Position format** | `AZ = / EL =` | `AZ = / EL =` | `AZ = / EL =` | raw ints / 100 | `Angle[0] = / Angle[1] =` |
|
||||
| **DVB tuner** | unknown | unknown | unknown | unknown | BCM4515 (Broadcom) |
|
||||
|
||||
### Key Variant Differences
|
||||
|
||||
@ -61,9 +63,13 @@ Five known Winegard dish variants documented by Gabe Emerson (KL1FI) / saveitfor
|
||||
- **NVS `d` command** dumps all NVS values. Confirmed on Pro and Carryout G2; likely available on all variants.
|
||||
- **Carryout DIP switches:** All switches to off (up) may disable search mode, but behavior varies by unit.
|
||||
- **Carryout G2 uses `a` not `g`:** Unlike the 2003 Carryout, the G2 uses standard `a <id> <deg>` motor addressing and the `mot` submenu — protocol-compatible with the Trav'ler family.
|
||||
- **Carryout G2 is RS-422 full-duplex:** Separate TX/RX pairs at 115200 baud via RJ-12 6P6C, vs. RS-485 half-duplex at 57600 on the Trav'ler variants. Requires a USB-to-RS422 converter (5V TTL).
|
||||
- **Carryout G2 is RS-422 full-duplex:** Separate TX/RX pairs at 115200 baud via RJ-12 6P6C, vs. RS-485 half-duplex at 57600 on the Trav'ler variants. Tested with DSD TECH SH-U11 USB-to-RS422 adapter (FTDI FT232R). **Polarity matters** — A/B (or +/-) labeling is not standardized; if you get garbled data at the correct baud rate, swap the +/- wires on the RX pair. TX pair polarity swap causes the dish to not receive commands (silent failure).
|
||||
- **Carryout G2 position format differs from Trav'ler:** Position query `a` in `MOT>` submenu returns `Angle[0] = 180.00` / `Angle[1] = 45.00` — not the `AZ = / EL =` format used by HAL 0.0.00 and HAL 2.05. The `CarryoutG2Protocol` parser needs to handle this format.
|
||||
- **Carryout G2 firmware version 02.02.48** confirmed (Copyright 2013 - Winegard Company). Bootloader version 1.01. MCU: Kinetis (NXP ARM Cortex-M). DVB tuner: BCM4515 (Broadcom).
|
||||
- **Carryout G2 boot sequence:** Bootloader → SPI init → Motor init (System=12Inch, master=40000 steps, slave=24960 steps, ratio=1.602564) → DVB tuner init (BCM4515) → NVS load → EL home (stall detect, 2s timeout) → AZ home (stall detect, 8s timeout) → `Antenna Facing Front` → `TRK>` prompt (if tracker disabled) or search start.
|
||||
- **Carryout G2 cable wrap:** Confirmed from homing output: `wrap_min:-42333 wrap_max:2333` (centidegrees). Total range ~446.66°.
|
||||
- **Carryout G2 has `h <id>` homing:** Explicit motor home-to-reference command. Not documented on other variants.
|
||||
- **Carryout G2 has DVB/RSSI:** Signal strength measurement via `dvb` submenu (`lnbdc odu` to enable LNA, `rssi <n>` to sample). Used for sky scanning / RF imaging.
|
||||
- **Carryout G2 has DVB/RSSI:** Signal strength measurement via `dvb` submenu (`lnbdc odu` to enable LNA, `rssi <n>` to sample). Used for sky scanning / RF imaging. Atmospheric baseline measured at boot: ~494 (18V) / ~499 (13V) wideband.
|
||||
|
||||
## Hardware Specs (SK-1000)
|
||||
|
||||
@ -136,14 +142,20 @@ The physical connector is an RJ-25 (6P6C) on the Trav'ler or RJ-12 (6P6C) on the
|
||||
|
||||
**Carryout G2 pinout (RJ-12, clip away, per Davidson's wiring guide):**
|
||||
|
||||
| Pin | Wire Color | RS-422 Function |
|
||||
|-----|-----------|-----------------|
|
||||
| 1 | White | GND (PE) |
|
||||
| 2 | Red | TX+ (TA) — computer→dish |
|
||||
| 3 | Black | TX- (TB) — computer→dish |
|
||||
| 4 | Yellow | RX+ (RA) — dish→computer |
|
||||
| 5 | Green | RX- (RB) — dish→computer |
|
||||
| 6 | Blue | Not connected |
|
||||
| Pin | Wire Color (Davidson) | Wire Color (confirmed) | RS-422 Function |
|
||||
|-----|----------------------|----------------------|-----------------|
|
||||
| 1 | White | Orange/White | GND (PE) |
|
||||
| 2 | Red | Orange | TX+ (TA) — computer→dish |
|
||||
| 3 | Black | Green/White | TX- (TB) — computer→dish |
|
||||
| 4 | Yellow | Blue | RX+ (RA) — dish→computer |
|
||||
| 5 | Green | Blue/White | RX- (RB) — dish→computer |
|
||||
| 6 | Blue | Green | Not connected |
|
||||
|
||||
**Note:** Wire colors vary by cable manufacturer. The "confirmed" column is from a standard
|
||||
6P6C flat cable tested 2026-02-12. Always verify with a multimeter before connecting.
|
||||
**Polarity is critical:** swapping +/- on the RX pair produces garbled data at the correct
|
||||
baud rate (systematic bit inversion, not random noise). Swapping +/- on the TX pair causes
|
||||
silent failure (dish doesn't respond because it can't decode the inverted framing).
|
||||
|
||||
**Adapter chain by variant:**
|
||||
|
||||
@ -151,6 +163,7 @@ The physical connector is an RJ-25 (6P6C) on the Trav'ler or RJ-12 (6P6C) on the
|
||||
|---------|---------|-----------|
|
||||
| Trav'ler (Gabe's setup) | USB→RS232→RS485 (DTECH) | Pins 2-3 only (half-duplex) |
|
||||
| Carryout G2 (Davidson) | USB→RS422 (5V TTL) | Pins 2-5 (full-duplex) |
|
||||
| Carryout G2 (confirmed) | DSD TECH SH-U11 USB→RS422 (FTDI FT232R) | Pins 1-5 (full-duplex + GND) |
|
||||
| Carryout G2 (ESP32) | ESP32 UART2→RS422 module (DIYables) | Pins 2-5 (full-duplex) |
|
||||
|
||||
### RS-422 Module Notes (DIYables MAX490)
|
||||
@ -205,12 +218,24 @@ stow — fold dish flat (caution: modified feeds may not survive)
|
||||
|
||||
### Known NVS Indices
|
||||
|
||||
| Index | Setting |
|
||||
|-------|---------|
|
||||
| 20 | Disable tracker procedure (FALSE/TRUE) |
|
||||
| 102 | Max elevation |
|
||||
| 125 | Search minimum elevation |
|
||||
| 127 | Safe minimum elevation |
|
||||
Full dump in `docs/g2-nvs-dump.md` (firmware 02.02.48, captured 2026-02-12).
|
||||
|
||||
| Index | Setting | Default | Notes |
|
||||
|-------|---------|---------|-------|
|
||||
| 20 | Disable Tracker Proc? | FALSE | Set TRUE to prevent TV satellite search on boot |
|
||||
| 38 | Sleep Mode Timer Secs | 420 | 7 minutes before sleep |
|
||||
| 41 | Satellite Scan Velocity | 55.00 | °/s during TV search |
|
||||
| 80 | AZ Max Vel | 65.00 | °/s azimuth max velocity |
|
||||
| 81 | AZ Max Accel | 400.00 | °/s² azimuth max acceleration |
|
||||
| 83 | AZ Steps/Rev | 40000 | Stepper steps per full rotation |
|
||||
| 85 | EL Max Vel | 45.00 | °/s elevation max velocity |
|
||||
| 88 | EL Steps/Rev | 24960 | Stepper steps per full EL rotation |
|
||||
| 101 | Minimum Elevation Angle | 18.00 | Firmware floor (degrees) |
|
||||
| 102 | Maximum Elevation Angle | 65.00 | Firmware ceiling (degrees) |
|
||||
| 103 | Elevation Home Angle | 65.00 | EL position after homing |
|
||||
| 112 | Disable Dipswitch? | FALSE | Override physical DIP switches |
|
||||
| 113 | Dipswitch Value | 101 | DirecTV config (ignored when tracker disabled) |
|
||||
| 128-133 | AZ/EL PID Gains | varies | Kp/Kv/Ki tuning parameters |
|
||||
|
||||
### Error Messages
|
||||
|
||||
|
||||
164
docs/g2-nvs-dump.md
Normal file
164
docs/g2-nvs-dump.md
Normal file
@ -0,0 +1,164 @@
|
||||
# Carryout G2 NVS Dump
|
||||
|
||||
**Firmware:** Version 02.02.48 (Copyright 2013 - Winegard Company)
|
||||
**Date:** 2026-02-12
|
||||
**Connection:** DSD TECH SH-U11 USB RS-422 @ 115200 8N1
|
||||
|
||||
## NVS Values
|
||||
|
||||
```
|
||||
Num Name Current Saved Default
|
||||
---- -------------------------- ---------- ---------- ----------
|
||||
0) Log ID's 0x00000007 0x00000007 0x00000007
|
||||
1) Log Device 0x00000001 0x00000001 0x00000001
|
||||
2) Debug 2nd Console Port 0 0 0
|
||||
3) Debug 2nd Packet Port 0 0 0
|
||||
4) Debug Port Connection 0 0 0
|
||||
16) Pitch Deadband 0.00 0.00 0.00
|
||||
17) Roll Deadband 0.00 0.00 0.00
|
||||
18) Yaw Deadband 0.00 0.00 0.00
|
||||
20) Disable Tracker Proc? TRUE TRUE FALSE ← MODIFIED
|
||||
21) Tracker Proc Run Mode 0 0 0
|
||||
22) Conical Alpha Az 200 200 200
|
||||
23) Conical Alpha El 200 200 200
|
||||
24) Conical Radius 1.00 1.00 1.00
|
||||
25) Conical Count Max 20 20 20
|
||||
26) Conical Test Drift +0 +0 +0
|
||||
27) Circle RPM 120 120 120
|
||||
28) Circle Pts/Rev 6 6 6
|
||||
32) Conical Az Clamp 8.00 8.00 8.00
|
||||
33) Conical El Clamp 8.00 8.00 8.00
|
||||
35) Motor Pts/Rev 72 72 72
|
||||
36) Circle Az Radius 1.00 1.00 1.00
|
||||
37) Circle El Radius 1.00 1.00 1.00
|
||||
38) Sleep Mode Timer Secs 420 420 420
|
||||
40) Motor Type 0 0 0
|
||||
41) Satellite Scan Velocity 55.00 55.00 55.00
|
||||
48) Motor Spiral Velocity 55.00 55.00 55.00
|
||||
49) Motor Gear Ratio 0x00000000 0x00000000 0x00000000
|
||||
63) GPS Heading Threshold 1.00 1.00 1.00
|
||||
64) GPS Moving Threshold 5.00 MPH 5.00 MPH 5.00 MPH
|
||||
66) Spiral Signal In A Row Min +3 +3 +3
|
||||
67) Spiral Signal In A Row Max +20 +20 +20
|
||||
68) Signal Odd to Even Offset +0 +0 +0
|
||||
69) Signal Offset 80 80 80
|
||||
70) Signal Baseline Angle 65.00 65.00 65.00
|
||||
71) Signal Re-Peak Degrade Percent 25 25 25
|
||||
72) Gyro Sensitivity +1110 +1110 +1110
|
||||
73) Gyro Filter Size +1 +1 +1
|
||||
74) Gyro Calib Readings 100 100 100
|
||||
75) Gyro Mount Type 1 1 1
|
||||
76) Gyro Velocity Offset 4 4 4
|
||||
77) Gyro Max Accel 600 600 600
|
||||
80) AZ Max Vel 65.00 65.00 65.00
|
||||
81) AZ Max Accel 400.00 400.00 400.00
|
||||
82) AZ Home Velocity 55.00 55.00 55.00
|
||||
83) AZ Steps/Rev 40000 40000 40000
|
||||
84) AZ Direction +1 +1 +1
|
||||
85) EL Max Vel 45.00 45.00 45.00
|
||||
86) EL Max Accel 400.00 400.00 400.00
|
||||
87) EL Home Velocity 45.00 45.00 45.00
|
||||
88) EL Steps/Rev 24960 24960 24960
|
||||
89) EL Direction +1 +1 +1
|
||||
95) AZ Low current limit 0x0000ff0c 0x0000ff0c 0x0000ff0c
|
||||
96) AZ High current limit 0x0000ff30 0x0000ff30 0x0000ff30
|
||||
97) EL Low current limit 0x0000ff0c 0x0000ff0c 0x0000ff0c
|
||||
98) EL High current limit 0x0000ff40 0x0000ff40 0x0000ff40
|
||||
101) Minimum Elevation Angle 18.00 18.00 18.00
|
||||
102) Maximum Elevation Angle 65.00 65.00 65.00
|
||||
103) Elevation Home Angle 65.00 65.00 65.00
|
||||
106) Az Stall Detect 78 78 78
|
||||
107) El Stall Detect 75 75 75
|
||||
108) Az Stall Samples 100 100 100
|
||||
109) El Stall Samples 100 100 100
|
||||
110) EL Home Current Limit 0x0000ff28 0x0000ff28 0x0000ff28
|
||||
111) AZ Home Current Limit 0x0000ff40 0x0000ff40 0x0000ff40
|
||||
112) Disable Dipswitch? FALSE FALSE FALSE
|
||||
113) Dipswitch Value 101 101 101
|
||||
114) Dipswitch Front/Rear Mount 0 0 0
|
||||
115) Mount Offset Angle +0 +0 +0
|
||||
118) Signal Use LNB Clamp FALSE FALSE FALSE
|
||||
128) AZ PID Kp +600 +600 +600
|
||||
129) AZ PID Kv +60 +60 +60
|
||||
130) AZ PID Ki +1 +1 +1
|
||||
131) EL PID Kp +250 +250 +250
|
||||
132) EL PID Kv +50 +50 +50
|
||||
133) EL PID Ki +1 +1 +1
|
||||
136) AZ PWM Stall Cnt 6 6 6
|
||||
137) EL PWM Stall Cnt 5 5 5
|
||||
143) Tracking Number 0 0 0
|
||||
```
|
||||
|
||||
## Key Parameters for Satellite Tracking
|
||||
|
||||
| NVS | Name | Value | Notes |
|
||||
|-----|------|-------|-------|
|
||||
| 20 | Disable Tracker Proc? | TRUE | Prevents TV satellite search on boot |
|
||||
| 83 | AZ Steps/Rev | 40000 | Centidegrees per revolution (400.00°) |
|
||||
| 88 | EL Steps/Rev | 24960 | ~249.60° per revolution |
|
||||
| 80 | AZ Max Vel | 65.00 | °/s azimuth max velocity |
|
||||
| 85 | EL Max Vel | 45.00 | °/s elevation max velocity |
|
||||
| 101 | Min Elevation | 18.00 | Firmware floor (degrees) |
|
||||
| 102 | Max Elevation | 65.00 | Firmware ceiling (degrees) |
|
||||
| 103 | EL Home Angle | 65.00 | Where EL homes to on startup |
|
||||
| 128-133 | PID Gains | varies | AZ/EL motor PID tuning parameters |
|
||||
|
||||
## Boot Sequence Observed
|
||||
|
||||
```
|
||||
Version 02.02.48
|
||||
Copyright 2013 - Winegard Company
|
||||
Boot Complete
|
||||
|
||||
Loc Startup: IDU NOT Present
|
||||
app_dipswitch:101
|
||||
Primary Update: 10100
|
||||
Alternate Update: 11900
|
||||
Toggle Ability Update: 0
|
||||
Alternate2 Update: 0
|
||||
Sat Provider Update: 1
|
||||
DVB: id:0000, lon:101.00E
|
||||
Tuner = WIDE
|
||||
Signal offset = 80
|
||||
Signal baseline angle = 6500
|
||||
Signal Re-Peak Pct = 25
|
||||
NVS Status: 0 Sleep: 420 Dipswitch: 101
|
||||
Sleep: 420 NVS: 420
|
||||
NoGpsStartUp: 721
|
||||
STATIONARY MODE
|
||||
Enabled LNB ODU 18V
|
||||
GPS Not Found
|
||||
```
|
||||
|
||||
## Homing Sequence
|
||||
|
||||
After boot, the dish homes both motors (EL first, then AZ) using stall detection:
|
||||
|
||||
```
|
||||
MotorHome:1 timeout:2000 ← EL motor homing
|
||||
Home TwelInch El Velocity: 4500
|
||||
EL Stall Timeout
|
||||
El Home Angle: 6500
|
||||
|
||||
MotorHome:0 timeout:8000 ← AZ motor homing
|
||||
Home TwelInch Az
|
||||
End MotorAzStall:part1
|
||||
Antenna Facing Front
|
||||
home:0 wrap_pos:0 wrap_min:-42333 wrap_max:2333
|
||||
```
|
||||
|
||||
## Cable Wrap Limits
|
||||
|
||||
From homing output: `wrap_min:-42333 wrap_max:2333`
|
||||
- In centidegrees: -423.33° to +23.33° from home position
|
||||
- Total range: 446.66° (~1.24 full rotations)
|
||||
|
||||
## Satellite Configuration
|
||||
|
||||
```
|
||||
DVB: id:0000, lon:101.00E ← DirecTV 101°W (stored as East longitude)
|
||||
Primary Update: 10100 ← 101.00° in centidegrees
|
||||
Alternate Update: 11900 ← 119.00°
|
||||
Sat Provider Update: 1 ← Provider ID
|
||||
Dipswitch Value: 101 ← DirecTV configuration
|
||||
```
|
||||
Loading…
x
Reference in New Issue
Block a user