From 7ab3dd718ceaf234df027a9c617c7fcd24cb7a92 Mon Sep 17 00:00:00 2001 From: Daniele Forsi IU5HKX Date: Sun, 31 Aug 2025 11:09:12 +0200 Subject: [PATCH 1/5] Fix conflicting names for TOK_RANGE_SELECTED and TOK_RANGE_NAME Change also the descriptions. Test case before: tests/rigctl dump_conf | grep range Selected range list: "The tx/rx range list in use" Selected range list: "The tx/rx range list name" after: tests/rigctl dump_conf | grep range range_list_number: "The tx/rx range list number in use" range_list_name: "The tx/rx range list name in use" --- src/conf.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/conf.c b/src/conf.c index 67f50d19b..9315d3cf3 100644 --- a/src/conf.c +++ b/src/conf.c @@ -81,13 +81,13 @@ static const struct confparams frontend_cfg_params[] = "1", RIG_CONF_NUMERIC, { .n = { 0, 100, 1 } } }, { - TOK_RANGE_SELECTED, "Selected range list", "Range list#", - "The tx/rx range list in use", + TOK_RANGE_SELECTED, "range_list_number", "Range list number", + "The tx/rx range list number 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", + TOK_RANGE_NAME, "range_list_name", "Range list name", + "The tx/rx range list name in use", "Default", RIG_CONF_STRING }, { From b3cde37a06dd869e639dcb116de31556bf94a0b0 Mon Sep 17 00:00:00 2001 From: Daniele Forsi IU5HKX Date: Sun, 31 Aug 2025 11:54:01 +0200 Subject: [PATCH 2/5] Add missing code to read some configuration parameters Adds code keeping the same order of token.h to `get_conf` the following tokens: freq_skip offset_vfoa offset_vfob range_list_name (always returns an empty string) range_list_number (always returns 0) tuner_control_pathname --- src/conf.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/conf.c b/src/conf.c index 9315d3cf3..3ec4a40b3 100644 --- a/src/conf.c +++ b/src/conf.c @@ -1221,6 +1221,14 @@ static int frontend_get_conf2(RIG *rig, hamlib_token_t token, char *val, SNPRINTF(val, val_len, "%g", rs->lo_freq); break; + case TOK_RANGE_SELECTED: + SNPRINTF(val, val_len, "%d", 0); // FIXME + break; + + case TOK_RANGE_NAME: + SNPRINTF(val, val_len, "%s", ""); // FIXME + break; + case TOK_CACHE_TIMEOUT: SNPRINTF(val, val_len, "%d", rig_get_cache_timeout_ms(rig, HAMLIB_CACHE_ALL)); break; @@ -1257,10 +1265,22 @@ static int frontend_get_conf2(RIG *rig, hamlib_token_t token, char *val, SNPRINTF(val, val_len, "%d", rs->twiddle_rit); break; + case TOK_OFFSET_VFOA: + SNPRINTF(val, val_len, "%g", rs->offset_vfoa); + break; + + case TOK_OFFSET_VFOB: + SNPRINTF(val, val_len, "%g", rs->offset_vfob); + break; + case TOK_ASYNC: SNPRINTF(val, val_len, "%d", rs->async_data_enabled); break; + case TOK_TUNER_CONTROL_PATHNAME: + SNPRINTF(val, val_len, "%s", rs->tuner_control_pathname); + break; + case TOK_TIMEOUT_RETRY: SNPRINTF(val, val_len, "%d", rp->timeout_retry); break; @@ -1281,6 +1301,10 @@ static int frontend_get_conf2(RIG *rig, hamlib_token_t token, char *val, SNPRINTF(val, val_len, "%d", rs->multicast_cmd_port); break; + case TOK_FREQ_SKIP: + SNPRINTF(val, val_len, "%d", rs->freq_skip); + break; + default: return -RIG_EINVAL; } From 31fc48c1459b37b6f78439489c2fad1d1da18d95 Mon Sep 17 00:00:00 2001 From: Daniele Forsi IU5HKX Date: Sun, 31 Aug 2025 15:30:19 +0200 Subject: [PATCH 3/5] [dummy] Add code to get_conf static_data --- rigs/dummy/dummy.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rigs/dummy/dummy.c b/rigs/dummy/dummy.c index ac45cac61..1e7969bc9 100644 --- a/rigs/dummy/dummy.c +++ b/rigs/dummy/dummy.c @@ -430,6 +430,10 @@ static int dummy_get_conf(RIG *rig, hamlib_token_t token, char *val) strcpy(val, priv->magic_conf); break; + case TOK_CFG_STATIC_DATA: + SNPRINTF(val, 128, "%d", priv->static_data); + break; + default: RETURNFUNC(-RIG_EINVAL); } From 901682ba30a4aae692a81fae585791b3dee94a90 Mon Sep 17 00:00:00 2001 From: Daniele Forsi IU5HKX Date: Sun, 31 Aug 2025 16:38:39 +0200 Subject: [PATCH 4/5] [rigctl] Use "fout" for consistency This makes no difference in the current code, but other usages of dumpconf_list() are different: $ grep dumpconf_list *parse.c rigctl_parse.c: dumpconf_list(rig, stdout); rigctl_parse.c: dumpconf_list(rig, fout); rotctl_parse.c: dumpconf_list(rot, fout); rotctl_parse.c: dumpconf_list(rot, fout); rotctl_parse.c: dumpconf_list(rot, fout); --- tests/rigctl_parse.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/rigctl_parse.c b/tests/rigctl_parse.c index 4eaa56bc0..801c259a0 100644 --- a/tests/rigctl_parse.c +++ b/tests/rigctl_parse.c @@ -6048,7 +6048,7 @@ declare_proto_rig(get_conf) if (arg1 == NULL || arg1[0] == '?') { - dumpconf_list(rig, stdout); + dumpconf_list(rig, fout); debugmsgsave[0] = 0; debugmsgsave2[0] = 0; return RIG_OK; From 64ec35845c1cdcf2c64d541ca1bb4bf7f499a16e Mon Sep 17 00:00:00 2001 From: Daniele Forsi IU5HKX Date: Wed, 3 Sep 2025 20:25:57 +0200 Subject: [PATCH 5/5] Return "Feature not available" for range_list_number and range_list_name Test case: tests/rigctl get_conf range_list_number get_conf range_list_name error = *1:event.c(269):rig_poll_routine_start entered *1:event.c(309):rig_poll_routine_start returning(0) rig.c(294):add_opened_rig entered rig.c(306):add_opened_rig returning2(0) rig.c(1669):rig_open returning2(0) *1:rig.c(6904):rig_get_powerstat entered *rig.c(6918) trace **2:dummy.c(1680):dummy_get_powerstat entered **2:dummy.c(1683):dummy_get_powerstat returning(0) *1:rig.c(6931):rig_get_powerstat returning(0) Backend version: 20240709.0, Status: Stable rigctl_parse: called, interactive=0 rigctl_parse: vfo_opt=0 rig_set_cache_timeout_ms: called selection=0, ms=1000 rig_set_cache_timeout_ms: called selection=0, ms=1000 rigctl_get_conf: rig_token_lookup called for range_list_number rig_confparam_lookup called for range_list_number rig_get_conf2 called Feature not available error = **2:dummy.c(1680):dummy_get_powerstat entered **2:dummy.c(1683):dummy_get_powerstat returning(0) *1:rig.c(6931):rig_get_powerstat returning(0) Backend version: 20240709.0, Status: Stable rigctl_parse: called, interactive=0 rigctl_parse: vfo_opt=0 rig_set_cache_timeout_ms: called selection=0, ms=1000 rig_set_cache_timeout_ms: called selection=0, ms=1000 rigctl_get_conf: rig_token_lookup called for range_list_number rig_confparam_lookup called for range_list_number rig_get_conf2 called Feature not available rigctl_parse: called, interactive=0 rigctl_parse: vfo_opt=0 rigctl_get_conf: rig_token_lookup called for range_list_name rig_confparam_lookup called for range_list_name rig_get_conf2 called Feature not available --- src/conf.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/conf.c b/src/conf.c index 3ec4a40b3..7d4871d13 100644 --- a/src/conf.c +++ b/src/conf.c @@ -1222,12 +1222,10 @@ static int frontend_get_conf2(RIG *rig, hamlib_token_t token, char *val, break; case TOK_RANGE_SELECTED: - SNPRINTF(val, val_len, "%d", 0); // FIXME - break; + return -RIG_ENAVAIL; case TOK_RANGE_NAME: - SNPRINTF(val, val_len, "%s", ""); // FIXME - break; + return -RIG_ENAVAIL; case TOK_CACHE_TIMEOUT: SNPRINTF(val, val_len, "%d", rig_get_cache_timeout_ms(rig, HAMLIB_CACHE_ALL));