Put enter/leave CAT in FT767GX.c again and reduce write_delay to zero.

Hopefully speeds things up and still works but may need to tweak write_delay
https://github.com/Hamlib/Hamlib/issues/1300
pull/1330/head
Mike Black W9MDB 2023-05-23 10:11:51 -05:00
rodzic 083669dbc8
commit 79492d4284
2 zmienionych plików z 2 dodań i 32 usunięć

Wyświetl plik

@ -259,7 +259,7 @@ const struct rig_caps ft767gx_caps =
RIG_MODEL(RIG_MODEL_FT767), RIG_MODEL(RIG_MODEL_FT767),
.model_name = "FT-767GX", .model_name = "FT-767GX",
.mfg_name = "Yaesu", .mfg_name = "Yaesu",
.version = "20230522.0", .version = "20230523.0",
.copyright = "LGPL", .copyright = "LGPL",
.status = RIG_STATUS_STABLE, .status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER, .rig_type = RIG_TYPE_TRANSCEIVER,
@ -468,7 +468,6 @@ int ft767_open(RIG *rig)
return retval; return retval;
} }
#if 0 // we should be able to leave CAT on and just turn off on close
retval = ft767_leave_CAT(rig); retval = ft767_leave_CAT(rig);
if (retval < 0) if (retval < 0)
@ -477,7 +476,6 @@ int ft767_open(RIG *rig)
memset(priv->update_data, 0, FT767GX_STATUS_UPDATE_DATA_LENGTH); memset(priv->update_data, 0, FT767GX_STATUS_UPDATE_DATA_LENGTH);
return retval; return retval;
} }
#endif
rig->state.vfo_list = RIG_VFO_A | RIG_VFO_B; rig->state.vfo_list = RIG_VFO_A | RIG_VFO_B;
return RIG_OK; return RIG_OK;
@ -514,7 +512,6 @@ int ft767_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
/* fill in first four bytes */ /* fill in first four bytes */
to_bcd(cmd, freq / 10, 8); to_bcd(cmd, freq / 10, 8);
#if 0
retval = ft767_enter_CAT(rig); retval = ft767_enter_CAT(rig);
if (retval < 0) if (retval < 0)
@ -522,7 +519,6 @@ int ft767_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
rig_debug(RIG_DEBUG_ERR, "%s: enter_CAT %d\n", __func__, retval); rig_debug(RIG_DEBUG_ERR, "%s: enter_CAT %d\n", __func__, retval);
return retval; return retval;
} }
#endif
retval = ft767_send_block_and_ack(rig, cmd, YAESU_CMD_LENGTH); retval = ft767_send_block_and_ack(rig, cmd, YAESU_CMD_LENGTH);
@ -533,14 +529,12 @@ int ft767_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
return retval; return retval;
} }
#if 0
retval = ft767_leave_CAT(rig); retval = ft767_leave_CAT(rig);
if (retval < 0) if (retval < 0)
{ {
rig_debug(RIG_DEBUG_ERR, "%s: leave_CAT %d\n", __func__, retval); rig_debug(RIG_DEBUG_ERR, "%s: leave_CAT %d\n", __func__, retval);
} }
#endif
return retval; return retval;
} }
@ -553,7 +547,6 @@ int ft767_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
/* fill in p1 */ /* fill in p1 */
cmd[3] = mode2rig(rig, mode); cmd[3] = mode2rig(rig, mode);
#if 0
retval = ft767_enter_CAT(rig); retval = ft767_enter_CAT(rig);
if (retval < 0) if (retval < 0)
@ -561,7 +554,6 @@ int ft767_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
rig_debug(RIG_DEBUG_ERR, "%s: enter_CAT %d\n", __func__, retval); rig_debug(RIG_DEBUG_ERR, "%s: enter_CAT %d\n", __func__, retval);
return retval; return retval;
} }
#endif
retval = ft767_send_block_and_ack(rig, cmd, YAESU_CMD_LENGTH); retval = ft767_send_block_and_ack(rig, cmd, YAESU_CMD_LENGTH);
@ -572,14 +564,12 @@ int ft767_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
return retval; return retval;
} }
#if 0
retval = ft767_leave_CAT(rig); retval = ft767_leave_CAT(rig);
if (retval < 0) if (retval < 0)
{ {
rig_debug(RIG_DEBUG_ERR, "%s: leave_CAT %d\n", __func__, retval); rig_debug(RIG_DEBUG_ERR, "%s: leave_CAT %d\n", __func__, retval);
} }
#endif
return retval; return retval;
} }
@ -690,7 +680,6 @@ int ft767_set_vfo(RIG *rig, vfo_t vfo)
priv->current_vfo = vfo; priv->current_vfo = vfo;
#if 0
retval = ft767_enter_CAT(rig); retval = ft767_enter_CAT(rig);
if (retval < 0) if (retval < 0)
@ -698,7 +687,6 @@ int ft767_set_vfo(RIG *rig, vfo_t vfo)
rig_debug(RIG_DEBUG_ERR, "%s: enter_CAT %d\n", __func__, retval); rig_debug(RIG_DEBUG_ERR, "%s: enter_CAT %d\n", __func__, retval);
return retval; return retval;
} }
#endif
retval = ft767_send_block_and_ack(rig, cmd, YAESU_CMD_LENGTH); retval = ft767_send_block_and_ack(rig, cmd, YAESU_CMD_LENGTH);
@ -709,14 +697,12 @@ int ft767_set_vfo(RIG *rig, vfo_t vfo)
return retval; return retval;
} }
#if 0
retval = ft767_leave_CAT(rig); retval = ft767_leave_CAT(rig);
if (retval < 0) if (retval < 0)
{ {
rig_debug(RIG_DEBUG_ERR, "%s: leave_CAT %d\n", __func__, retval); rig_debug(RIG_DEBUG_ERR, "%s: leave_CAT %d\n", __func__, retval);
} }
#endif
return retval; return retval;
} }
@ -781,7 +767,6 @@ int ft767_set_ctcss_tone(RIG *rig, vfo_t vfo, tone_t tone)
/* cmd[3] = tone2rig(rig, tone); */ /* cmd[3] = tone2rig(rig, tone); */
#if 0
retval = ft767_enter_CAT(rig); retval = ft767_enter_CAT(rig);
if (retval < 0) if (retval < 0)
@ -789,7 +774,6 @@ int ft767_set_ctcss_tone(RIG *rig, vfo_t vfo, tone_t tone)
rig_debug(RIG_DEBUG_ERR, "%s: enter_CAT %d\n", __func__, retval); rig_debug(RIG_DEBUG_ERR, "%s: enter_CAT %d\n", __func__, retval);
return retval; return retval;
} }
#endif
retval = ft767_send_block_and_ack(rig, cmd, YAESU_CMD_LENGTH); retval = ft767_send_block_and_ack(rig, cmd, YAESU_CMD_LENGTH);
@ -800,14 +784,12 @@ int ft767_set_ctcss_tone(RIG *rig, vfo_t vfo, tone_t tone)
return retval; return retval;
} }
#if 0
retval = ft767_leave_CAT(rig); retval = ft767_leave_CAT(rig);
if (retval < 0) if (retval < 0)
{ {
rig_debug(RIG_DEBUG_ERR, "%s: leave_CAT %d\n", __func__, retval); rig_debug(RIG_DEBUG_ERR, "%s: leave_CAT %d\n", __func__, retval);
} }
#endif
return retval; return retval;
} }
@ -903,7 +885,6 @@ int ft767_set_split_freq(RIG *rig, vfo_t vfo, freq_t tx_freq)
/* fill in first four bytes */ /* fill in first four bytes */
to_bcd(freq_cmd, tx_freq / 10, 8); to_bcd(freq_cmd, tx_freq / 10, 8);
#if 0
retval = ft767_enter_CAT(rig); retval = ft767_enter_CAT(rig);
if (retval < 0) if (retval < 0)
@ -911,7 +892,6 @@ int ft767_set_split_freq(RIG *rig, vfo_t vfo, freq_t tx_freq)
rig_debug(RIG_DEBUG_ERR, "%s: enter_CAT %d\n", __func__, retval); rig_debug(RIG_DEBUG_ERR, "%s: enter_CAT %d\n", __func__, retval);
return retval; return retval;
} }
#endif
/* change to the xmit VFO */ /* change to the xmit VFO */
vfo_cmd[3] = vfo2rig(rig, change_vfo); vfo_cmd[3] = vfo2rig(rig, change_vfo);
@ -945,14 +925,12 @@ int ft767_set_split_freq(RIG *rig, vfo_t vfo, freq_t tx_freq)
return retval; return retval;
} }
#if 0
retval = ft767_leave_CAT(rig); retval = ft767_leave_CAT(rig);
if (retval < 0) if (retval < 0)
{ {
rig_debug(RIG_DEBUG_ERR, "%s: leave_CAT %d\n", __func__, retval); rig_debug(RIG_DEBUG_ERR, "%s: leave_CAT %d\n", __func__, retval);
} }
#endif
return RIG_OK; return RIG_OK;
} }
@ -1070,7 +1048,6 @@ int ft767_set_split_mode(RIG *rig, vfo_t vfo, rmode_t tx_mode,
/* fill in p1 */ /* fill in p1 */
mode_cmd[3] = mode2rig(rig, tx_mode); mode_cmd[3] = mode2rig(rig, tx_mode);
#if 0
retval = ft767_enter_CAT(rig); retval = ft767_enter_CAT(rig);
if (retval < 0) if (retval < 0)
@ -1078,7 +1055,6 @@ int ft767_set_split_mode(RIG *rig, vfo_t vfo, rmode_t tx_mode,
rig_debug(RIG_DEBUG_ERR, "%s: enter_CAT %d\n", __func__, retval); rig_debug(RIG_DEBUG_ERR, "%s: enter_CAT %d\n", __func__, retval);
return retval; return retval;
} }
#endif
/* change to the xmit VFO */ /* change to the xmit VFO */
vfo_cmd[3] = vfo2rig(rig, change_vfo); vfo_cmd[3] = vfo2rig(rig, change_vfo);
@ -1112,14 +1088,12 @@ int ft767_set_split_mode(RIG *rig, vfo_t vfo, rmode_t tx_mode,
return retval; return retval;
} }
#if 0
retval = ft767_leave_CAT(rig); retval = ft767_leave_CAT(rig);
if (retval < 0) if (retval < 0)
{ {
rig_debug(RIG_DEBUG_ERR, "%s: leave_CAT %d\n", __func__, retval); rig_debug(RIG_DEBUG_ERR, "%s: leave_CAT %d\n", __func__, retval);
} }
#endif
return RIG_OK; return RIG_OK;
} }
@ -1259,7 +1233,6 @@ int ft767_set_split_vfo(RIG *rig, vfo_t vfo, split_t split, vfo_t tx_vfo)
rig_flush(&rig->state.rigport); rig_flush(&rig->state.rigport);
#if 0
retval = ft767_enter_CAT(rig); retval = ft767_enter_CAT(rig);
if (retval < 0) if (retval < 0)
@ -1267,7 +1240,6 @@ int ft767_set_split_vfo(RIG *rig, vfo_t vfo, split_t split, vfo_t tx_vfo)
rig_debug(RIG_DEBUG_ERR, "%s: enter_CAT %d\n", __func__, retval); rig_debug(RIG_DEBUG_ERR, "%s: enter_CAT %d\n", __func__, retval);
return retval; return retval;
} }
#endif
/* See whether we need to toggle the split state */ /* See whether we need to toggle the split state */
curr_split = priv->update_data[STATUS_FLAGS] & STATUS_MASK_SPLIT; curr_split = priv->update_data[STATUS_FLAGS] & STATUS_MASK_SPLIT;
@ -1318,7 +1290,6 @@ int ft767_set_split_vfo(RIG *rig, vfo_t vfo, split_t split, vfo_t tx_vfo)
} }
} }
#if 0
retval = ft767_leave_CAT(rig); retval = ft767_leave_CAT(rig);
if (retval < 0) if (retval < 0)
@ -1326,7 +1297,6 @@ int ft767_set_split_vfo(RIG *rig, vfo_t vfo, split_t split, vfo_t tx_vfo)
rig_debug(RIG_DEBUG_ERR, "%s: leave_CAT %d\n", __func__, retval); rig_debug(RIG_DEBUG_ERR, "%s: leave_CAT %d\n", __func__, retval);
return retval; return retval;
} }
#endif
break; break;

Wyświetl plik

@ -32,7 +32,7 @@
#define FT767GX_PACING_INTERVAL 5 #define FT767GX_PACING_INTERVAL 5
#define FT767GX_PACING_DEFAULT_VALUE 0 #define FT767GX_PACING_DEFAULT_VALUE 0
#define FT767GX_WRITE_DELAY 50 #define FT767GX_WRITE_DELAY 0
/* Sequential fast writes confuse my FT767GX without this delay */ /* Sequential fast writes confuse my FT767GX without this delay */