From 8ed0dcdbb78e118ef6be94836749d8ac0da81835 Mon Sep 17 00:00:00 2001 From: Michael Black W9MDB Date: Thu, 17 Dec 2020 12:01:08 -0600 Subject: [PATCH] Fix flex6xxx RFPOWER_METER_WATTS for sure this time --- rigs/kenwood/flex6xxx.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/rigs/kenwood/flex6xxx.c b/rigs/kenwood/flex6xxx.c index 11bb1dc19..1da17bad9 100644 --- a/rigs/kenwood/flex6xxx.c +++ b/rigs/kenwood/flex6xxx.c @@ -736,6 +736,7 @@ int powersdr_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) int len, ans; rmode_t mode; pbwidth_t width; + ptt_t ptt; rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__); @@ -772,6 +773,11 @@ int powersdr_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) case RIG_LEVEL_RFPOWER_METER: case RIG_LEVEL_RFPOWER_METER_WATTS: + flex6k_get_ptt(rig, vfo, &ptt); + if (!ptt) { + val->f = 0; + return RIG_OK; + } cmd = "ZZRM5"; len = 5; ans = 3; @@ -837,12 +843,12 @@ int powersdr_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) case RIG_LEVEL_AF: case RIG_LEVEL_RFPOWER_METER: case RIG_LEVEL_RFPOWER_METER_WATTS: - n = sscanf(lvlbuf + len, "%f", &val->f); - + n = sscanf(lvlbuf, "ZZRM%f", &val->f); if (n != 1) { rig_debug(RIG_DEBUG_ERR, "%s: Error parsing value from lvlbuf='%s'\n", __func__, lvlbuf); + val->f = 0; return -RIG_EPROTO; } if (level != RIG_LEVEL_RFPOWER_METER_WATTS)