From eff0c7b6362bf13de8e65a31fd92c6cf95dbbe42 Mon Sep 17 00:00:00 2001 From: Mike Black W9MDB Date: Sat, 20 Jan 2024 10:15:18 -0600 Subject: [PATCH 1/3] Add SY command validation remove FT991 from vfo adjustment --- rigs/yaesu/newcat.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rigs/yaesu/newcat.c b/rigs/yaesu/newcat.c index b579e1abb..494ad68e0 100644 --- a/rigs/yaesu/newcat.c +++ b/rigs/yaesu/newcat.c @@ -8218,7 +8218,6 @@ int newcat_set_tx_vfo(RIG *rig, vfo_t tx_vfo) newcat_is_rig(rig, RIG_MODEL_FT2000) || newcat_is_rig(rig, RIG_MODEL_FTDX5000) || newcat_is_rig(rig, RIG_MODEL_FTDX1200) || - newcat_is_rig(rig, RIG_MODEL_FT991) || newcat_is_rig(rig, RIG_MODEL_FTDX10) || newcat_is_rig(rig, RIG_MODEL_FTDX3000)) { @@ -11293,6 +11292,10 @@ int newcat_set_cmd_validate(RIG *rig) { strcpy(valcmd, ""); } + else if (strncmp(priv->cmd_str, "SY", 2) == 0) + { + strcpy(valcmd, "SY;"); + } else { rig_debug(RIG_DEBUG_TRACE, "%s: %s not implemented\n", __func__, priv->cmd_str); From 77aa5ddb551f66f064c5f8a6031fc73622ce8ed1 Mon Sep 17 00:00:00 2001 From: Mike Black W9MDB Date: Sat, 20 Jan 2024 22:29:41 -0600 Subject: [PATCH 2/3] Revert FT991 change --- rigs/yaesu/newcat.c | 1 + 1 file changed, 1 insertion(+) diff --git a/rigs/yaesu/newcat.c b/rigs/yaesu/newcat.c index 494ad68e0..7551436d2 100644 --- a/rigs/yaesu/newcat.c +++ b/rigs/yaesu/newcat.c @@ -8219,6 +8219,7 @@ int newcat_set_tx_vfo(RIG *rig, vfo_t tx_vfo) newcat_is_rig(rig, RIG_MODEL_FTDX5000) || newcat_is_rig(rig, RIG_MODEL_FTDX1200) || newcat_is_rig(rig, RIG_MODEL_FTDX10) || + newcat_is_rig(rig, RIG_MODEL_FT991) || newcat_is_rig(rig, RIG_MODEL_FTDX3000)) { p1 = p1 + 2; /* use non-Toggle commands */ From 7d0c737e961cbb0103960a8c376c756952e18020 Mon Sep 17 00:00:00 2001 From: Mike Black W9MDB Date: Sun, 21 Jan 2024 11:39:07 -0600 Subject: [PATCH 3/3] Fix Icom startup with poweron https://github.com/Hamlib/Hamlib/issues/1480 --- src/rig.c | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/src/rig.c b/src/rig.c index 997d4569e..70f3f8a7f 100644 --- a/src/rig.c +++ b/src/rig.c @@ -1554,8 +1554,10 @@ int HAMLIB_API rig_open(RIG *rig) #if defined(HAVE_PTHREAD) enum multicast_item_e items = RIG_MULTICAST_POLL | RIG_MULTICAST_TRANSCEIVE | RIG_MULTICAST_SPECTRUM; +#if 1 retval = network_multicast_publisher_start(rig, rs->multicast_data_addr, rs->multicast_data_port, items); +#endif if (retval != RIG_OK) { @@ -3329,7 +3331,8 @@ int HAMLIB_API rig_get_vfo(RIG *rig, vfo_t *vfo) caps = rig->caps; - if (caps->get_vfo == NULL && RIG_ICOM != RIG_BACKEND_NUM(rig->caps->rig_model)) +// if (caps->get_vfo == NULL && RIG_ICOM != RIG_BACKEND_NUM(rig->caps->rig_model)) + if (caps->get_vfo == NULL) { rig_debug(RIG_DEBUG_WARN, "%s: no get_vfo\n", __func__); ELAPSED2; @@ -3354,17 +3357,21 @@ int HAMLIB_API rig_get_vfo(RIG *rig, vfo_t *vfo) HAMLIB_TRACE; LOCK(1); - retcode = caps->get_vfo(rig, vfo); - if (retcode == RIG_OK) + if (caps->get_vfo) { - rig->state.current_vfo = *vfo; - rig->state.cache.vfo = *vfo; - //cache_ms = elapsed_ms(&rig->state.cache.time_vfo, HAMLIB_ELAPSED_SET); - } - else - { - //cache_ms = elapsed_ms(&rig->state.cache.time_vfo, HAMLIB_ELAPSED_INVALIDATE); + retcode = caps->get_vfo(rig, vfo); + + if (retcode == RIG_OK) + { + rig->state.current_vfo = *vfo; + rig->state.cache.vfo = *vfo; + //cache_ms = elapsed_ms(&rig->state.cache.time_vfo, HAMLIB_ELAPSED_SET); + } + else + { + //cache_ms = elapsed_ms(&rig->state.cache.time_vfo, HAMLIB_ELAPSED_INVALIDATE); + } } if (retcode != RIG_OK) @@ -5217,6 +5224,7 @@ int HAMLIB_API rig_set_split_freq_mode(RIG *rig, caps = rig->caps; #if 0 + // if split is off we'll turn it on if (rig->state.cache.split == 0) { @@ -5229,6 +5237,7 @@ int HAMLIB_API rig_set_split_freq_mode(RIG *rig, rig_set_split_vfo(rig, RIG_VFO_B, 1, RIG_VFO_A); } } + #endif vfo = vfo_fixup(rig, RIG_VFO_TX, rig->state.cache.split); // get the TX VFO