feat(cat): USB for digital modes, on every backend
A soundcard mode is USB with audio in the mic path, and that is what most rigs need. Asking for the mode by NAME is the better answer on a modern transceiver with a DATA position and the wrong one on an older set, where the CAT layer resolves 'digital' to RTTY/FSK — OmniRig does exactly that, per rig file, and there is no arguing with it from here. The operator clicking an FT8 spot landed in FSK, which keys from a mark/space generator and cannot pass FT8 at all. Applied in SetCATMode, the one funnel every backend and every caller goes through, so it holds for a spot click, the band map and the mode selector alike. The QSO is still logged as FT8: this is what the radio is put in, not what the contact was.
This commit is contained in:
@@ -1612,7 +1612,7 @@ function SettingsModalImpl({ onClose, onSaved, initialSection, onMainPaneChanged
|
||||
icom_port: '', icom_baud: 115200, icom_addr: 0x98, icom_net_host: '', icom_net_user: '', icom_net_pass: '', icom_net_audio: false,
|
||||
tci_host: '', tci_port: 40001, tci_spots: false, poll_ms: 250, delay_ms: 0, offset_on: false, offset_hz: 0,
|
||||
digital_default: 'FT8', share_enabled: false, share_port: 4532, share_proto: 'rigctl', share_tci_port: 40001,
|
||||
ptt_hotkey_enabled: false, ptt_hotkey: '', ptt_hotkey_toggle: false,
|
||||
ptt_hotkey_enabled: false, ptt_hotkey: '', ptt_hotkey_toggle: false, digi_as_usb: false,
|
||||
});
|
||||
// Brand + connection, derived from the stored backend rather than held
|
||||
// separately: two sources for one fact drift apart the first time something
|
||||
@@ -3840,6 +3840,13 @@ function SettingsModalImpl({ onClose, onSaved, initialSection, onMainPaneChanged
|
||||
</label> </>
|
||||
)}
|
||||
</div>
|
||||
<label className="flex items-center gap-2 text-sm cursor-pointer" title={t('cat.digiUsbHint')}>
|
||||
<Checkbox
|
||||
checked={!!catCfg.digi_as_usb}
|
||||
onCheckedChange={(c) => setCatCfg((s) => ({ ...s, digi_as_usb: !!c }))}
|
||||
/>
|
||||
{t('cat.digiUsb')}
|
||||
</label>
|
||||
{catCfg.backend === 'omnirig' && (
|
||||
<>
|
||||
<label className="flex items-center gap-2 text-sm cursor-pointer">
|
||||
|
||||
Reference in New Issue
Block a user