From 92c6d98e8ee1f0b236898fb65d75307d9df2ac06 Mon Sep 17 00:00:00 2001 From: Michael Black W9MDB Date: Sat, 2 Jan 2021 15:22:01 -0600 Subject: [PATCH] Fix set_freq to not call get_freq if get_freq is not available Correct cache setting for set_freq https://github.com/Hamlib/Hamlib/issues/485 --- src/rig.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/rig.c b/src/rig.c index 8aff645ea..5c9b64a56 100644 --- a/src/rig.c +++ b/src/rig.c @@ -1481,7 +1481,7 @@ int HAMLIB_API rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq) } } - if (retcode == RIG_OK) + if (retcode == RIG_OK && caps->get_freq != NULL) { freq_t freq_new = freq; @@ -1510,15 +1510,15 @@ int HAMLIB_API rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq) freq_new); } - // update our current freq too - if (vfo == RIG_VFO_CURR || vfo == rig->state.current_vfo) { rig->state.current_freq = freq_new; } - - elapsed_ms(&rig->state.cache.time_ptt, HAMLIB_ELAPSED_SET); - rig->state.cache.freq = freq_new; - //future 4.1 caching - set_cache_freq(rig, vfo, freq_new); - rig->state.cache.vfo_freq = vfo; } + // update our current freq too + if (vfo == RIG_VFO_CURR || vfo == rig->state.current_vfo) { rig->state.current_freq = freq_new; } + + elapsed_ms(&(rig->state.cache.time_freq), HAMLIB_ELAPSED_SET); + rig->state.cache.freq = freq_new; + //future 4.1 caching + set_cache_freq(rig, vfo, freq_new); + rig->state.cache.vfo_freq = vfo; return retcode; }