Skip to content

TCI WebSocket server — full v2.0 protocol implementation (#528)#672

Merged
ten9876 merged 1 commit into
mainfrom
auto/TCI-WebSocket-server--full-v20-protocol-implementa
Apr 4, 2026
Merged

TCI WebSocket server — full v2.0 protocol implementation (#528)#672
ten9876 merged 1 commit into
mainfrom
auto/TCI-WebSocket-server--full-v20-protocol-implementa

Conversation

@ten9876

@ten9876 ten9876 commented Apr 4, 2026

Copy link
Copy Markdown
Collaborator

Built-in TCI server exposes radio state over WebSocket, replacing the
need for SDC as a bridge. Single connection for CAT + audio + IQ + spots.

  • 72 command handlers covering the full TCI v2.0 spec
  • RX audio streaming with per-client r8brain resampling (8/12/24/48 kHz)
  • TX audio injection from TCI clients into AudioEngine
  • IQ streaming control via DaxIqModel
  • Sensor telemetry (RX S-meter, TX power/SWR/mic)
  • CW keyer (straight key via netcw), CW macros
  • Spot injection/deletion into SpotHub
  • Auto-broadcast: VFO, mode, filter, TX state, lock, spot clicks
  • Per-client audio format negotiation (int16/float32, mono/stereo)
  • DIGI applet: TCI enable toggle, port, client count
  • Settings menu: Autostart TCI with immediate start/stop
  • Gated behind HAVE_WEBSOCKETS (Qt6::WebSockets)
  • Validated with WSJT-X Improved (CAT) and wscat (full protocol)

Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com

Built-in TCI server exposes radio state over WebSocket, replacing the
need for SDC as a bridge. Single connection for CAT + audio + IQ + spots.

- 72 command handlers covering the full TCI v2.0 spec
- RX audio streaming with per-client r8brain resampling (8/12/24/48 kHz)
- TX audio injection from TCI clients into AudioEngine
- IQ streaming control via DaxIqModel
- Sensor telemetry (RX S-meter, TX power/SWR/mic)
- CW keyer (straight key via netcw), CW macros
- Spot injection/deletion into SpotHub
- Auto-broadcast: VFO, mode, filter, TX state, lock, spot clicks
- Per-client audio format negotiation (int16/float32, mono/stereo)
- DIGI applet: TCI enable toggle, port, client count
- Settings menu: Autostart TCI with immediate start/stop
- Gated behind HAVE_WEBSOCKETS (Qt6::WebSockets)
- Validated with WSJT-X Improved (CAT) and wscat (full protocol)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@ten9876 ten9876 enabled auto-merge (squash) April 4, 2026 16:29
@ten9876 ten9876 merged commit 2ccf6bb into main Apr 4, 2026
2 checks passed
@ten9876 ten9876 deleted the auto/TCI-WebSocket-server--full-v20-protocol-implementa branch April 4, 2026 16:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant