feat(udp): spot clicks switch the decoder's mode
Configure (message 15), mode field only, every other field sent as no-change: an FT4 spot clicked while WSJT-X sits in FT8 lands the operator ready to decode instead of staring at gibberish. Sent to every instance heard this session — one already in the right mode treats it as a no-op — and only for modes the decoder actually speaks (FT8/FT4/JT65/JT9/MSK144/ Q65/FST4); CW and SSB are none of its business. Toggle in the Connections panel, on by default.
This commit is contained in:
@@ -33,7 +33,7 @@ import {
|
||||
GetSolarData,
|
||||
GetQSORate,
|
||||
LoTWUserInfo,
|
||||
OperatingDefaultForBand, ActiveRadioMyRig,
|
||||
OperatingDefaultForBand, ActiveRadioMyRig, ConfigureDecoderMode,
|
||||
LogUDPLoggedADIF,
|
||||
ListCountries,
|
||||
GetWinkeyerSettings, SaveWinkeyerSettings, ListSerialPorts, GetWinkeyerStatus,
|
||||
@@ -3347,6 +3347,10 @@ export default function App() {
|
||||
void tuneRigCAT(s.freq_hz, m).then(() => window.setTimeout(zoom, 300));
|
||||
} else zoom();
|
||||
if (m) applyModeFromSpot(m);
|
||||
// And the DECODER follows too: an FT4 spot clicked while WSJT-X sits in
|
||||
// FT8 switches its mode (Configure, message 15). The backend filters —
|
||||
// only modes the decoder speaks, only when the option is on.
|
||||
if (m) ConfigureDecoderMode(m).catch(() => {});
|
||||
onCallsignInput(s.dx_call, { force: true });
|
||||
applySpotRefs((s as any).pota_ref, (s as any).sota_ref);
|
||||
if (s.dx_call?.trim()) restartRecordingForNewTarget(s.dx_call);
|
||||
|
||||
Reference in New Issue
Block a user