From cdd77ae71e2a796c3ddf6981fd1526fe5783d37d Mon Sep 17 00:00:00 2001 From: Jonathan Bastien-Filiatrault Date: Tue, 9 Jul 2019 21:50:15 -0400 Subject: [PATCH] Allow setting split mode without smashing the VFOB frequency. --- yaesu/ft891.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/yaesu/ft891.c b/yaesu/ft891.c index 21c17b717..a47f869e4 100644 --- a/yaesu/ft891.c +++ b/yaesu/ft891.c @@ -408,6 +408,7 @@ int ft891_set_split_mode(RIG *rig, vfo_t vfo, rmode_t tx_mode, pbwidth_t tx_widt { struct newcat_priv_data *priv; struct rig_state *state; + freq_t b_freq; int err; rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__); @@ -422,6 +423,11 @@ int ft891_set_split_mode(RIG *rig, vfo_t vfo, rmode_t tx_mode, pbwidth_t tx_widt priv = (struct newcat_priv_data *)rig->state.priv; + // Remember VFOB frequency + if (RIG_OK != (err = newcat_get_freq(rig,RIG_VFO_B,&b_freq))) { + return err; + } + // Change mode on VFOA and make VFOB match VFOA if (RIG_OK != (err = newcat_set_mode(rig,RIG_VFO_A,tx_mode,tx_width))) { return err; @@ -434,6 +440,11 @@ int ft891_set_split_mode(RIG *rig, vfo_t vfo, rmode_t tx_mode, pbwidth_t tx_widt return err; } + // Restore VFOB frequency + if (RIG_OK != (err = newcat_set_freq(rig,RIG_VFO_B,b_freq))) { + return err; + } + #if 0 if (RIG_OK != (err = newcat_get_cmd (rig))) return err;