Skip to content

v0.2.0 - TCI v1.4/1.5/1.6 audit pass

Choose a tag to compare

@VU3ESV VU3ESV released this 10 May 18:29
· 1 commit to master since this release

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's CHANNEL_COUNT response. 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 from Convert.ToDouble (current culture) to double.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's RxSignalLevelDbm.

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