[Hamlib-commits] Hamlib -- Ham radio control libraries branch master updated. 02fffca989756b1bd2c20
Library to control radio transceivers and receivers
Brought to you by:
n0nb
From: Michael B. <mdb...@us...> - 2021-02-10 18:46:53
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Hamlib -- Ham radio control libraries". The branch, master has been updated via 02fffca989756b1bd2c205666f78deb2867be459 (commit) via 9251dfa909f5a8e9fec7828bd5549ef47dc739a7 (commit) via 5b59868191740ba9f4b0057d2d5597a3d2442f9c (commit) from cfaa761c83ef6d785a139b50dcf899a8a3e54eca (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 02fffca989756b1bd2c205666f78deb2867be459 Author: Michael Black W9MDB <mdb...@ya...> Date: Wed Feb 10 12:44:00 2021 -0600 Update currVFO cache freq before figuring out the real vfo in rig.c diff --git a/src/rig.c b/src/rig.c index adba32ac..17473c84 100644 --- a/src/rig.c +++ b/src/rig.c @@ -1371,7 +1371,13 @@ static int set_cache_freq(RIG *rig, vfo_t vfo, freq_t freq) rig_debug(RIG_DEBUG_TRACE, "%s: vfo=%s, current_vfo=%s\n", __func__, rig_strvfo(vfo), rig_strvfo(rig->state.current_vfo)); - if (vfo == RIG_VFO_CURR) { vfo = rig->state.current_vfo; } + if (vfo == RIG_VFO_CURR) + { + // if CURR then update this before we figure out the real VFO + rig->state.cache.freqCurr = freq; + elapsed_ms(&rig->state.cache.time_freqCurr, HAMLIB_ELAPSED_SET); + vfo = rig->state.current_vfo; + } rig_debug(RIG_DEBUG_TRACE, "%s: set vfo=%s to freq=%.0f\n", __func__, rig_strvfo(vfo), freq); commit 9251dfa909f5a8e9fec7828bd5549ef47dc739a7 Author: Michael Black W9MDB <mdb...@ya...> Date: Wed Feb 10 12:35:50 2021 -0600 FIx rigctl/rigctl parsing of extended commands and arg prompting https://github.com/Hamlib/Hamlib/issues/530 diff --git a/tests/rigctl_parse.c b/tests/rigctl_parse.c index aa31f355..edf2db35 100644 --- a/tests/rigctl_parse.c +++ b/tests/rigctl_parse.c @@ -729,6 +729,10 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc, return -1; } +#if 1 + fscanf(fin, "%s", ++pcmd); + while(*++pcmd); +#else while (c_len-- && (isalnum(*pcmd) || *pcmd == '_')) { if (scanfc(fin, "%c", ++pcmd) < 1) @@ -737,6 +741,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc, return -1; } } +#endif *pcmd = '\0'; cmd = parse_arg((char *)cmd_name); commit 5b59868191740ba9f4b0057d2d5597a3d2442f9c Author: Michael Black W9MDB <mdb...@ya...> Date: Tue Feb 9 15:41:33 2021 -0600 Add resetting of all VFO caches via set_cache_freq using RIG_VFO_ALL https://github.com/Hamlib/Hamlib/issues/539 diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h index 96ded4ba..d3fcfd84 100644 --- a/include/hamlib/rig.h +++ b/include/hamlib/rig.h @@ -442,6 +442,10 @@ typedef unsigned int vfo_t; /** \brief \c Flag to set if VFO can transmit */ #define RIG_VFO_TX_FLAG RIG_VFO_N(30) + +/** \brief \c Flag to set all VFOS */ +#define RIG_VFO_ALL RIG_VFO_N(31) + // we and also use RIG_VFO_N(31) if needed // Misc VFO Macros diff --git a/src/rig.c b/src/rig.c index 8f8aff38..adba32ac 100644 --- a/src/rig.c +++ b/src/rig.c @@ -1377,6 +1377,14 @@ static int set_cache_freq(RIG *rig, vfo_t vfo, freq_t freq) switch (vfo) { + case RIG_VFO_ALL: // we'll use NONE to reset all VFO caches + elapsed_ms(&rig->state.cache.time_freqCurr, HAMLIB_ELAPSED_INVALIDATE); + elapsed_ms(&rig->state.cache.time_freqMainA, HAMLIB_ELAPSED_INVALIDATE); + elapsed_ms(&rig->state.cache.time_freqMainB, HAMLIB_ELAPSED_INVALIDATE); + elapsed_ms(&rig->state.cache.time_freqSubA, HAMLIB_ELAPSED_INVALIDATE); + elapsed_ms(&rig->state.cache.time_freqSubB, HAMLIB_ELAPSED_INVALIDATE); + elapsed_ms(&rig->state.cache.time_freqMem, HAMLIB_ELAPSED_INVALIDATE); + break; case RIG_VFO_CURR: rig->state.cache.freqCurr = freq; elapsed_ms(&rig->state.cache.time_freqCurr, HAMLIB_ELAPSED_SET); @@ -1622,6 +1630,7 @@ int HAMLIB_API rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq) ) { elapsed_ms(&rig->state.cache.time_freq, HAMLIB_ELAPSED_INVALIDATE); + set_cache_freq(rig, RIG_VFO_ALL, (freq_t)0); retcode = rig_get_freq(rig, vfo, &freq_new); if (retcode != RIG_OK) { RETURNFUNC(retcode); } ----------------------------------------------------------------------- Summary of changes: include/hamlib/rig.h | 4 ++++ src/rig.c | 17 ++++++++++++++++- tests/rigctl_parse.c | 5 +++++ 3 files changed, 25 insertions(+), 1 deletion(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |