From f0a82fa2bf39225d03dea0bef9f05144cd55ac6a Mon Sep 17 00:00:00 2001 From: Michael Black W9MDB Date: Mon, 22 Mar 2021 07:54:46 -0500 Subject: [PATCH] Fix icom.c vfo detection https://github.com/Hamlib/Hamlib/issues/624 --- include/hamlib/rig.h | 2 +- rigs/icom/icom.c | 4 ++-- rigs/icom/icom.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h index 5e01ee62e..8c878da12 100644 --- a/include/hamlib/rig.h +++ b/include/hamlib/rig.h @@ -515,7 +515,7 @@ typedef unsigned int vfo_t; #define VFO_HAS_MAIN_SUB_A_B_ONLY (VFO_HAS_A_B & VFO_HAS_MAIN_SUB) #define VFO_HAS_A_B_ONLY (VFO_HAS_A_B & (!VFO_HAS_MAIN_SUB)) #define VFO_DUAL (RIG_VFO_MAIN_A|RIG_VFO_MAIN_B|RIG_VFO_SUB_A|RIG_VFO_SUB_B) -#define VFO_HAS_DUAL ((rig->state.vfo_list & VFO_DUAL == VFO_DUAL) +#define VFO_HAS_DUAL ((rig->state.vfo_list & VFO_DUAL) == VFO_DUAL) //! @endcond /** diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c index f3686cbea..029a86ca6 100644 --- a/rigs/icom/icom.c +++ b/rigs/icom/icom.c @@ -2098,12 +2098,12 @@ int icom_set_vfo(RIG *rig, vfo_t vfo) else if (VFO_HAS_MAIN_SUB_A_B_ONLY && rig->state.cache.satmode) { vfo = RIG_VFO_SUB; } } - else if ((vfo == RIG_VFO_A || vfo == RIG_VFO_MAIN) && VFO_HAS_MAIN_SUB_A_B_ONLY) + else if ((vfo == RIG_VFO_A || vfo == RIG_VFO_MAIN) && VFO_HAS_DUAL) { // If we're being asked for A/Main but we are a MainA/MainB rig change it vfo = RIG_VFO_MAIN_A; } - else if ((vfo == RIG_VFO_B || vfo == RIG_VFO_SUB) && VFO_HAS_MAIN_SUB_A_B_ONLY) + else if ((vfo == RIG_VFO_B || vfo == RIG_VFO_SUB) && VFO_HAS_DUAL) { // If we're being asked for B/Sub but we are a MainA/MainB rig change it vfo = RIG_VFO_MAIN_B; diff --git a/rigs/icom/icom.h b/rigs/icom/icom.h index 6a0008482..dc1cc3940 100644 --- a/rigs/icom/icom.h +++ b/rigs/icom/icom.h @@ -30,7 +30,7 @@ #include #endif -#define BACKEND_VER "20210320" +#define BACKEND_VER "20210322" /* * defines used by comp_cal_str in rig.c