diff --git a/rigs/yaesu/newcat.c b/rigs/yaesu/newcat.c index 6c9d1d87a..59ba109c6 100644 --- a/rigs/yaesu/newcat.c +++ b/rigs/yaesu/newcat.c @@ -7917,14 +7917,17 @@ int newcat_set_tx_vfo(RIG *rig, vfo_t tx_vfo) if (rig->state.current_vfo == RIG_VFO_B || rig->state.current_vfo == RIG_VFO_SUB) { p1++; } } -#if 0 // this doesn't seem to work on FTDX101MP latest firmware as of 20230911 - if ((is_ftdx101d || is_ftdx101mp) && p1 == '1') + // this doesn't seem to work on FTDX101MP latest firmware as of 20230911 so we test once and disable if needed + if ((is_ftdx101d || is_ftdx101mp) && p1 == '1' && !priv->ftdx101_st_missing) { // what other Yaesu rigs should be using this? // The DX101D returns FT0 when in split and not transmitting command = "ST"; + SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "%s%c%c", command, p1, cat_term); + int retval = newcat_set_cmd(rig); + if (retval != RIG_OK) {priv->ftdx101_st_missing = 1;retval=RIG_OK;} + RETURNFUNC(retval); } -#endif SNPRINTF(priv->cmd_str, sizeof(priv->cmd_str), "%s%c%c", command, p1, cat_term); diff --git a/rigs/yaesu/newcat.h b/rigs/yaesu/newcat.h index 10d7f8a22..7e29d894b 100644 --- a/rigs/yaesu/newcat.h +++ b/rigs/yaesu/newcat.h @@ -129,6 +129,7 @@ struct newcat_priv_data int poweron; /* to prevent powering on more than once */ int question_mark_response_means_rejected; /* the question mark response has multiple meanings */ char front_rear_status; /* e.g. FTDX5000 EX103 status */ + int ftdx101_st_missing; /* is ST command gone? assume not until proven otherwise */ }; /*