Add custom FX2 firmware and RAM loader for open-source development

Custom firmware (SDCC + fx2lib) implements all stock vendor commands
(0x80-0x94) plus new commands for spectrum sweep (0xB0), raw BCM4500
register access (0xB1/0xB2), and blind scan (0xB3). Compiles to 6.3KB
of code with healthy RAM margins.

RAM loader (fw_load.py) uses the FX2 0xA0 vendor request to load
firmware into RAM without touching EEPROM -- power cycle restores
factory firmware. Supports Intel HEX and raw binary formats.
This commit is contained in:
Ryan Malloy 2026-02-11 19:46:50 -07:00
parent c7b5932cc0
commit 5710584267
5 changed files with 1729 additions and 0 deletions

7
.gitignore vendored
View file

@ -1,2 +1,9 @@
# Empty extraction directories
docs/diseqc/images/
# Third-party dependencies
firmware/fx2lib/
# Build artifacts
firmware/build/
tools/__pycache__/