Skip to content

Console Commands

Full command inventory from automated deep probe + interactive ? exploration (firmware 02.02.48, captured 2026-02-12). Automated probing finds commands that respond without arguments; interactive ? in each submenu reveals the full set including parameter-requiring commands the probe misses.

The root prompt provides access to 12 submenus plus system commands.

CommandDescription
?List available commands (alias: help)
a3981Enter motor driver submenu
adcEnter ADC submenu
dipswitchEnter dipswitch submenu
dvbEnter DVB tuner submenu
eepromEnter EEPROM submenu
gpioEnter GPIO submenu
latlonEnter lat/lon calculator submenu
motEnter motor control submenu
nvsEnter non-volatile storage submenu
osEnter OS submenu
peakEnter peak/DiSEqC switch submenu
stepEnter stepper motor submenu
rebootReboot firmware
stowFold dish flat (caution: modified feeds may not survive)
oduTunnel to outdoor unit (Trav’ler Pro only)
ngsearchEnter search submenu (HAL 2.05 only)

A3981 Submenu (A3981>) — Allegro Stepper Driver

Section titled “A3981 Submenu (A3981>) — Allegro Stepper Driver”

6 commands. Controls the two A3981 stepper motor driver ICs via SPI.

CommandDescription
cmCurrent control mode: AZ/EL both report “AUTO” or “HiZ”/“LoZ”
diagFault pin status: “AZ DIAG: OK EL DIAG: OK” (or FAULT)
resetReset AZ/EL A3981 fault flags
smStep size mode: AZ/EL both report “AUTO” or fixed mode
ssStep size: returns integer (FULL=16, HALF=8, QTR=4, EIGHTH=2, SIXTEENTH=1)
stTorque level: AZ/EL report “HIGH” (moving) or “LOW” (idle/holding)
? / qHelp / return to TRK>

The step size value is an inverted divisor — 1 means 1/16 microstepping (finest), 16 means full stepping (coarsest). In AUTO mode, the A3981 dynamically adjusts microstepping based on motor speed.


ADC Submenu (ADC>) — Analog-to-Digital Converter

Section titled “ADC Submenu (ADC>) — Analog-to-Digital Converter”

5 commands. Hardware-level ADC readings from the LNB signal chain and board ID.

CommandDescription
bdidBoard identity: returns “STATIONARY” (Carryout G2 variant)
bdrevidBoard revision: returns “A”
mMonitor RSSI (streaming, CR-overwrite line, interrupt with q)
rssiSingle-shot RSSI (raw ADC count, ~233-238 noise floor)
scanAZ sweep with per-position RSSI/Lock/SNR readings
? / qHelp / return to TRK>

The scan command outputs: Motor:<id> Angle:<cdeg> RSSI:<adc> Lock:<0/1> SNR:<dB> Scan Delta:<step>


1 command. Reads physical DIP switch GPIOs and interprets satellite config code.

CommandDescription
dipswitchRead dipswitch: val:<hex32> (raw GPIO) + app_dipswitch:<decimal> (interpreted)
? / qHelp / return to TRK>

Example: val:ffffff01 = all switches OFF/up. app_dipswitch:101 = DISH 110+119+129 degrees W.


38 commands. Controls the Broadcom BCM4515 DVB-S2 tuner and DiSEqC 2.x LNB interface. Help is paginated: ? shows the first page, man shows extended commands.

CommandTypeDescription
rssi <n>One-shotRSSI averaged over n samples. Returns Reads:<n> RSSI[avg: <v> cur: <v>]
snrStreamingSNR level (avg + current). Interrupt with q
agcStreamingRF/IF AGC + SNR + NID. Interrupt with q
qlsStreamingQuick lock status at ~100ms intervals: Lock:0 rssi:500 cnt:0
nidStreamingNetwork ID (CR-overwrite display, FFFF = no signal)
statsStreamingAccumulated signal statistics (silent when no lock)
CommandTypeDescription
disOne-shotDisplay channel parameters (frequency, symbol rate, LNB polarity)
e <n> <v>WriteEdit channel parameter
freqsOne-shotTuner frequency list name
rangeOne-shotTransponder scan range
t <n>WriteSelect transponder
CommandTypeDescription
lnbdc oduOne-shotEnable LNA in ODU mode (13V = V-pol; boot default 18V = H-pol)
lnbvStreamingStream LNB voltage readings. Interrupt with q
pwrOne-shotSDS and DiSEqC core power state
CommandTypeDescription
lsStreamingFull transponder lock scan. Exits DVB submenu on interrupt
configOne-shotBCM hardware/firmware version (ID 0x4515, Rev B0, FW v113.37)
diagOne-shotMulti-block per-transponder diagnostics
tableOne-shotFull 32-transponder scan (~136 seconds)
tablexToggleExtended table mode (on/off)
srchToggleSearch transponders mode (on/off)
srch_modeOne-shotAuto search mode value
shufToggleTransponder shuffle order (on/off)
defWriteReset all params to defaults (silent, no confirmation, no undo)
mswWriteModulation switch (format unknown)
CommandTypeDescription
tabtoRead/WriteTable scan timeouts (acq/nid/sd)
toRead/WriteSingle tune timeouts (acq/nid)
CommandTypeDescription
di2confReadDiSEqC LNB config register
di2csWriteDiSEqC committed switch command
di2idReadDiSEqC read LNB hardware ID
di2rcsReadDiSEqC read committed switch status
di2scReadDiSEqC switch control
di2statReadDiSEqC read LNB status flags
ovraddrRead/WriteDiSEqC override address (default 0x11)
pretxRead/WriteDiSEqC pre-transmit delay (default 15 ms)
rrtoRead/WriteDiSEqC receive reply timeout (default 210 ms)
send <hex>WriteRaw DiSEqC packet (max 6 bytes, space-delimited hex)
tdthreshRead/WriteDiSEqC tone detect threshold (default 110)
CommandDescription
manExtended help page
? / qHelp / return to TRK>

