kopia lustrzana https://github.com/Hamlib/Hamlib
Added CACHE_RESET macro
newcat_set_cmd_validate now queries VFO freq instead of using cachepull/518/head
rodzic
bc607bfc1d
commit
dd0765309e
|
@ -821,38 +821,25 @@ int newcat_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
|
||||||
rig_debug(RIG_DEBUG_TRACE, "%s(%d)%s: rig->state.current_vfo=%s\n", __FILE__,
|
rig_debug(RIG_DEBUG_TRACE, "%s(%d)%s: rig->state.current_vfo=%s\n", __FILE__,
|
||||||
__LINE__, __func__, rig_strvfo(rig->state.current_vfo));
|
__LINE__, __func__, rig_strvfo(rig->state.current_vfo));
|
||||||
|
|
||||||
|
CACHE_RESET;
|
||||||
if (vfo == RIG_VFO_A || vfo == RIG_VFO_MAIN)
|
if (vfo == RIG_VFO_A || vfo == RIG_VFO_MAIN)
|
||||||
{
|
{
|
||||||
|
freq_t freqA;
|
||||||
|
rig_get_freq(rig, RIG_VFO_A, &freqA);
|
||||||
rig_debug(RIG_DEBUG_TRACE, "%s(%d)%s: checking VFOA for band change \n",
|
rig_debug(RIG_DEBUG_TRACE, "%s(%d)%s: checking VFOA for band change \n",
|
||||||
__FILE__, __LINE__, __func__);
|
__FILE__, __LINE__, __func__);
|
||||||
|
|
||||||
if (rig->state.cache.freqMainA == 0)
|
changing = newcat_band_index(freq) != newcat_band_index(freqA);
|
||||||
{
|
|
||||||
freq_t freqtmp;
|
|
||||||
err = rig_get_freq(rig, RIG_VFO_CURR, &freqtmp);
|
|
||||||
|
|
||||||
if (err != RIG_OK) { RETURNFUNC(err); }
|
|
||||||
}
|
|
||||||
|
|
||||||
changing = newcat_band_index(freq) != newcat_band_index(
|
|
||||||
rig->state.cache.freqMainA);
|
|
||||||
rig_debug(RIG_DEBUG_TRACE, "%s: VFO_A band changing=%d\n", __func__, changing);
|
rig_debug(RIG_DEBUG_TRACE, "%s: VFO_A band changing=%d\n", __func__, changing);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
freq_t freqB;
|
||||||
|
rig_get_freq(rig, RIG_VFO_A, &freqB);
|
||||||
rig_debug(RIG_DEBUG_TRACE, "%s(%d)%s: checking VFOB for band change \n",
|
rig_debug(RIG_DEBUG_TRACE, "%s(%d)%s: checking VFOB for band change \n",
|
||||||
__FILE__, __LINE__, __func__);
|
__FILE__, __LINE__, __func__);
|
||||||
|
|
||||||
if (rig->state.cache.freqMainB == 0)
|
changing = newcat_band_index(freq) != newcat_band_index(freqB);
|
||||||
{
|
|
||||||
freq_t freqtmp;
|
|
||||||
err = rig_get_freq(rig, RIG_VFO_CURR, &freqtmp);
|
|
||||||
|
|
||||||
if (err != RIG_OK) { RETURNFUNC(err); }
|
|
||||||
}
|
|
||||||
|
|
||||||
changing = newcat_band_index(freq) != newcat_band_index(
|
|
||||||
rig->state.cache.freqMainB);
|
|
||||||
rig_debug(RIG_DEBUG_TRACE, "%s: VFO_B band changing=%d\n", __func__, changing);
|
rig_debug(RIG_DEBUG_TRACE, "%s: VFO_B band changing=%d\n", __func__, changing);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -975,6 +962,7 @@ int newcat_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
|
||||||
pbwidth_t tmp_width;
|
pbwidth_t tmp_width;
|
||||||
|
|
||||||
// we need to update some info that BS may have caused
|
// we need to update some info that BS may have caused
|
||||||
|
CACHE_RESET;
|
||||||
if (vfo == RIG_VFO_A || vfo == RIG_VFO_MAIN)
|
if (vfo == RIG_VFO_A || vfo == RIG_VFO_MAIN)
|
||||||
{
|
{
|
||||||
rig_get_freq(rig, RIG_VFO_SUB, &tmp_freqA);
|
rig_get_freq(rig, RIG_VFO_SUB, &tmp_freqA);
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
typedef char ncboolean;
|
typedef char ncboolean;
|
||||||
|
|
||||||
/* shared function version */
|
/* shared function version */
|
||||||
#define NEWCAT_VER "20210118"
|
#define NEWCAT_VER "20210119"
|
||||||
|
|
||||||
/* Hopefully large enough for future use, 128 chars plus '\0' */
|
/* Hopefully large enough for future use, 128 chars plus '\0' */
|
||||||
#define NEWCAT_DATA_LEN 129
|
#define NEWCAT_DATA_LEN 129
|
||||||
|
|
14
src/misc.h
14
src/misc.h
|
@ -143,6 +143,20 @@ void errmsg(int err, char *s, const char *func, const char *file, int line);
|
||||||
#define ENTERFUNC rig_debug(RIG_DEBUG_VERBOSE, "%s(%d):%s entered\n", __FILE__, __LINE__, __func__)
|
#define ENTERFUNC rig_debug(RIG_DEBUG_VERBOSE, "%s(%d):%s entered\n", __FILE__, __LINE__, __func__)
|
||||||
#define RETURNFUNC(rc) {rig_debug(RIG_DEBUG_VERBOSE, "%s(%d):%s return\n", __FILE__, __LINE__, __func__);return rc;}
|
#define RETURNFUNC(rc) {rig_debug(RIG_DEBUG_VERBOSE, "%s(%d):%s return\n", __FILE__, __LINE__, __func__);return rc;}
|
||||||
|
|
||||||
|
#define CACHE_RESET {\
|
||||||
|
elapsed_ms(&rig->state.cache.time_freq, HAMLIB_ELAPSED_INVALIDATE);\
|
||||||
|
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_freqMainC, 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_vfo, HAMLIB_ELAPSED_INVALIDATE);\
|
||||||
|
elapsed_ms(&rig->state.cache.time_mode, HAMLIB_ELAPSED_INVALIDATE);\
|
||||||
|
elapsed_ms(&rig->state.cache.time_ptt, HAMLIB_ELAPSED_INVALIDATE);\
|
||||||
|
elapsed_ms(&rig->state.cache.time_split, HAMLIB_ELAPSED_INVALIDATE);\
|
||||||
|
}
|
||||||
|
|
||||||
__END_DECLS
|
__END_DECLS
|
||||||
|
|
||||||
#endif /* _MISC_H */
|
#endif /* _MISC_H */
|
||||||
|
|
Ładowanie…
Reference in New Issue