fix(tci server): announce transmit permission, and log what the client sends

MSHV's PTT test does nothing against the TCI sharing server.

The initialisation block never carried TX_ENABLE. The document files it under
unidirectional control rather than initialisation, so it was missed when the
block was written from §4.1 — but its own note says it is "sent to the client
when connected", and that is the point: a client that models transmit
permission starts out assuming it may NOT transmit. Without it MSHV never even
tries, so nothing arrives to relay and there is nothing to see at either end.

Sent as true always. OpsLog is not what decides — the radio behind whichever
backend is connected does, and its refusal already travels back through SetPTT
into the log.

TX_FREQUENCY goes with it, at connect and whenever the transmit frequency
moves. It is the command a client showing "TX 14.200" reads; channel B alone
left that stale.

And every command a client sends is now logged. This is the only evidence there
will ever be about a program on someone else's machine: "the PTT test does
nothing" cannot be answered without knowing whether MSHV sent trx at all, and
in what form. Cheap — TCI is event-driven, a client speaks when the operator
does something — and capped at 200 lines per connection so one that does poll
cannot quietly fill the log.

If this was not the cause, the next report answers it in one line rather than
another round of guessing.
This commit is contained in:
2026-08-17 09:39:02 +02:00
parent 4095455e66
commit d5e25244ee
3 changed files with 59 additions and 8 deletions
+4 -2
View File
@@ -6,13 +6,15 @@
"An entity that is a single island group now fills the IOTA reference on its own — no callbook subscription needed.",
"CAT sharing can now speak TCI instead of Hamlib, so a TCI-only program reaches whatever radio OpsLog is on.",
"Lookup cache: a TTL of 0 switches it off, so a callbook record you are correcting is re-read every time.",
"TCI: when the radio forbids transmitting, PTT now says so instead of doing nothing silently."
"TCI: when the radio forbids transmitting, PTT now says so instead of doing nothing silently.",
"TCI sharing: the server now announces transmit permission, without which a client such as MSHV never keys at all."
],
"fr": [
"Une entité qui est un seul groupe d’îles remplit désormais la référence IOTA toute seule, sans abonnement callbook.",
"Le partage CAT peut désormais parler TCI au lieu de Hamlib : un logiciel TCI atteint la radio, quelle quelle soit.",
"Cache des recherches : un TTL à 0 le désactive, pour relire à chaque fois une fiche callbook en cours de correction.",
"TCI : quand la radio interdit l’émission, le PTT le dit désormais au lieu de ne rien faire en silence."
"TCI : quand la radio interdit l’émission, le PTT le dit désormais au lieu de ne rien faire en silence.",
"Partage TCI : le serveur annonce désormais lautorisation d’émettre, sans laquelle un client comme MSHV ne passe jamais en émission."
]
},
{