From f54d0508fd1230c3bcd85143ba7b9349eda5a2aa Mon Sep 17 00:00:00 2001 From: Michael Black W9MDB Date: Sun, 13 Dec 2020 08:55:50 -0600 Subject: [PATCH] Added flrig LEVEL values STRENGTH, RF, AF, RFPOWER_METER, MICGAIN https://github.com/Hamlib/Hamlib/issues/460 --- rigs/dummy/flrig.c | 22 ++++++++++++++++++---- rigs/dummy/flrig.h | 2 +- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/rigs/dummy/flrig.c b/rigs/dummy/flrig.c index caec27213..214174df4 100644 --- a/rigs/dummy/flrig.c +++ b/rigs/dummy/flrig.c @@ -57,7 +57,7 @@ RIG_MODE_SSB | RIG_MODE_LSB | RIG_MODE_USB |\ RIG_MODE_FM | RIG_MODE_WFM | RIG_MODE_FMN |RIG_MODE_PKTFM ) -#define FLRIG_LEVELS (RIG_LEVEL_AF | RIG_LEVEL_RF | RIG_LEVEL_MICGAIN | RIG_LEVEL_STRENGTH) +#define FLRIG_LEVELS (RIG_LEVEL_AF | RIG_LEVEL_RF | RIG_LEVEL_MICGAIN | RIG_LEVEL_STRENGTH | RIG_LEVEL_RFPOWER_METER) #define streq(s1,s2) (strcmp(s1,s2)==0) @@ -1874,7 +1874,8 @@ static int flrig_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) } sprintf(cmd_arg, - "%d", (int)val.f); + "%d", + (int)val.f); switch (level) { @@ -1923,6 +1924,8 @@ static int flrig_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) case RIG_LEVEL_STRENGTH: cmd = "rig.get_power"; break; + case RIG_LEVEL_RFPOWER_METER: cmd = "rig.get_pwrmeter"; break; + default: rig_debug(RIG_DEBUG_ERR, "%s: unknown level=%d\n", __func__, (int)level); return -RIG_EINVAL; @@ -1937,9 +1940,20 @@ static int flrig_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) return retval; } - val->f = atof(value); + // most levels are 0-100 -- may have to allow for different ranges + switch (level) + { + case RIG_LEVEL_STRENGTH: + case RIG_LEVEL_RFPOWER_METER: + val->i = atoi(value); + rig_debug(RIG_DEBUG_TRACE, "%s: val.i='%s'(%d)\n", __func__, value, val->i); + break; + + default: + val->f = atof(value) / 100; + rig_debug(RIG_DEBUG_TRACE, "%s: val.f='%s'(%f)\n", __func__, value, val->f); + } - rig_debug(RIG_DEBUG_TRACE, "%s: val='%s'(%f)\n", __func__, value, val->f); return RIG_OK; } diff --git a/rigs/dummy/flrig.h b/rigs/dummy/flrig.h index f49a19343..b231e02d4 100644 --- a/rigs/dummy/flrig.h +++ b/rigs/dummy/flrig.h @@ -28,7 +28,7 @@ #include #endif -#define BACKEND_VER "20201209" +#define BACKEND_VER "20201213" #define EOM "\r" #define TRUE 1