skywalker-1/tools
Ryan Malloy d117782dcf Add RF test bench tool for CW injection tests with NanoVNA + HMC472A
New tool (tools/rf_testbench.py) automates five test sequences using a
NanoVNA as a CW source and HMC472A digital attenuator (0-31.5 dB, 0.5 dB
steps via REST API) to characterize the SkyWalker-1 receiver:

- AGC linearity mapping across 64 attenuation steps
- IF band flatness sweep (950-1500 MHz)
- Frequency accuracy via peak detection
- Minimum detectable signal search
- BPSK mode 9 CW probe (Viterbi rate 1/2 K=7)

Includes SKYWALKER_MOCK=1 mode, path-loss calibration from NanoVNA S21
sweeps, and safe-state cleanup (attenuator to max on exit, LNB power
never enabled in direct-input mode).

Also adds Applications & Use Cases guide, RF Test Bench docs page, fixes
h21cm cable loss (was 3x too high), and updates sidebar.
2026-02-17 23:11:09 -07:00
..
arc_survey.py Add Phase 1 experimenter tools: MCP server, H21cm, beacon logger, arc survey 2026-02-17 14:45:02 -07:00
beacon_logger.py Add Phase 1 experimenter tools: MCP server, H21cm, beacon logger, arc survey 2026-02-17 14:45:02 -07:00
carrier_catalog.py Add DiSEqC motor control, QO-100 DATV reception, and carrier survey 2026-02-15 17:01:11 -07:00
eeprom_dump.py Extract real FX2 firmware from I2C EEPROM 2026-02-11 05:08:20 -07:00
eeprom_probe.py Extract real FX2 firmware from I2C EEPROM 2026-02-11 05:08:20 -07:00
eeprom_write.py Add EEPROM flash tool, TS analyzer, DVB-S2 investigation, and tune.py bugfix 2026-02-11 14:46:20 -07:00
fw_dump.py Add FX2 firmware dumps and USB probe tool 2026-02-11 04:51:34 -07:00
fw_load.py Add custom FX2 firmware and RAM loader for open-source development 2026-02-11 19:46:50 -07:00
h21cm.py Add Phase 1 experimenter tools: MCP server, H21cm, beacon logger, arc survey 2026-02-17 14:45:02 -07:00
motor.py Add DiSEqC motor control, QO-100 DATV reception, and carrier survey 2026-02-15 17:01:11 -07:00
qo100.py Add DiSEqC motor control, QO-100 DATV reception, and carrier survey 2026-02-15 17:01:11 -07:00
rf_testbench.py Add RF test bench tool for CW injection tests with NanoVNA + HMC472A 2026-02-17 23:11:09 -07:00
signal_analysis.py Add DiSEqC motor control, QO-100 DATV reception, and carrier survey 2026-02-15 17:01:11 -07:00
skywalker.py Add alternative operating modes: spectrum, scan, monitor, lband, track 2026-02-12 17:29:00 -07:00
skywalker_lib.py Add I2C hot-plug detection and streaming diagnostics (firmware v3.04.0) 2026-02-15 18:24:45 -07:00
survey.py Add DiSEqC motor control, QO-100 DATV reception, and carrier survey 2026-02-15 17:01:11 -07:00
survey_engine.py Add DiSEqC motor control, QO-100 DATV reception, and carrier survey 2026-02-15 17:01:11 -07:00
test_boot.py Fix BCM4500 boot: spurious I2C STOP corrupted FX2 controller 2026-02-12 10:34:15 -07:00
test_boot_debug.py Fix BCM4500 boot: spurious I2C STOP corrupted FX2 controller 2026-02-12 10:34:15 -07:00
test_hamilton.py Add Hamilton adversarial test suite for firmware safety validation 2026-02-17 13:46:14 -07:00
test_i2c_debug.py Fix BCM4500 boot: spurious I2C STOP corrupted FX2 controller 2026-02-12 10:34:15 -07:00
test_i2c_isolate.py Fix BCM4500 boot: spurious I2C STOP corrupted FX2 controller 2026-02-12 10:34:15 -07:00
test_i2c_pinpoint.py Fix BCM4500 boot: spurious I2C STOP corrupted FX2 controller 2026-02-12 10:34:15 -07:00
ts_analyze.py Add DiSEqC motor control, QO-100 DATV reception, and carrier survey 2026-02-15 17:01:11 -07:00
tune.py Add alternative operating modes: spectrum, scan, monitor, lband, track 2026-02-12 17:29:00 -07:00
wine_memdump.py Extract firmware from official Genpix updater EXEs via Wine memory dump 2026-02-11 06:05:13 -07:00