From 4ac7d024e8add9cdcb4d73cf569eea95f3307799 Mon Sep 17 00:00:00 2001 From: Mike Black W9MDB Date: Tue, 19 Apr 2022 17:42:29 -0500 Subject: [PATCH] Make FT-817/FT-818 return cached VFOB freq when split and transmitting https://github.com/Hamlib/Hamlib/issues/1012 --- rigs/yaesu/ft817.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/rigs/yaesu/ft817.c b/rigs/yaesu/ft817.c index e190d5a77..4bd37ce31 100644 --- a/rigs/yaesu/ft817.c +++ b/rigs/yaesu/ft817.c @@ -295,7 +295,7 @@ const struct rig_caps ft817_caps = RIG_MODEL(RIG_MODEL_FT817), .model_name = "FT-817", .mfg_name = "Yaesu", - .version = "20220407.0", + .version = "20220419.0", .copyright = "LGPL", .status = RIG_STATUS_STABLE, .rig_type = RIG_TYPE_TRANSCEIVER, @@ -442,7 +442,7 @@ const struct rig_caps ft818_caps = RIG_MODEL(RIG_MODEL_FT818), .model_name = "FT-818", .mfg_name = "Yaesu", - .version = "20200710.0", + .version = "20220419.0", .copyright = "LGPL", .status = RIG_STATUS_STABLE, .rig_type = RIG_TYPE_TRANSCEIVER, @@ -821,7 +821,14 @@ static int ft817_get_freq(RIG *rig, vfo_t vfo, freq_t *freq) int retries = rig->state.rigport.retry + 1; // +1 because, because 2 steps are needed even in best scenario - rig_debug(RIG_DEBUG_VERBOSE, "%s: called\n", __func__); + rig_debug(RIG_DEBUG_VERBOSE, "%s: called, vfo=%s, ptt=%d, split=%d\n", __func__, rig_strvfo(vfo), rig->state.cache.ptt, rig->state.cache.split); + + // we can't query VFOB while in transmit and split mode + if (rig->state.cache.ptt && vfo==RIG_VFO_B && rig->state.cache.split) + { + *freq = rig->state.cache.freqMainB; + return RIG_OK; + } while ((f1 == 0 || f1 != f2) && retries-- > 0) {