Skip to content

Latest commit

 

History

History
158 lines (139 loc) · 6.27 KB

File metadata and controls

158 lines (139 loc) · 6.27 KB

Roadmap

Completed ✅

Core Protocol & Architecture

  • 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, DualReceiverCapable protocols
  • Network discovery
  • Session management (connect/reconnect/soft-reconnect/disconnect)
  • Zero external dependencies (stdlib only)

Audio (issues #1-#10)

  • 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)

Hamlib NET rigctld (issues #16-#22, #27, #32)

  • 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-compat DATA mode pre-warm
  • DATA mode semantics fix (PKT*, RTTY/PKTRTTY)
  • CI-V desync fix + state cache + circuit breaker (#27)

Web UI (v0.9.0–v0.11.0)

  • 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

Dual-Receiver Support (#92, v0.11.0)

  • 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

IC-7610 Command Parity (Epic #140, v0.11.0 COMPLETE)

All command families complete:

  • #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)

Testing & Quality

  • 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)

Documentation

  • 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

v0.12.0 → v0.18.0 Milestones (Completed)

  • 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

Future (Post-Parity)

Multi-Radio Support (M5, v0.11.0 COMPLETE)

  • 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)

Protocol Completeness

  • 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_state protocol v1

Web UI & Integrations

  • 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)

Hardening & Reliability

  • Integration reliability backlog (#129)
  • Connection state machine refactor
  • Command retry strategies
  • Graceful degradation on partial failures

Long-term (Research)

  • 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.