From d160c620642125c66526beaf8d0d1c96d52886c3 Mon Sep 17 00:00:00 2001 From: Mike Black W9MDB Date: Wed, 12 Jun 2024 15:32:21 -0500 Subject: [PATCH] Make Origin width timeout behave better --- rigs/tentec/orion.c | 7 ++++--- rigs/tentec/orion.h | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/rigs/tentec/orion.c b/rigs/tentec/orion.c index 89cf4d157..7edc53910 100644 --- a/rigs/tentec/orion.c +++ b/rigs/tentec/orion.c @@ -694,6 +694,7 @@ int tt565_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width) char ttmode, ttreceiver; int retry; int timeout; + int widthOld = rig->state.cache.widthMainA; struct rig_state *rs = STATE(rig); ttreceiver = which_receiver(rig, vfo); @@ -739,8 +740,6 @@ int tt565_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width) return -RIG_EPROTO; } - /* Orion may need some time to "recover" from ?RxM before ?RxF */ - hl_usleep(100*1000); // was 80, now 100 -- still seeing infrequent failure /* Query passband width (filter) */ // since this fails at 80ms sometimes we won't retry and will reduce the timeout // Normally this comes back in about 30ms @@ -756,7 +755,9 @@ int tt565_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width) if (retval != RIG_OK) { - return retval; + // if the width call fails we will just reuse the old width + *width = widthOld; + return RIG_OK; } if (respbuf[1] != 'R' || respbuf[3] != 'F' || resp_len <= 4) diff --git a/rigs/tentec/orion.h b/rigs/tentec/orion.h index ac43d3543..4daf547b1 100644 --- a/rigs/tentec/orion.h +++ b/rigs/tentec/orion.h @@ -36,7 +36,7 @@ #include "rig.h" #include "riglist.h" -#define BACKEND_VER "20240606" +#define BACKEND_VER "20240612" #define TRUE 1 #define FALSE 0