Repository navigation
v0.2.0 - TCI v1.4/1.5/1.6 audit pass
Audit pass against the TCI v1.6 specification (maksimus1210/TCI). Adds the v1.4/1.5 commands that were missed in v0.1.0 and fixes three latent parsing bugs.
Bug fixes
channel_count— wire name was"channels_count"(plural). Server initialization messages were being silently dropped, so the channel topology was never set up from the server'sCHANNEL_COUNTresponse. Renamed to match spec.tx_power/tx_swr— parsers expected 2 split tokens but the protocol message produces 3 (name + value + trailing empty token). Both commands were silently failing. Bumped expected count to 3.tx_power/tx_swr— switched fromConvert.ToDouble(current culture) todouble.Parse(..., InvariantCulture)so dBm and Watt values parse correctly on hosts where the system locale uses a comma decimal separator.
New commands
CTCSS tone-squelch suite (TCI 1.4) — surfaced as Transceiver.Ctcss* properties + events:
CTCSS_ENABLE,CTCSS_MODE,CTCSS_RX_TONE,CTCSS_TX_TONE,CTCSS_LEVEL
E-Coder hardware-panel events (TCI 1.4) — surfaced as controller-level events with new ECoderSwitchEventArgs:
ECODER_SWITCH_RX,ECODER_SWITCH_CHANNEL
Push-style sensor (TCI 1.5):
RX_SENSORS— deprecated in v2.0 but still emitted by ExpertSDR2; writes to channel 0'sRxSignalLevelDbm.
Tests
7 new parser tests (channel_count name, CTCSS roundtrip, two ECoder switches, RX_SENSORS, TX_POWER, TX_SWR). 20/20 passing.
Docs
docs/ARCHITECTURE.md refreshed with the v1.4/1.5/1.6 lineage and the new command rows.
🤖 Generated with Claude Code