Disable Hamlib caching while determining rig VFO resolution

This commit is contained in:
Bill Somerville
2020-07-04 22:19:59 +01:00
parent f6a7d8c4bd
commit 74c7fade32
3 changed files with 20 additions and 0 deletions
+12
View File
@@ -606,6 +606,13 @@ int HamlibTransceiver::do_start ()
}
}
#if HAVE_HAMLIB_CACHING
// we must disable Hamlib caching because it lies about frequency
// for less than 1 Hz resolution rigs
auto orig_cache_timeout = rig_get_cache_timeout_ms (rig_.data (), HAMLIB_CACHE_ALL);
rig_set_cache_timeout_ms (rig_.data (), CACHE_ALL, 0);
#endif
int resolution {0};
if (freq_query_works_)
{
@@ -646,6 +653,11 @@ int HamlibTransceiver::do_start ()
resolution = -1; // best guess
}
#if HAVE_HAMLIB_CACHING
// revert Hamlib cache timeout
rig_set_cache_timeout_ms (rig_.data (), HAMLIB_CACHE_ALL, orig_cache_timeout);
#endif
do_poll ();
TRACE_CAT ("HamlibTransceiver", "exit" << state () << "reversed =" << reversed_ << "resolution = " << resolution);