feat(omnirig): say which of its two CW bits means CW on this rig
Reported on an IC-7610 shared through OmniRig: clicking a CW spot put the radio in CW-R every time, and the only way out was to edit the OmniRig rig file by hand. OmniRig's model has two CW modes, PM_CW_U and PM_CW_L, and nothing in it says which one an .ini calls plain CW. Icom rig files disagree with each other — on some PM_CW_U is CI-V mode 0x03 (CW), on others 0x07 (CW-R) — so asking for "CW" is a question with two right answers and OpsLog was only ever giving one of them. Settings ▸ CAT ▸ OmniRig now carries the answer for THIS rig, and it is pushed to a radio that is already connected rather than waiting for a reconnect: which bit a mode maps to is not worth dropping the link, and with it WSJT-X's rigctl session. Same shape as the Yaesu RTTY sideband, for the same reason. Nothing changes for anyone whose rig file already agrees with us. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
This commit is contained in:
@@ -1859,7 +1859,7 @@ function SettingsModalImpl({ onClose, onSaved, initialSection, onMainPaneChanged
|
||||
// IC-7610 the moment they chose Other.
|
||||
const [icomCustom, setIcomCustom] = useState(false);
|
||||
const [catCfg, setCatCfg] = useState<CATSettings>({
|
||||
enabled: false, backend: 'omnirig', omnirig_rig: 1, omnirig_vfo: '', flex_host: '', flex_port: 4992, flex_spots: false, flex_decode_spots: false, flex_decode_secs: 120, flex_dvk_dax: false,
|
||||
enabled: false, backend: 'omnirig', omnirig_rig: 1, omnirig_vfo: '', omnirig_cw_lower: false, flex_host: '', flex_port: 4992, flex_spots: false, flex_decode_spots: false, flex_decode_secs: 120, flex_dvk_dax: false,
|
||||
yaesu_port: '', yaesu_baud: 38400, yaesu_low_lines: false, yaesu_rtty_usb: false, kenwood_low_lines: false, kenwood_port: '', kenwood_baud: 9600, kenwood_host: '', kenwood_link: 'usb', kenwood_data_mode: 'usb', xiegu_port: '', xiegu_baud: 19200, xiegu_addr: 0x70, xiegu_ptt_line: '',
|
||||
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,
|
||||
@@ -3640,6 +3640,16 @@ function SettingsModalImpl({ onClose, onSaved, initialSection, onMainPaneChanged
|
||||
<p className="text-[10px] text-muted-foreground">{t('cat.omnirigVfoHint')}</p>
|
||||
</div>
|
||||
)}
|
||||
{catCfg.backend === 'omnirig' && (
|
||||
<div className="space-y-1 col-span-2">
|
||||
<label className="flex items-start gap-2 text-sm cursor-pointer">
|
||||
<Checkbox className="mt-0.5" checked={!!catCfg.omnirig_cw_lower}
|
||||
onCheckedChange={(c) => setCatCfg((s) => ({ ...s, omnirig_cw_lower: !!c }))} />
|
||||
<span>{t('cat.omnirigCwLower')}</span>
|
||||
</label>
|
||||
<p className="text-[10px] text-muted-foreground">{t('cat.omnirigCwLowerHint')}</p>
|
||||
</div>
|
||||
)}
|
||||
{catCfg.backend === 'flex' && (
|
||||
<>
|
||||
<div className="space-y-1">
|
||||
|
||||
Reference in New Issue
Block a user