fix(tci): resubscribe to the meters at 'ready', and log what comes back
The report from a real SunSDR: transmit power and SWR still empty after the sensors fix. The subscription went out once, at connect — while ExpertSDR3 is still streaming its initial state dump, exactly where a unidirectional control command can be ignored. It is now renewed every time the server says 'ready'. The sensor messages also join the logged-on-arrival set, capped like the rest: the next log will say whether TX_SENSORS ever arrives, which is the question — a radio that never sends it (AetherSDR may not) and a frame that arrived and was dropped leave the same blank meters and need opposite fixes.
This commit is contained in:
@@ -113,7 +113,8 @@ func (t *TCI) handlePanel(name string, get func(int) string, args string) bool {
|
||||
// it. What the radio actually announces after the command settles whether
|
||||
// this is our reading or its doing, and no amount of reasoning will.
|
||||
switch name {
|
||||
case "mute", "sql_enable", "sql_level", "tx_power", "tx_swr", "tune":
|
||||
case "mute", "sql_enable", "sql_level", "tx_power", "tx_swr", "tune",
|
||||
"tx_sensors", "rx_sensors", "rx_channel_sensors":
|
||||
// Logged on arrival so an ANSWER can be told from a SILENCE: the log
|
||||
// showed the transmit meters being asked for and nothing coming back,
|
||||
// which on its own proves nothing — a reply that arrived and failed to
|
||||
|
||||
Reference in New Issue
Block a user