diff --git a/icom/icom.c b/icom/icom.c index 1299b0baa..1374c5b14 100644 --- a/icom/icom.c +++ b/icom/icom.c @@ -2483,6 +2483,14 @@ int icom_set_func(RIG *rig, vfo_t vfo, setting_t func, int status) fct_sc = status ? S_SCAN_RSMON : S_SCAN_RSMOFF; fct_len = 0; break; + case RIG_FUNC_DSQL: + fct_cn = C_CTL_FUNC; + fct_sc = S_FUNC_DSQL; + break; + case RIG_FUNC_AFLT: + fct_cn = C_CTL_MEM; + fct_sc = S_MEM_AFLT; + break; case RIG_FUNC_AIP: /* IC-R8600 IP+ function, misusing AIP since RIG_FUNC_ word is full (32 bit) */ fct_cn = C_CTL_MEM; /* 1a */ fct_sc = S_FUNC_IPPLUS; @@ -2596,6 +2604,14 @@ int icom_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status) fct_cn = C_CTL_MEM; /* 1a */ fct_sc = S_FUNC_IPPLUS; break; + case RIG_FUNC_DSQL: + fct_cn = C_CTL_FUNC; + fct_sc = S_FUNC_DSQL; + break; + case RIG_FUNC_AFLT: + fct_cn = C_CTL_MEM; + fct_sc = S_MEM_AFLT; + break; default: rig_debug(RIG_DEBUG_ERR,"Unsupported get_func %d", func); return -RIG_EINVAL; diff --git a/icom/icom_defs.h b/icom/icom_defs.h index 6b481a71f..0213ea772 100644 --- a/icom/icom_defs.h +++ b/icom/icom_defs.h @@ -294,7 +294,7 @@ #define S_FUNC_MN 0x48 /* Manual notch setting */ #define S_FUNC_RF 0x49 /* RTTY Filter setting */ #define S_FUNC_AFC 0x4A /* Auto Frequency Control (AFC) setting */ -#define S_FUNC_DTCS 0x4B /*DTCS tone code squelch setting*/ +#define S_FUNC_DSQL 0x4B /*DTCS tone code squelch setting*/ #define S_FUNC_VSC 0x4C /* voice squelch control useful for scanning*/ #define S_FUNC_MANAGC 0x4D /* manual AGC */ #define S_FUNC_DIGISEL 0x4E /* DIGI-SEL */ @@ -354,6 +354,8 @@ #define S_MEM_TSTEP_ON 0x01 #define S_FUNC_IPPLUS 0x07 /* IP+ subcommand 0x1a 0x07 */ +/* IC-R6 */ +#define S_MEM_AFLT 0x00 /* AF LPF Off/On */ /* * Tone control (C_SET_TONE) subcommands diff --git a/icom/icr6.c b/icom/icr6.c index 52731c71c..679f25b51 100644 --- a/icom/icr6.c +++ b/icom/icr6.c @@ -31,7 +31,7 @@ #define ICR6_MODES (RIG_MODE_AM|RIG_MODE_FM|RIG_MODE_WFM) -#define ICR6_FUNC_ALL (RIG_FUNC_TSQL|RIG_FUNC_VSC) +#define ICR6_FUNC_ALL (RIG_FUNC_TSQL|RIG_FUNC_VSC|RIG_FUNC_DSQL|RIG_FUNC_AFLT) #define ICR6_LEVEL_ALL (RIG_LEVEL_ATT|RIG_LEVEL_AF|RIG_LEVEL_SQL|RIG_LEVEL_RAWSTR|RIG_LEVEL_STRENGTH) @@ -59,7 +59,7 @@ const struct rig_caps icr6_caps = { .mfg_name = "Icom", .version = BACKEND_VER, .copyright = "LGPL", -.status = RIG_STATUS_ALPHA, +.status = RIG_STATUS_BETA, .rig_type = RIG_TYPE_RECEIVER|RIG_FLAG_HANDHELD, .ptt_type = RIG_PTT_NONE, .dcd_type = RIG_DCD_RIG, @@ -79,12 +79,12 @@ const struct rig_caps icr6_caps = { .has_get_level = ICR6_LEVEL_ALL, .has_set_level = RIG_LEVEL_SET(ICR6_LEVEL_ALL), .has_get_parm = RIG_PARM_NONE, -.has_set_parm = RIG_PARM_NONE, /* FIXME: parms */ +.has_set_parm = RIG_PARM_NONE, .level_gran = { [LVL_RAWSTR] = { .min = { .i = 0 }, .max = { .i = 255 } }, }, .parm_gran = {}, -.ctcss_list = static_common_ctcss_list, +.ctcss_list = common_ctcss_list, .dcs_list = common_dcs_list, .preamp = { RIG_DBLST_END, }, .attenuator = { RIG_DBLST_END, }, @@ -98,13 +98,7 @@ const struct rig_caps icr6_caps = { .bank_qty = 0, .chan_desc_sz = 0, - /* Only through cloning mode OPC-1382 */ -.chan_list = { - { 1, 999, RIG_MTYPE_MEM }, /* TBC */ - { 1000, 1199, RIG_MTYPE_MEM }, /* auto-write */ - { 1200, 1299, RIG_MTYPE_EDGE }, /* two by two */ - RIG_CHAN_END, - }, +.chan_list = {RIG_CHAN_END,}, .rx_range_list1 = { /* Other countries but France */ {kHz(100),GHz(1.309995),ICR6_MODES,-1,-1,ICR6_VFO_ALL}, @@ -119,22 +113,25 @@ const struct rig_caps icr6_caps = { .tx_range_list2 = { RIG_FRNG_END, }, .tuning_steps = { - {ICR6_MODES,Hz(5000)}, - {ICR6_MODES,Hz(6250)}, - {ICR6_MODES,Hz(10000)}, - {ICR6_MODES,Hz(12500)}, - {ICR6_MODES,kHz(15)}, - {ICR6_MODES,kHz(20)}, - {ICR6_MODES,kHz(25)}, - {ICR6_MODES,kHz(30)}, - {ICR6_MODES,kHz(50)}, - {ICR6_MODES,kHz(100)}, + {ICR6_MODES,Hz(5000)}, + {ICR6_MODES,Hz(6250)}, + {ICR6_MODES,Hz(10000)}, + {ICR6_MODES,Hz(12500)}, + {ICR6_MODES,kHz(15)}, + {ICR6_MODES,kHz(20)}, + {ICR6_MODES,kHz(25)}, + {ICR6_MODES,kHz(30)}, + {ICR6_MODES,kHz(50)}, + {ICR6_MODES,kHz(100)}, + {ICR6_MODES,kHz(125)}, + {ICR6_MODES,kHz(200)}, /* Air band only */ - {ICR6_MODES,Hz(8330)}, + {ICR6_MODES,Hz(8330)}, /* AM broadcast band only */ - {ICR6_MODES,Hz(9000)}, - RIG_TS_END, + {ICR6_MODES,Hz(9000)}, + RIG_TS_END, }, + /* mode/filter list, remember: order matters! */ .filters = { {RIG_MODE_AM|RIG_MODE_FM, kHz(12)}, diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h index 95230ff53..94c91ede7 100644 --- a/include/hamlib/rig.h +++ b/include/hamlib/rig.h @@ -823,9 +823,9 @@ typedef uint64_t setting_t; #define RIG_FUNC_TBURST (1ULL<<29) /*!< \c TBURST -- 1750 Hz tone burst */ #define RIG_FUNC_TUNER (1ULL<<30) /*!< \c TUNER -- Enable automatic tuner */ #define RIG_FUNC_XIT (1ULL<<31) /*!< \c XIT -- Transmitter Incremental Tuning */ -#define RIG_FUNC_NB2 (1ULL<<32) /*!< \c NB2 -- 2nd Noise Blanker */ -#define RIG_FUNC_BIT33 (1ULL<<33) /* available for future RIG_FUNC items */ -#define RIG_FUNC_BIT34 (1ULL<<34) /* available for future RIG_FUNC items */ +#define RIG_FUNC_NB2 (1ULL<<32) /*!< \c NB2 -- 2nd Noise Blanker */ +#define RIG_FUNC_DSQL (1ULL<<33) /* DSQL -- DCS Squelch setting */ +#define RIG_FUNC_AFLT (1ULL<<34) /* AFLT -- AF Filter setting */ #define RIG_FUNC_BIT35 (1ULL<<35) /* available for future RIG_FUNC items */ #define RIG_FUNC_BIT36 (1ULL<<36) /* available for future RIG_FUNC items */ #define RIG_FUNC_BIT37 (1ULL<<37) /* available for future RIG_FUNC items */ diff --git a/src/misc.c b/src/misc.c index 8dd268a45..b5a20816f 100644 --- a/src/misc.c +++ b/src/misc.c @@ -516,6 +516,8 @@ static struct { RIG_FUNC_TBURST, "TBURST" }, { RIG_FUNC_TUNER, "TUNER" }, { RIG_FUNC_XIT, "XIT" }, + { RIG_FUNC_DSQL, "DSQL" }, + { RIG_FUNC_AFLT, "AFLT" }, { RIG_FUNC_NONE, "" }, };