From 477bc5b4621bbc053b9f51a76dbd07a31502d804 Mon Sep 17 00:00:00 2001 From: Michael Black W9MDB Date: Sat, 21 Nov 2020 15:54:31 -0600 Subject: [PATCH] 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 --- rigs/yaesu/newcat.c | 7 +++++-- rigs/yaesu/newcat.h | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/rigs/yaesu/newcat.c b/rigs/yaesu/newcat.c index 372dbc2e7..15e921452 100644 --- a/rigs/yaesu/newcat.c +++ b/rigs/yaesu/newcat.c @@ -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 */ } } diff --git a/rigs/yaesu/newcat.h b/rigs/yaesu/newcat.h index 0ddbf4de7..4d70a9f86 100644 --- a/rigs/yaesu/newcat.h +++ b/rigs/yaesu/newcat.h @@ -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