Fix timeout issues with the Ten-Tec Orion/Eagle

Added much  more generous serial port  timeouts as these rigs  seem to
occasionally delay  CAT responses  by a second  or more.  Also flushed
serial Rx buffer before retries in case timeout is not enough.
pull/110/head
Bill Somerville 2019-05-04 11:37:57 +01:00
rodzic 6612f8e1b2
commit 56ee4fd18a
2 zmienionych plików z 8 dodań i 7 usunięć

Wyświetl plik

@ -127,6 +127,7 @@ static int tt565_transaction(RIG *rig, const char *cmd, int cmd_len, char *data,
/* Allow transaction re-tries according to capabilities. */ /* Allow transaction re-tries according to capabilities. */
for (itry=0; itry < rig->caps->retry; itry++) { for (itry=0; itry < rig->caps->retry; itry++) {
rs = &rig->state; rs = &rig->state;
serial_flush(&rs->rigport); /* discard pending i/p */
retval = write_block(&rs->rigport, cmd, cmd_len); retval = write_block(&rs->rigport, cmd, cmd_len);
if (retval != RIG_OK) if (retval != RIG_OK)
return retval; return retval;

Wyświetl plik

@ -193,7 +193,7 @@ const struct rig_caps tt565_caps = {
.rig_model = RIG_MODEL_TT565, .rig_model = RIG_MODEL_TT565,
.model_name = "TT-565 Orion", .model_name = "TT-565 Orion",
.mfg_name = "Ten-Tec", .mfg_name = "Ten-Tec",
.version = "0.5", .version = "0.6",
.copyright = "LGPL", .copyright = "LGPL",
.status = RIG_STATUS_BETA, .status = RIG_STATUS_BETA,
.rig_type = RIG_TYPE_TRANSCEIVER, .rig_type = RIG_TYPE_TRANSCEIVER,
@ -207,8 +207,8 @@ const struct rig_caps tt565_caps = {
.serial_parity = RIG_PARITY_NONE, .serial_parity = RIG_PARITY_NONE,
.serial_handshake = RIG_HANDSHAKE_HARDWARE, .serial_handshake = RIG_HANDSHAKE_HARDWARE,
.write_delay = 0, /* no delay between characters written */ .write_delay = 0, /* no delay between characters written */
.post_write_delay = 10, /* ms delay between writes DEBUGGING HERE */ .post_write_delay = 0, /* ms delay between writes DEBUGGING HERE */
.timeout = 200, /* ms */ .timeout = 2000, /* ms */
.retry = 4, .retry = 4,
.has_get_func = TT565_FUNCS, .has_get_func = TT565_FUNCS,
@ -410,7 +410,7 @@ const struct rig_caps tt599_caps = {
.rig_model = RIG_MODEL_TT599, .rig_model = RIG_MODEL_TT599,
.model_name = "TT-599 Eagle", .model_name = "TT-599 Eagle",
.mfg_name = "Ten-Tec", .mfg_name = "Ten-Tec",
.version = "0.4", .version = "0.5",
.copyright = "LGPL", .copyright = "LGPL",
.status = RIG_STATUS_UNTESTED, .status = RIG_STATUS_UNTESTED,
.rig_type = RIG_TYPE_TRANSCEIVER, .rig_type = RIG_TYPE_TRANSCEIVER,
@ -424,9 +424,9 @@ const struct rig_caps tt599_caps = {
.serial_parity = RIG_PARITY_NONE, .serial_parity = RIG_PARITY_NONE,
.serial_handshake = RIG_HANDSHAKE_HARDWARE, .serial_handshake = RIG_HANDSHAKE_HARDWARE,
.write_delay = 0, /* no delay between characters written */ .write_delay = 0, /* no delay between characters written */
.post_write_delay = 10, /* ms delay between writes DEBUGGING HERE */ .post_write_delay = 0, /* ms delay between writes DEBUGGING HERE */
.timeout = 200, /* ms */ .timeout = 2000, /* ms */
.retry = 3, .retry = 4,
.has_get_func = TT599_FUNCS, .has_get_func = TT599_FUNCS,
.has_set_func = TT599_FUNCS, .has_set_func = TT599_FUNCS,