EEPROM Submenu (EE>) — K60 FlexNVM/EEPROM

Section titled “EEPROM Submenu (EE>) — K60 FlexNVM/EEPROM”

3 commands. Low-level EEPROM access (separate from NVS). The prompt is EE>, not EEPROM>. Most indices read as 0 (unwritten) or fail with val:65793 (0x10101 marker = uninitialized). The firmware primarily uses NVS, not EEPROM, for persistent settings.

CommandDescription
ee <idx> [<v>]Read/write EEPROM value at index. Read: Index:<n> Read value = <v> or Failed to read eeprom index:<n> val:65793
inv <idx>INVALIDATE EEPROM index (destructive — marks entry invalid, not “inventory”)
defRestore EEPROM defaults
? / qHelp / return to TRK>

4 commands. Direct access to K60 GPIO ports A-E. Pin naming: <port><pin> (e.g., B0, E12).

CommandDescription
dir <pin>Query pin direction: returns “INPUT” or “OUTPUT”
r <pin>Read single GPIO pin value (0 or 1)
regsDump ALL GPIO pin states across ports A-E (26+16+20+16+14 = 92 pins)
w <pin> <val>Write GPIO pin (requires pin name and value)
? / qHelp / return to TRK>

1 command. Satellite triangulation calculator — computes ground station lat/lon from look angles to two known geostationary satellites. Used for auto-location when GPS is unavailable. Values stored internally as centidegrees.

CommandDescription
l <p1> <p2> <p3> <p4>Calculate lat/lon from 4 parameters (likely AZ/EL pairs for 2 satellites)
? / qHelp / return to TRK>

Output format:

anglesentered = <cdeg1> <cdeg2> <cdeg3> <cdeg4>
Lat = <cdeg> Lon = <cdeg>

Values are in centidegrees: Lat = 4295 means 42.95 degrees N, Lon = 25655 means 256.55 degrees E (= 103.45 degrees W).


25 commands. High-level motor control with angle-based positioning.

CommandDescription
aShow position: Angle[0] (AZ), Angle[1] (EL)
a <id> <deg>Move motor to absolute angle (0=AZ, 1=EL)
a <id> +/-degRelative move (G2 only, undocumented in upstream)
g <az> <el>Go to AZ/EL (aborts on new input)
h <id>Home motor to reference position (stall-detect based)
eEngage motors (energize steppers)
rRelease motors (de-energize steppers)
CommandDescription
lList motors and state (0=AZIMUTH, 1=ELEVATION)
pRead raw step positions
vRead motor velocities
maRead max acceleration per motor
mvMax velocity per motor
elminmaxhomeShow EL limits: Min: <v> Max: <v> Home: <v> (NVS values)
ela2s <deg>Elevation angle to steps converter
els2a <steps>Elevation steps to angle converter
CommandDescription
azscan [az_rel] [el_rel] [delay]AZ sweep: scan relative AZ range at EL steps with delay
azscanwxp [motor] [span_deg] [res_cdeg] [num_xponders]AZ sweep + transponder cycling (radio telescope mode)
CommandDescription
pid [motor] [Kp] [Kv] [Ki]Read or set PID gains for motor control loop
sp [motor] [pos]Set position (override current position register)
sw [motor] [pos]Set wrap position (cable wrap reference point)
w [motor] [ON/OFF]Wrap manager: enable/disable cable wrap protection per motor
vms [motor] [deg_per_rev] [ms]Velocity move for duration
CommandDescription
lifeMotor lifetime/usage stats
motorbothSimultaneous dual-motor move test
motorlifeDetailed motor life statistics
sdStall detection test (motor, direction, timeout)
? / qHelp / return to TRK>

The azscanwxp command performs an azimuth sweep while cycling through DVB transponders at each position. This is the core of Davidson’s winegard-sky-scan project for RF imaging.

