Add RIG_FUNC_DUAL_WATCH for IC-9700 and IC-9100

This commit is contained in:
Mike Black W9MDB 2021-12-26 22:39:57 -06:00
parent 2fe9117639
commit 1048cbb568
4 changed files with 29 additions and 7 deletions

View File

@ -149,7 +149,7 @@ int ic7300_get_clock(RIG *rig, int *year, int *month, int *day,
*/
#define IC9700_VFOS (RIG_VFO_A|RIG_VFO_B|RIG_VFO_MAIN|RIG_VFO_SUB|RIG_VFO_MEM|RIG_VFO_MAIN_A|RIG_VFO_MAIN_B|RIG_VFO_SUB_A|RIG_VFO_SUB_B)
#define IC9700_PARMS (RIG_PARM_ANN|RIG_PARM_BACKLIGHT|RIG_PARM_TIME|RIG_PARM_BEEP|RIG_PARM_SCREENSAVER)
#define IC9700_FUNCS (RIG_FUNC_NB|RIG_FUNC_COMP|RIG_FUNC_VOX|RIG_FUNC_TONE|RIG_FUNC_TSQL|RIG_FUNC_SBKIN|RIG_FUNC_FBKIN|RIG_FUNC_NR|RIG_FUNC_MON|RIG_FUNC_MN|RIG_FUNC_ANF|RIG_FUNC_LOCK|RIG_FUNC_RIT|RIG_FUNC_SCOPE|RIG_FUNC_SATMODE|RIG_FUNC_AFC|RIG_FUNC_TRANSCEIVE|RIG_FUNC_SPECTRUM|RIG_FUNC_SPECTRUM_HOLD|RIG_FUNC_SEND_MORSE|RIG_FUNC_SEND_VOICE_MEM)
#define IC9700_FUNCS (RIG_FUNC_NB|RIG_FUNC_COMP|RIG_FUNC_VOX|RIG_FUNC_TONE|RIG_FUNC_TSQL|RIG_FUNC_SBKIN|RIG_FUNC_FBKIN|RIG_FUNC_NR|RIG_FUNC_MON|RIG_FUNC_MN|RIG_FUNC_ANF|RIG_FUNC_LOCK|RIG_FUNC_RIT|RIG_FUNC_SCOPE|RIG_FUNC_SATMODE|RIG_FUNC_DUAL_WATCH|RIG_FUNC_AFC|RIG_FUNC_TRANSCEIVE|RIG_FUNC_SPECTRUM|RIG_FUNC_SPECTRUM_HOLD|RIG_FUNC_SEND_MORSE|RIG_FUNC_SEND_VOICE_MEM)
#define IC9700_LEVELS (RIG_LEVEL_PREAMP|RIG_LEVEL_ATT|RIG_LEVEL_AGC|RIG_LEVEL_COMP|RIG_LEVEL_BKINDL|RIG_LEVEL_NR|RIG_LEVEL_PBT_IN|RIG_LEVEL_PBT_OUT|RIG_LEVEL_CWPITCH|RIG_LEVEL_RFPOWER|RIG_LEVEL_MICGAIN|RIG_LEVEL_KEYSPD|RIG_LEVEL_NOTCHF_RAW|RIG_LEVEL_SQL|RIG_LEVEL_RAWSTR|RIG_LEVEL_STRENGTH|RIG_LEVEL_AF|RIG_LEVEL_RF|RIG_LEVEL_VOXGAIN|RIG_LEVEL_ANTIVOX|RIG_LEVEL_VOXDELAY|RIG_LEVEL_SWR|RIG_LEVEL_ALC|RIG_LEVEL_RFPOWER_METER|RIG_LEVEL_RFPOWER_METER_WATTS|RIG_LEVEL_COMP_METER|RIG_LEVEL_VD_METER|RIG_LEVEL_ID_METER|RIG_LEVEL_MONITOR_GAIN|RIG_LEVEL_NB|RIG_LEVEL_SPECTRUM_MODE|RIG_LEVEL_SPECTRUM_SPAN|RIG_LEVEL_SPECTRUM_SPEED|RIG_LEVEL_SPECTRUM_REF|RIG_LEVEL_SPECTRUM_AVG|RIG_LEVEL_SPECTRUM_EDGE_LOW|RIG_LEVEL_SPECTRUM_EDGE_HIGH)
#define IC9700_VFO_OPS (RIG_OP_CPY|RIG_OP_XCHG|RIG_OP_FROM_VFO|RIG_OP_TO_VFO|RIG_OP_MCL)
#define IC9700_SCAN_OPS (RIG_SCAN_STOP|RIG_SCAN_MEM|RIG_SCAN_PROG|RIG_SCAN_SLCT)
@ -777,7 +777,7 @@ const struct rig_caps ic9700_caps =
RIG_MODEL(RIG_MODEL_IC9700),
.model_name = "IC-9700",
.mfg_name = "Icom",
.version = BACKEND_VER ".5",
.version = BACKEND_VER ".6",
.copyright = "LGPL",
.status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER,

View File

@ -59,6 +59,7 @@
RIG_FUNC_FBKIN| \
RIG_FUNC_AFC| \
RIG_FUNC_SATMODE| \
RIG_FUNC_DUAL_WATCH| \
RIG_FUNC_VSC| \
RIG_FUNC_MN| \
RIG_FUNC_LOCK| \
@ -114,7 +115,7 @@ const struct rig_caps ic9100_caps =
RIG_MODEL(RIG_MODEL_IC9100),
.model_name = "IC-9100",
.mfg_name = "Icom",
.version = BACKEND_VER ".1",
.version = BACKEND_VER ".2",
.copyright = "LGPL",
.status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER,

View File

@ -6906,8 +6906,18 @@ int icom_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
break;
case RIG_FUNC_DUAL_WATCH:
fct_cn = C_SET_VFO;
fct_sc = status ? S_DUAL_ON : S_DUAL_OFF;
if ((rig->caps->rig_model == RIG_MODEL_IC9100) ||
(rig->caps->rig_model == RIG_MODEL_IC9700))
{
fct_cn = C_CTL_FUNC;
fct_sc = S_MEM_DUALMODE;
}
else
{
fct_cn = C_SET_VFO;
fct_sc = status ? S_DUAL_ON : S_DUAL_OFF;
}
break;
case RIG_FUNC_SATMODE:
@ -7133,8 +7143,18 @@ int icom_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status)
fct_sc = S_ANT_TUN;
break;
case RIG_FUNC_DUAL_WATCH: fct_cn = C_SET_VFO;
fct_sc = S_DUAL;
case RIG_FUNC_DUAL_WATCH:
if ((rig->caps->rig_model == RIG_MODEL_IC9100) ||
(rig->caps->rig_model == RIG_MODEL_IC9700))
{
fct_cn = C_CTL_FUNC;
fct_sc = S_MEM_DUALMODE;
}
else
{
fct_cn = C_SET_VFO;
fct_sc = S_DUAL;
}
break;
case RIG_FUNC_SATMODE:

View File

@ -407,6 +407,7 @@
#define S_MEM_BANDSCOPE 0x08 /* Simple bandscope (on/off) */
/* For IC9700 and IC9100 and likely future Icoms */
#define S_MEM_DUALMODE 0x59 /* Dualwatch mode (on/off) */
#define S_MEM_SATMODE 0x5a /* Satellite mode (on/off) */
/* IC-R8600 and others */