Remove RIG_BUSY drop through in newcat.c when command doesn't match or is not terminated correctly.

MicroHam devices need retries as they are constantly spewing IF status and improperly terminating the IF response
These particular retries should be rare for other rigs
https://github.com/Hamlib/Hamlib/issues/446
pull/453/head
Michael Black W9MDB 2020-11-21 15:54:31 -06:00
rodzic 0ae511c958
commit 477bc5b462
2 zmienionych plików z 6 dodań i 3 usunięć

Wyświetl plik

@ -8644,7 +8644,8 @@ int newcat_get_cmd(RIG *rig)
{
rig_debug(RIG_DEBUG_ERR, "%s: Command is not correctly terminated '%s'\n",
__func__, priv->ret_data);
rc = -RIG_BUSBUSY; /* don't write command again */
// we were using BUSBUSY but microham devices need retries
//rc = -RIG_BUSBUSY; /* don't write command again */
/* we could decrement retry_count
here but there is a danger of
infinite looping so we just use up
@ -8717,7 +8718,9 @@ int newcat_get_cmd(RIG *rig)
*/
rig_debug(RIG_DEBUG_ERR, "%s: wrong reply %.2s for command %.2s\n",
__func__, priv->ret_data, priv->cmd_str);
rc = -RIG_BUSBUSY; /* retry read only */
// we were using BUSBUSY but microham devices need retries
// this should be OK under all other circumstances too
//rc = -RIG_BUSBUSY; /* retry read only */
}
}

Wyświetl plik

@ -50,7 +50,7 @@
typedef char ncboolean;
/* shared function version */
#define NEWCAT_VER "20201111"
#define NEWCAT_VER "20201121"
/* Hopefully large enough for future use, 128 chars plus '\0' */
#define NEWCAT_DATA_LEN 129