Configure option for older version of Hamlib caching

This commit is contained in:
Bill Somerville 2020-09-28 13:51:14 +01:00
parent aae93e0d82
commit fff5644858
No known key found for this signature in database
GPG Key ID: D864B06D1E81618F
3 changed files with 8 additions and 2 deletions

View File

@ -907,6 +907,7 @@ message (STATUS "hamlib_LIBRARY_DIRS: ${hamlib_LIBRARY_DIRS}")
set (CMAKE_REQUIRED_INCLUDES "${hamlib_INCLUDE_DIRS}")
set (CMAKE_REQUIRED_LIBRARIES "${hamlib_LIBRARIES}")
check_symbol_exists (CACHE_ALL "hamlib/rig.h" HAVE_HAMLIB_OLD_CACHING)
check_symbol_exists (rig_set_cache_timeout_ms "hamlib/rig.h" HAVE_HAMLIB_CACHING)

View File

@ -14,6 +14,10 @@
#include "moc_HamlibTransceiver.cpp"
#if HAVE_HAMLIB_OLD_CACHING
#define HAMLIB_CACHE_ALL CACHE_ALL
#endif
namespace
{
// Unfortunately bandwidth is conflated with mode, this is probably
@ -606,7 +610,7 @@ int HamlibTransceiver::do_start ()
}
}
#if HAVE_HAMLIB_CACHING
#if HAVE_HAMLIB_CACHING || HAVE_HAMLIB_OLD_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);
@ -653,7 +657,7 @@ int HamlibTransceiver::do_start ()
resolution = -1; // best guess
}
#if HAVE_HAMLIB_CACHING
#if HAVE_HAMLIB_CACHING || HAVE_HAMLIB_OLD_CACHING
// revert Hamlib cache timeout
rig_set_cache_timeout_ms (rig_.data (), HAMLIB_CACHE_ALL, orig_cache_timeout);
#endif

View File

@ -19,6 +19,7 @@ extern "C" {
#cmakedefine PROJECT_SAMPLES_URL "@PROJECT_SAMPLES_URL@"
#cmakedefine PROJECT_SUMMARY_DESCRIPTION "@PROJECT_SUMMARY_DESCRIPTION@"
#cmakedefine01 HAVE_HAMLIB_OLD_CACHING
#cmakedefine01 HAVE_HAMLIB_CACHING
#cmakedefine01 WSJT_SHARED_RUNTIME