For kenwood.c allow another 2 transacation_reads after ? return

For the TS-2000 doing IF; after RX; was returning ? but still returned IF response later
https://github.com/Hamlib/Hamlib/issues/844
pull/875/head
Mike Black W9MDB 2021-10-28 17:28:27 -05:00
rodzic 0309a34d02
commit b9c86da0fb
1 zmienionych plików z 6 dodań i 1 usunięć

Wyświetl plik

@ -367,7 +367,7 @@ transaction_write:
transaction_read:
/* allow room for most any response */
len = min(datasize ? datasize + 1 : strlen(priv->verify_cmd) + 32,
len = min(datasize ? datasize + 1 : strlen(priv->verify_cmd) + 48,
KENWOOD_MAX_BUF_LEN);
retval = read_string(&rs->rigport, buffer, len, cmdtrm_str, strlen(cmdtrm_str));
rig_debug(RIG_DEBUG_TRACE, "%s: read_string(len=%d)='%s'\n", __func__,
@ -466,6 +466,11 @@ transaction_read:
{
rig_debug(RIG_DEBUG_ERR, "%s: Unknown command or rig busy '%s'\n", __func__,
cmdstr);
// sometimes IF; command after TX; will return ? but still return IF response
if (retry_read++ <= 1) {
hl_usleep(100*1000);
goto transaction_read;
}
}
if (retry_read++ < rs->rigport.retry)