From 774e60895cb268f6ec1001047f97ff2319881869 Mon Sep 17 00:00:00 2001 From: Mike Black W9MDB Date: Fri, 10 Nov 2023 11:55:30 -0600 Subject: [PATCH] Use new FLRig get_SWR method if available -- otherwise use old method --- rigs/dummy/flrig.c | 11 +++++++++-- simulators/simft991.c | 12 +++++++++--- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/rigs/dummy/flrig.c b/rigs/dummy/flrig.c index 60dd8b5cf..7d10d4882 100644 --- a/rigs/dummy/flrig.c +++ b/rigs/dummy/flrig.c @@ -139,7 +139,7 @@ const struct rig_caps flrig_caps = RIG_MODEL(RIG_MODEL_FLRIG), .model_name = "FLRig", .mfg_name = "FLRig", - .version = "20231108.0", + .version = "20231110.0", .copyright = "LGPL", .status = RIG_STATUS_STABLE, .rig_type = RIG_TYPE_TRANSCEIVER, @@ -2171,7 +2171,8 @@ static int flrig_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) case RIG_LEVEL_STRENGTH: cmd = "rig.get_smeter"; break; - case RIG_LEVEL_SWR: cmd = "rig.get_swrmeter"; break; + case RIG_LEVEL_SWR: cmd = "rig.get_SWR"; break; + //case RIG_LEVEL_SWR: cmd = "rig.get_swrmeter"; break; case RIG_LEVEL_RFPOWER: cmd = "rig.get_power"; break; @@ -2185,6 +2186,12 @@ static int flrig_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) retval = flrig_transaction(rig, cmd, NULL, value, sizeof(value)); + if (retval == RIG_ENAVAIL && strcmp(cmd,"rig.get_SWR")==0) + { + cmd = "rig.get_swrmeter"; // revert to old flrig method + retval = flrig_transaction(rig, cmd, NULL, value, sizeof(value)); + } + if (retval != RIG_OK) { rig_debug(RIG_DEBUG_ERR, "%s: flrig_transaction failed retval=%s\n", __func__, diff --git a/simulators/simft991.c b/simulators/simft991.c index 0a9066f3c..d2f5b1eb2 100644 --- a/simulators/simft991.c +++ b/simulators/simft991.c @@ -138,8 +138,14 @@ int main(int argc, char *argv[]) if (n <= 0) { perror("RM5"); } } + else if (strcmp(buf,"MR118;") == 0) + { + pbuf = "?;"; + n = write(fd, pbuf, strlen(pbuf)); + if (n <= 0) { perror("MR118"); } + } - if (strcmp(buf, "AN0;") == 0) + else if (strcmp(buf, "AN0;") == 0) { printf("%s\n", buf); hl_usleep(50 * 1000); @@ -161,7 +167,7 @@ int main(int argc, char *argv[]) } else if (strcmp(buf, "FA;") == 0) { - SNPRINTF(buf, sizeof(buf), "FA%08.0f;", freqA); + SNPRINTF(buf, sizeof(buf), "FA%09.0f;", freqA); n = write(fd, buf, strlen(buf)); } else if (strncmp(buf, "FA", 2) == 0) @@ -170,7 +176,7 @@ int main(int argc, char *argv[]) } else if (strcmp(buf, "FB;") == 0) { - SNPRINTF(buf, sizeof(buf), "FB%08.0f;", freqB); + SNPRINTF(buf, sizeof(buf), "FB%09.0f;", freqB); n = write(fd, buf, strlen(buf)); } else if (strncmp(buf, "FB", 2) == 0)