diff --git a/icom/ic7300.c b/icom/ic7300.c index 949d62ff5..afb958420 100644 --- a/icom/ic7300.c +++ b/icom/ic7300.c @@ -46,7 +46,7 @@ #define IC7300_OTHER_TX_MODES (RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|RIG_MODE_RTTY|RIG_MODE_RTTYR) #define IC7300_AM_TX_MODES (RIG_MODE_AM) -#define IC7300_FUNCS (RIG_FUNC_FAGC|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_XIT) +#define IC7300_FUNCS (RIG_FUNC_FAGC|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_XIT|RIG_FUNC_SCOPE) #define IC7300_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|RIG_LEVEL_SQL|RIG_LEVEL_RAWSTR|RIG_LEVEL_AF|RIG_LEVEL_RF|RIG_LEVEL_VOXGAIN|RIG_LEVEL_ANTIVOX|RIG_LEVEL_VOXDELAY|RIG_LEVEL_SWR|RIG_LEVEL_ALC) @@ -57,7 +57,7 @@ #define IC7300_PARMS (RIG_PARM_BACKLIGHT|RIG_PARM_TIME|RIG_PARM_BEEP) #define IC7300_VFO_OPS (RIG_OP_CPY|RIG_OP_XCHG|RIG_OP_FROM_VFO|RIG_OP_TO_VFO|RIG_OP_MCL|RIG_OP_TUNE) -#define IC7300_SCAN_OPS (RIG_SCAN_MEM|RIG_SCAN_PROG|RIG_SCAN_SLCT) +#define IC7300_SCAN_OPS (RIG_SCAN_STOP|RIG_SCAN_MEM|RIG_SCAN_PROG|RIG_SCAN_SLCT) #define IC7300_ANTS (RIG_ANT_1) /* ant-1 is Hf-6m */ @@ -108,7 +108,7 @@ const struct rig_caps ic7300_caps = { .rig_model = RIG_MODEL_IC7300, .model_name = "IC-7300", .mfg_name = "Icom", -.version = BACKEND_VER ".1", +.version = BACKEND_VER ".2", .copyright = "LGPL", .status = RIG_STATUS_STABLE, .rig_type = RIG_TYPE_TRANSCEIVER, diff --git a/icom/icom.c b/icom/icom.c index b1ca8c47c..f76dea3ad 100644 --- a/icom/icom.c +++ b/icom/icom.c @@ -2384,10 +2384,18 @@ int icom_set_func(RIG *rig, vfo_t vfo, setting_t func, int status) fct_cn = C_CTL_MEM; fct_sc = S_MEM_SATMODE; break; - case RIG_FUNC_SCOPE: /* IC-910H */ - fct_cn = C_CTL_MEM; - fct_sc = S_MEM_BANDSCOPE; - break; + case RIG_FUNC_SCOPE: + if (priv->civ_version == 1) { /* IC-7200/7300 */ + fct_cn = 0x27; + fct_sc = 0x10; + fctbuf[0] = status; + fct_len = 1; + } + else { /* IC-910H */ + fct_cn = C_CTL_MEM; + fct_sc = S_MEM_BANDSCOPE; + } + break; case RIG_FUNC_RESUME: /* IC-910H & IC-746-Pro*/ fct_cn = C_CTL_SCAN; fct_sc = status ? S_SCAN_RSMON : S_SCAN_RSMOFF; diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h index fb8fb456c..002f8109c 100644 --- a/include/hamlib/rig.h +++ b/include/hamlib/rig.h @@ -485,15 +485,15 @@ typedef enum { * \sa rig_parse_scan() rig_strscan() */ typedef enum { - RIG_SCAN_NONE = 0, /*!< '' No Scan */ - RIG_SCAN_STOP = RIG_SCAN_NONE, /*!< \c STOP -- Stop scanning */ + RIG_SCAN_NONE = 0, /*!< '' No-op value */ RIG_SCAN_MEM = (1<<0), /*!< \c MEM -- Scan all memory channels */ RIG_SCAN_SLCT = (1<<1), /*!< \c SLCT -- Scan all selected memory channels */ RIG_SCAN_PRIO = (1<<2), /*!< \c PRIO -- Priority watch (mem or call channel) */ RIG_SCAN_PROG = (1<<3), /*!< \c PROG -- Programmed(edge) scan */ RIG_SCAN_DELTA = (1<<4), /*!< \c DELTA -- delta-f scan */ RIG_SCAN_VFO = (1<<5), /*!< \c VFO -- most basic scan */ - RIG_SCAN_PLT = (1<<6) /*!< \c PLT -- Scan using pipelined tuning */ + RIG_SCAN_PLT = (1<<6), /*!< \c PLT -- Scan using pipelined tuning */ + RIG_SCAN_STOP = (1<<7) /*!< \c STOP -- Stop scanning */ } scan_t; /** diff --git a/src/misc.c b/src/misc.c index aea4c9d4e..813aa89dd 100644 --- a/src/misc.c +++ b/src/misc.c @@ -654,6 +654,7 @@ static struct { { RIG_SCAN_VFO, "VFO" }, { RIG_SCAN_PLT, "PLT" }, { RIG_SCAN_NONE, "" }, + { -1, NULL } }; /**