diff --git a/src/conf.c b/src/conf.c index 4f1170da3..db1ee59a8 100644 --- a/src/conf.c +++ b/src/conf.c @@ -73,9 +73,14 @@ static const struct confparams frontend_cfg_params[] = "0", RIG_CONF_NUMERIC, { .n = { 0, 10, 1 } } }, { - TOK_ITU_REGION, "itu_region", "ITU region", - "ITU region this rig has been manufactured for (freq. band plan)", - "0", RIG_CONF_NUMERIC, { .n = { 1, 3, 1 } } + TOK_RANGE_SELECTED, "Selected range list", "Range list#", + "The tx/rx range list in use", + "0", RIG_CONF_NUMERIC, { .n = { 1, 5, 1 } } + }, + { + TOK_RANGE_NAME, "Selected range list", "Range list name", + "The tx/rx range list name", + "Default", RIG_CONF_STRING }, { @@ -371,7 +376,7 @@ static int frontend_set_conf(RIG *rig, token_t token, const char *val) break; - case TOK_ITU_REGION: + case TOK_RANGE_SELECTED: if (1 != sscanf(val, "%d", &val_i)) { return -RIG_EINVAL;//value format error @@ -394,23 +399,23 @@ static int frontend_set_conf(RIG *rig, token_t token, const char *val) break; case 3: - memcpy(rs->tx_range_list, caps->tx_range_list2, + memcpy(rs->tx_range_list, caps->tx_range_list3, sizeof(struct freq_range_list)*FRQRANGESIZ); - memcpy(rs->rx_range_list, caps->rx_range_list2, + memcpy(rs->rx_range_list, caps->rx_range_list3, sizeof(struct freq_range_list)*FRQRANGESIZ); break; case 4: - memcpy(rs->tx_range_list, caps->tx_range_list2, + memcpy(rs->tx_range_list, caps->tx_range_list4, sizeof(struct freq_range_list)*FRQRANGESIZ); - memcpy(rs->rx_range_list, caps->rx_range_list2, + memcpy(rs->rx_range_list, caps->rx_range_list4, sizeof(struct freq_range_list)*FRQRANGESIZ); break; case 5: - memcpy(rs->tx_range_list, caps->tx_range_list2, + memcpy(rs->tx_range_list, caps->tx_range_list5, sizeof(struct freq_range_list)*FRQRANGESIZ); - memcpy(rs->rx_range_list, caps->rx_range_list2, + memcpy(rs->rx_range_list, caps->rx_range_list5, sizeof(struct freq_range_list)*FRQRANGESIZ); break; diff --git a/src/rig.c b/src/rig.c index 98990c1e8..91caf97cd 100644 --- a/src/rig.c +++ b/src/rig.c @@ -406,7 +406,15 @@ RIG *HAMLIB_API rig_init(rig_model_t rig_model) rs->transceive = RIG_TRN_OFF; rs->poll_interval = 500; rs->lo_freq = 0; - + + // We are using range_list1 as the default + // Eventually we will have separate model number for different rig variations + // So range_list1 will become just range_list (per model) + // See ic9700.c for a 5-model example + memcpy(rs->tx_range_list, caps->tx_range_list1, + sizeof(struct freq_range_list)*FRQRANGESIZ); + memcpy(rs->rx_range_list, caps->rx_range_list1, + sizeof(struct freq_range_list)*FRQRANGESIZ); #if 0 // this is no longer applicable -- replace it with something? // we need to be able to figure out what model radio we have diff --git a/src/token.h b/src/token.h index a2323c510..0461caf68 100644 --- a/src/token.h +++ b/src/token.h @@ -98,8 +98,10 @@ #define TOK_POLL_INTERVAL TOKEN_FRONTEND(111) /** \brief rig: lo frequency of any transverters */ #define TOK_LO_FREQ TOKEN_FRONTEND(112) -/** \brief rig: International Telecommunications Union region no. */ -#define TOK_ITU_REGION TOKEN_FRONTEND(120) +/** \brief rig: Range index 1-5 */ +#define TOK_RANGE_SELECTED TOKEN_FRONTEND(121) +/** \brief rig: Range Name */ +#define TOK_RANGE_NAME TOKEN_FRONTEND(122) /* * rotator specific tokens * (strictly, should be documented as rotator_internal)