[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
|