Skip to content

FTX-1 (Yaesu) — CAT manual vs implementation

Manual: Yaesu FTX-1 CAT Operation Reference Manual v2507-B (67-command index + detail). Driver: src/rigplane/backends/yaesu_cat/radio.py (146 async def). Profile: rigs/ftx1.toml. Validation: src/rigplane/validation/registry/*. Live run: /tmp/ftx1.live.json — 58 checks: 30 pass · 1 fail (vfo_slot.set) · 21 unsupported · 6 manual_required. (core 2.9.0, mode=hardware, tx_allowed, USB + antenna.)

Protocol: Yaesu ASCII CAT, ;-terminated (NOT CI-V). CP2105 dual-UART.


Gap lists (priority-ordered)

A. UNDER-DECLARED — backend implements, profile/registry can't see it

CAT rigplane symbol Fix Ticket
CN CTCSS tone freq (+ CT type) backend get_sql_type/set_sql_type, get_ctcss_tone (read-only) exist; registry tone round-trips resolve to get_/set_repeater_tone, _tsql, _tone_freq, _tsql_freqnone exist on the backend → 4 tone checks unsupported Repoint registry tone checks at get_sql_type/set_sql_type+get_ctcss_tone, mark tone-freq read-only MOR-672
DT Date & Time get/set_system_date/time exist; no DT command string in ftx1.tomlsystem_date/time.read unsupported Add DT0;/DT1; strings to [commands] MOR-672
VG VOX Gain get/set_vox_gain raise NotImplementedError, no VG string Implement + add strings MOR-674
NA Narrow get/set_narrow work, folded into filter_width Low — optional narrow.set

B. VALIDATION GAPS — implemented + declared, but no round-trip (presence-only)

CAT rigplane symbol Live Ticket
IS IF Shift get/set_if_shift — only if_shift.presence pass MOR-671
CO Contour get/set_contour (+apf) — only contour.presence pass MOR-671
BI Break-in get/set_break_in — only break_in.presence pass MOR-673
PR/PL Compressor get/set_processor(+level) — only compressor.presence pass MOR-673
CT SQL type get/set_sql_type — only sql_type.presence pass MOR-673
FR Dual RX get/set_rx_func — only dual_rx.presence pass — (low)

C. MISSING BACKEND — documented operator command, no backend method

CAT Function Value Ticket
MX MOX SET (manual TX-on) Med — alt TX trigger MOR-675
OS Repeater Offset/Shift Med — FM repeater MOR-675
TS TXW (TX watch, split) Med — operating MOR-675
VD VOX delay (methods exist, no VD string) Med MOR-674
MD/MC/MA/MB/MW/MR/MT/MS memory family memory ops Feature MOR-676
KM / PB / LM CW + voice message keyer Feature MOR-676

D. MISMATCH / WRONG — declared/checked but behaves differently

CAT rigplane symbol Issue Ticket
VS vfo_slot.set (FAIL) set_vfo_slot raises NotImplementedError on vfo.scheme="ab_shared"; backend DOES implement VS via set_vfo_select (MAIN/SUB) — harness calls wrong abstraction. The one red FAIL. MOR-670 (NotImplementedError→unsupported)
ML get/set_monitor raise NIE Correctly NOT declared (real radio returns ?; — manual column optimistic vs hardware). No gap. (note)
CT set_sql_type writes CT0{type:02d}, live answers CT0; single-digit Asymmetric width; flagged in-profile as "unconfirmed residual" MOR-473 (open)

Intentionally OUT OF SCOPE (device front panel — nothing to mirror into browser UI)

  • DA TFT contrast/brightness/LED · SF FUNC knob assignment · EX settings menu (Table 3, hundreds of params) · MS Meter SW (UI reads meters directly).

Ticket coverage summary

  • 1 red FAIL (vfo_slot.set) → MOR-670.
  • presence-only IS/CO → MOR-671; BI/PR/CT → MOR-673.
  • tone (CN/CT) + clock (DT) under-declaration → MOR-672.
  • VG impl + VD wiring → MOR-674; MX/OS/TS missing backend → MOR-675.
  • memory + keyer UI feature → MOR-676.