- UDP LAN protocol (control/CI-V/audio ports)
- USB serial backend (IC-7610 validated)
- CI-V command layer with wfview-style fire-and-forget
- Async API (asyncio)
- Commander queue (serialized, paced, retry, dedupe)
- Abstract Radio Protocol (multi-radio architecture)
-
AudioCapable,ScopeCapable,DualReceiverCapableprotocols
-
- Network discovery
- Session management (connect/reconnect/soft-reconnect/disconnect)
- Zero external dependencies (stdlib only)
- PCM transcoder layer
- RX high-level API (
start_audio_rx_pcm) - TX high-level API (
start_audio_tx_pcm,push_audio_tx_pcm) - CLI audio subcommands (
rx,tx,loopback) - E2E tests for PCM API and CLI
- Runtime audio stats (
get_audio_stats) - Auto-recover audio streams after reconnect (#7)
- Capability negotiation UX +
rigplane audio caps - Task-oriented docs/recipes
- API naming consistency + deprecation plan
- AudioBus pub/sub (v0.12.0, #106)
- Virtual audio bridge (BlackHole/Loopback, v0.12.0)
- Browser audio TX (Opus, v0.9.0)
- TCP server skeleton (
asyncio.start_server) - MVP command set (f/F/m/M/t/T/v/V/s/S/l/q + long-form)
- Read-only safety mode (
--read-only, RPRT -22) - Structured logging + guardrails (max clients, idle timeout, OOM guard)
- Golden protocol response suite (45 fixtures)
- TCP wire integration tests
- WSJT-X/rigctl setup docs
-
--wsjtx-compatDATA mode pre-warm - DATA mode semantics fix (PKT*, RTTY/PKTRTTY)
- CI-V desync fix + state cache + circuit breaker (#27)
- Spectrum/waterfall display (real-time scope data)
- Full control panel (freq/mode/filter/power/meters)
- Band selector (160m–10m one-click)
- Dual-receiver display (MAIN/SUB state, v0.10.0)
- VFO swap (Main↔Sub, v0.11.0)
- Per-receiver controls (ATT/PRE/NB/NR/DSEL/IP+)
- AF/RF/Squelch sliders
- Meters (S-meter, SWR, ALC, Power, Vd, Id)
- Browser audio RX/TX (Opus codec)
- REST API (
/api/v1/state,/api/v1/bridge) - DX Cluster integration (#108)
- Telnet client + spot overlay on waterfall
- Click-to-tune
- Deduplication (call+freq)
- Modal badge
- VFO Swap (Main↔Sub) —
0x07 0xB0 - cmd29 receiver routing for per-receiver commands
- Receiver-aware frontend (15 per-receiver calls)
- SUB scope switching (MAIN/SUB badge, auto-fallback)
- Bidirectional sync (active receiver, Dual Watch)
- Freq/mode on SUB via VFO-switch pattern
- #130: DSP level controls (APF/NR/PBT/NB/filter/AF-mute)
- #131: Operator toggles/status (AGC/VOX/ANF/compressor/break-in)
- #132: VFO/dual-watch/scanning
- #133: Memory and band-stacking
- #134: Repeater/tone (tone+TSQL)
- #135: System/config (antenna, CI-V options, mod routing, time)
- #136: Transceiver/RIT/TX status
- #137: Advanced scope controls (center/during-TX/fixed-edge)
- #138: Expose parity commands across API/CLI/Web
- #139: Command parity matrix test+docs gate
Parity status (2026-03-22):
- 134/134 wfview commands implemented (100%)
- Zero partial implementations
- Zero missing commands
- Known hardware limitation: #153 (TX Freq Monitor not hardware-supported on IC-7610)
- 5073+ unit/integration/mock tests (comprehensive coverage)
- Full test suite across all backends and integrations
- Golden protocol response suite (45+ fixtures)
- Integration tests with real IC-7610
- Contract tests for IC-705, IC-7300, IC-9700 backends
- Soak tests and reliability validation
- CI parity matrix gate
- Type annotations (
py.typed)
- MkDocs site (rigplane.dev)
- Protocol internals deep-dive
- CLI reference
- API reference
- IC-7610 USB serial setup guide
- Security docs
- Session reports in
docs/sessions/(RAG-indexed) - Backend architecture docs
- Epic #140 (IC-7610 Command Parity) — all 134/134 commands complete
- v0.13.0 through v0.18.0 releases shipped
- Web UI refactoring (runtime layers, adapter pattern, skin registry)
- Frontend architecture modernization (#1024–#1029)
- Security hardening (CSP, token handling, read-only guards)
- Bug fixes and reliability improvements
- IC-705 backend (serial + LAN-capable, CI-V 0xA4, single-receiver)
- IC-7300 backend (serial only, CI-V 0x94, single-receiver)
- IC-9700 backend (serial + LAN-capable, CI-V 0xA2, dual-receiver)
- Factory model-based routing with case-insensitive matching
- Profile-driven radio abstraction (#119) — ic705.toml, ic7300.toml, ic9700.toml
- 3365 tests passing (+16 multi-model tests)
- Hardware validation (IC-705, IC-7300, IC-9700 procurement pending)
- Mock Radio Server — UDP emulator for CI without hardware
- Extended response protocol (per-session
extended_mode) - rigctld:
\set_level(RFPOWER) - rigctld: RIT/XIT (
J/Z) - rigctld: Tuner control
- rigctld:
\dump_stateprotocol v1
- Web UI: frequency memory presets
- Web UI: CW keyer interface
- Web UI: remote PTT/foot-switch emulation
- Async event/notification stream (S-meter polling, band changes)
- WSJT-X/JS8Call/fldigi full integration testing
- Logging integration (ADIF export)
- Integration reliability backlog (#129)
- Connection state machine refactor
- Command retry strategies
- Graceful degradation on partial failures
- Universal Radio Bridge (RPi) — USB radios → LAN control
- Rust core prototype (performance spike)
- Windows/Linux binary releases
- Mobile app (React Native?)
Updated: 2026-04-23 (v0.18.0) Current version: 0.18.0 — All milestones complete. See CHANGELOG.md for v0.12.0–v0.18.0 details.