Add caching of MEM and MAINC vfos

pull/532/head
Michael Black W9MDB 2021-02-07 15:03:43 -06:00
rodzic e0e743ee90
commit b05a1638a8
2 zmienionych plików z 15 dodań i 7 usunięć

Wyświetl plik

@ -2080,6 +2080,7 @@ struct rig_cache {
freq_t freqMainC; // VFO_C, VFO_MAINC
freq_t freqSubA; // VFO_SUBA -- only for rigs with dual Sub VFOs
freq_t freqSubB; // VFO_SUBB -- only for rigs with dual Sub VFOs
freq_t freqMem; // VFO_MEM -- last MEM channel
#if 0 // future
freq_t freqSubC; // VFO_SUBC -- only for rigs with 3 Sub VFOs
#endif
@ -2095,6 +2096,7 @@ struct rig_cache {
struct timespec time_freqMainC;
struct timespec time_freqSubA;
struct timespec time_freqSubB;
struct timespec time_freqMem;
struct timespec time_vfo;
struct timespec time_mode;
struct timespec time_ptt;

Wyświetl plik

@ -1394,13 +1394,10 @@ static int set_cache_freq(RIG *rig, vfo_t vfo, freq_t freq)
elapsed_ms(&rig->state.cache.time_freqMainB, HAMLIB_ELAPSED_SET);
break;
#if 0
case RIG_VFO_C: // is there a MainC/SubC we need to cover?
rig->state.cache.freqMainC = freq;
elapsed_ms(&rig->state.cache.time_freqMainC, HAMLIB_ELAPSED_SET);
break;
#endif
case RIG_VFO_SUB_A:
rig->state.cache.freqSubA = freq;
@ -1412,6 +1409,11 @@ static int set_cache_freq(RIG *rig, vfo_t vfo, freq_t freq)
elapsed_ms(&rig->state.cache.time_freqSubB, HAMLIB_ELAPSED_SET);
break;
case RIG_VFO_MEM:
rig->state.cache.freqMem = freq;
elapsed_ms(&rig->state.cache.time_freqMem, HAMLIB_ELAPSED_SET);
break;
default:
rig_debug(RIG_DEBUG_ERR, "%s: unknown vfo?, vfo=%s\n", __func__,
rig_strvfo(vfo));
@ -1460,20 +1462,24 @@ static int get_cache_freq(RIG *rig, vfo_t vfo, freq_t *freq, int *cache_ms)
*cache_ms = elapsed_ms(&rig->state.cache.time_freqSubB, HAMLIB_ELAPSED_GET);
break;
#if 0 // future
case RIG_VFO_C:
case RIG_VFO_MAINC:
//case RIG_VFO_MAINC: // not used by any rig yet
*freq = rig->state.cache.freqMainC;
*cache_ms = rig->state.cache.time_freqMainC;
*cache_ms = elapsed_ms(&rig->state.cache.time_freqMainC, HAMLIB_ELAPSED_GET);
break;
#if 0 // no known rigs use this yet
case RIG_VFO_SUBC:
*freq = rig->state.cache.freqSubC;
*cache_ms = rig->state.cache.time_freqSubC;
break;
#endif
case RIG_VFO_MEM:
*freq = rig->state.cache.freqMem;
*cache_ms = elapsed_ms(&rig->state.cache.time_freqMem, HAMLIB_ELAPSED_GET);
break;
default:
rig_debug(RIG_DEBUG_ERR, "%s: unknown vfo?, vfo=%s\n", __func__,
rig_strvfo(vfo));