diff --git a/icom/icom.c b/icom/icom.c index fb5330d4d..9bab129fe 100644 --- a/icom/icom.c +++ b/icom/icom.c @@ -616,8 +616,8 @@ int icom_set_freq(RIG *rig, vfo_t vfo, freq_t freq) unsigned char freqbuf[MAXFRAMELEN], ackbuf[MAXFRAMELEN]; int freq_len, ack_len = sizeof(ackbuf), retval; - rig_debug(RIG_DEBUG_VERBOSE, "%s called %s=%"PRIll"\n", __func__, - rig_strvfo(vfo), (int64_t)freq); + rig_debug(RIG_DEBUG_VERBOSE, "%s called %s=%"PRIfreq"\n", __func__, + rig_strvfo(vfo), freq); rs = &rig->state; priv = (struct icom_priv_data *)rs->priv; @@ -2809,8 +2809,15 @@ int icom_get_rptr_offs(RIG *rig, vfo_t vfo, shortfreq_t *rptr_offs) */ int icom_get_split_vfos(const RIG *rig, vfo_t *rx_vfo, vfo_t *tx_vfo) { + struct icom_priv_data *priv; + struct rig_state *rs; + rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__); + rs = (struct rig_state *)&rig->state; + priv = (struct icom_priv_data *)rs->priv; + + if (VFO_HAS_A_B_ONLY) { *rx_vfo = RIG_VFO_A; @@ -2827,8 +2834,8 @@ int icom_get_split_vfos(const RIG *rig, vfo_t *rx_vfo, vfo_t *tx_vfo) // TBD -- newer rigs we need to find active VFO // priv->curvfo if VFOA then A/B response else priv->curvfo=Main Main/Sub response // For now we return Main/Sub - *rx_vfo = RIG_VFO_MAIN; - *tx_vfo = RIG_VFO_SUB; + *rx_vfo = priv->rx_vfo; + *tx_vfo = priv->tx_vfo; } else { @@ -3297,10 +3304,11 @@ int icom_set_split_vfo(RIG *rig, vfo_t vfo, split_t split, vfo_t tx_vfo) case RIG_SPLIT_ON: split_sc = S_SPLT_ON; + // Need to allow for SATMODE split in here if (!priv->split_on) // only need to do this if split is not on already { /* ensure VFO A is Rx and VFO B is Tx as we assume that elsewhere */ - if (VFO_HAS_A_B_ONLY) + if (VFO_HAS_A_B) { if (RIG_OK != (rc = icom_set_vfo(rig, RIG_VFO_A))) { return rc; } } @@ -3323,6 +3331,8 @@ int icom_set_split_vfo(RIG *rig, vfo_t vfo, split_t split, vfo_t tx_vfo) return -RIG_ERJCTED; } + priv->rx_vfo = vfo; + priv->tx_vfo = tx_vfo; priv->split_on = RIG_SPLIT_ON == split; return RIG_OK; } diff --git a/icom/icom.h b/icom/icom.h index 2911c832d..e5ad21181 100644 --- a/icom/icom.h +++ b/icom/icom.h @@ -30,7 +30,7 @@ #include #endif -#define BACKEND_VER "0.14" +#define BACKEND_VER "0.17" /* * defines used by comp_cal_str in rig.c