[Hamlib-commits] Hamlib -- Ham radio control libraries branch master updated. 8817f121809998ac25700
Library to control radio transceivers and receivers
Brought to you by:
n0nb
From: Michael B. <mdb...@us...> - 2021-03-16 03:57:03
|
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 8817f121809998ac25700a6eff868e119fd0f892 (commit) from 3bc39aaec1f09bd461b82a70c4503127f4d1ebca (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 8817f121809998ac25700a6eff868e119fd0f892 Author: Michael Black W9MDB <mdb...@ya...> Date: Mon Mar 15 22:55:45 2021 -0500 Fix rig_set_freq and set_cache_freq so if freq=0 cache is expired https://github.com/Hamlib/Hamlib/issues/610 diff --git a/src/rig.c b/src/rig.c index af5f686a..ca519ae7 100644 --- a/src/rig.c +++ b/src/rig.c @@ -1392,6 +1392,8 @@ static int set_cache_mode(RIG *rig, vfo_t vfo, mode_t mode, pbwidth_t width) static int set_cache_freq(RIG *rig, vfo_t vfo, freq_t freq) { + int flag = HAMLIB_ELAPSED_SET; + ENTERFUNC; rig_debug(RIG_DEBUG_TRACE, "%s: vfo=%s, current_vfo=%s\n", __func__, rig_strvfo(vfo), rig_strvfo(rig->state.current_vfo)); @@ -1402,6 +1404,9 @@ static int set_cache_freq(RIG *rig, vfo_t vfo, freq_t freq) vfo = rig->state.current_vfo; } + // if freq == 0 then we are asking to invalidate the cache + if (freq == 0) flag = HAMLIB_ELAPSED_INVALIDATE; + // pick a sane default if (vfo == RIG_VFO_NONE || vfo == RIG_VFO_CURR) { vfo = RIG_VFO_A; } @@ -1433,40 +1438,40 @@ static int set_cache_freq(RIG *rig, vfo_t vfo, freq_t freq) case RIG_VFO_MAIN: case RIG_VFO_MAIN_A: rig->state.cache.freqMainA = freq; - elapsed_ms(&rig->state.cache.time_freqMainA, HAMLIB_ELAPSED_SET); + elapsed_ms(&rig->state.cache.time_freqMainA, flag); break; case RIG_VFO_B: case RIG_VFO_MAIN_B: case RIG_VFO_SUB: rig->state.cache.freqMainB = freq; - elapsed_ms(&rig->state.cache.time_freqMainB, HAMLIB_ELAPSED_SET); + elapsed_ms(&rig->state.cache.time_freqMainB, flag); break; case RIG_VFO_C: case RIG_VFO_MAIN_C: rig->state.cache.freqMainC = freq; - elapsed_ms(&rig->state.cache.time_freqMainC, HAMLIB_ELAPSED_SET); + elapsed_ms(&rig->state.cache.time_freqMainC, flag); break; case RIG_VFO_SUB_A: rig->state.cache.freqSubA = freq; - elapsed_ms(&rig->state.cache.time_freqSubA, HAMLIB_ELAPSED_SET); + elapsed_ms(&rig->state.cache.time_freqSubA, flag); break; case RIG_VFO_SUB_B: rig->state.cache.freqSubB = freq; - elapsed_ms(&rig->state.cache.time_freqSubB, HAMLIB_ELAPSED_SET); + elapsed_ms(&rig->state.cache.time_freqSubB, flag); break; case RIG_VFO_SUB_C: rig->state.cache.freqSubC = freq; - elapsed_ms(&rig->state.cache.time_freqSubC, HAMLIB_ELAPSED_SET); + elapsed_ms(&rig->state.cache.time_freqSubC, flag); break; case RIG_VFO_MEM: rig->state.cache.freqMem = freq; - elapsed_ms(&rig->state.cache.time_freqMem, HAMLIB_ELAPSED_SET); + elapsed_ms(&rig->state.cache.time_freqMem, flag); break; default: ----------------------------------------------------------------------- Summary of changes: src/rig.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) hooks/post-receive -- Hamlib -- Ham radio control libraries |