kopia lustrzana https://github.com/Hamlib/Hamlib
Add resetting of all VFO caches via set_cache_freq using RIG_VFO_ALL
https://github.com/Hamlib/Hamlib/issues/539pull/544/head
rodzic
cfaa761c83
commit
5b59868191
|
@ -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
|
||||
|
|
|
@ -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); }
|
||||
|
|
Ładowanie…
Reference in New Issue