ParameterTypeUnitsDescription
motorintMotor ID (0=AZ, 1=EL)
spanfloatdegreesTotal azimuth sweep range
resolutionintcentidegreesStep size per position
num_xpondersintNumber of transponders to cycle at each position

Example: azscanwxp 0 10 100 3 — sweep 10 degrees on AZ at 1.00 degree steps, checking 3 transponders per position.


NVS Submenu (NVS>) — Non-Volatile Storage

Section titled “NVS Submenu (NVS>) — Non-Volatile Storage”

5 commands. See the NVS Settings page for a full index dump.

CommandDescription
dDump all NVS values (name/current/saved/default)
d <idx>Dump single value with details
e <idx>Read NVS value at index
e <idx> <v>Write NVS value at index (NOT saved until s)
sSave pending changes to flash
? / qHelp / return to TRK>

2 commands on the Carryout G2 (4 on HAL 0.0.00).

CommandDescriptionAvailability
idFull MCU/firmware identification (NVS version, System ID, chip)All variants
rebootReboot microcontrollerAll variants
tasksList running tasksHAL 0.0.00 only
kill <name>Kill a named taskHAL 0.0.00 only
? / qHelp / return to TRK>All variants

PEAK Submenu (PEAK>) — Signal Peak / DiSEqC Switch

Section titled “PEAK Submenu (PEAK>) — Signal Peak / DiSEqC Switch”

6 commands. EchoStar/DiSEqC switch control and LNB polarity-switched RSSI.

CommandDescription
pwPeak signal search (likely requires satellite lock)
psnrPeak SNR measurement
pxy1Peak XY single-axis (2D cross-pattern peak search)
rssitsRSSI with LNB toggle switch: alternates H-pol (18V, even transponders) and V-pol (13V, odd transponders). Reports Even_sig = <v>, Odd_sig = <v>. Noise floor: even ~489, odd ~235 (V-pol quieter). Exits submenu on interrupt.
stbSTB (set-top box) control / DiSEqC switch test
tsEchoStar switch toggle status: SW Status: 0b<binary> <decimal> (all zeros = no switch connected)
? / qHelp / return to TRK>

STEP Submenu (STEP>) — Low-Level Stepper Control

Section titled “STEP Submenu (STEP>) — Low-Level Stepper Control”

7 commands. Raw stepper API in microstep units (ustep/sec, ustep/sec/msec). MOT wraps STEP with angle-to-step conversion.

CommandDescription
eEngage motor (same as MOT e)
maMax acceleration: Accel[0] = 44 / Accel[1] = 28 (ustep/sec/ms). Set: ma [motor] [ustep/sec/ms]
mvMax velocity: Max Vel [0] = 7222 / Max Vel [1] = 3120 (ustep/sec). Set: mv [motor] [ustep/sec]
pGoto position in raw step counts: p [motor] [steps]
pidPID values: Kp=250 Kv=50 (no Ki at STEP level). Set: pid [motor] [Kp] [Kv]
rRelease motors (same as MOT r)
vGo to velocity (continuous spin): v [motor] [ustep/sec]
? / qHelp / return to TRK>

The relationship between STEP microstep units and MOT degree units:

ParameterSTEP valueMOT valueConversion factor
AZ velocity7222 ustep/s65.0 deg/s40000 steps/rev / 360 = 111.11 steps/deg
EL velocity3120 ustep/s45.0 deg/s24960 steps/rev / 360 = 69.33 steps/deg
AZ acceleration44 ustep/s/ms~396 deg/s^2x1000 / 111.11
EL acceleration28 ustep/s/ms~404 deg/s^2x1000 / 69.33

The BCM4515 provides a DiSEqC 2.x controller accessible from the DVB> submenu. DiSEqC (Digital Satellite Equipment Control) uses 22 kHz tone bursts on the coax LNB bias line to control switches, LNB polarity, and band selection.

CommandValueDescription
ovraddr0x11Target LNB address (standard first LNB)
rrto210 msReceive reply timeout
pretx15 msPre-command TX delay
tdthresh110Tone detect threshold (0.16 counts/mV)
CommandFunctionStatus
di2confRead LNB config registerRxReplyTimeout (no switch connected)
di2idRead LNB hardware IDRxReplyTimeout
di2statRead LNB status flagsRxReplyTimeout
di2rcsRead committed switch statusRxReplyTimeout
di2csConfigure committed switchNeeds parameters
di2scShort circuit testUntested
send <hex>Raw DiSEqC packet (max 6 bytes)Functional

Raw DiSEqC packets use the send command with space-delimited hex bytes. Standard DiSEqC 1.x commands: send E0 10 38 Fx where the last byte selects the switch port (F0-F3 for ports 1-4).


MessageMeaning
AZ MOTOR STALLEDObstruction preventing rotation
EL MOTOR STALLEDObstruction preventing elevation change
EL Motor Home FailureRequires EL recalibration via IDU menu
Step to Position EL angle error: 2147483647INT_MAX sentinel — motor axis uncalibrated/unhomed