From 8abe1ec8e4fe08560fc14ebb2965f89105213a18 Mon Sep 17 00:00:00 2001 From: markjfine Date: Mon, 23 Jun 2025 17:07:17 -0400 Subject: [PATCH] Correct mapping of D_AGC values Ref issue#1775 (part 1) Corrected mapping of D_AGC values to currently enumerated AGC set. Will separately provide alternate mapping, if required, in backends that require it. --- rigs/icom/icom.c | 50 +++++++++++++++++++++++++++++++++++------------- 1 file changed, 37 insertions(+), 13 deletions(-) diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c index 85b6d1e68..5bb420348 100644 --- a/rigs/icom/icom.c +++ b/rigs/icom/icom.c @@ -3879,20 +3879,32 @@ int icom_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) // Legacy mapping that does not apply to all rigs switch (val.i) { - case RIG_AGC_SLOW: - cmdbuf[0] = D_AGC_SLOW; + case RIG_AGC_OFF: + cmdbuf[0] = D_AGC_OFF; break; - case RIG_AGC_MEDIUM: - cmdbuf[0] = D_AGC_MID; + case RIG_AGC_SUPERFAST: + cmdbuf[0] = D_AGC_SUPERFAST; break; case RIG_AGC_FAST: cmdbuf[0] = D_AGC_FAST; break; - case RIG_AGC_SUPERFAST: - cmdbuf[0] = D_AGC_SUPERFAST; + case RIG_AGC_SLOW: + cmdbuf[0] = D_AGC_SLOW; + break; + + case RIG_AGC_USER: + cmdbuf[0] = D_AGC_USER; + break; + + case RIG_AGC_MEDIUM: + cmdbuf[0] = D_AGC_MID; + break; + + case RIG_AGC_AUTO: + cmdbuf[0] = D_AGC_AUTO; break; default: @@ -4526,20 +4538,32 @@ int icom_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) { switch (icom_val) { - case D_AGC_SLOW: + case D_AGC_OFF: + val->i = RIG_AGC_OFF; + break; + + case D_AGC_SUPERFAST: + val->i = RIG_AGC_SUPERFAST; + break; + + case D_AGC_FAST: + val->i = RIG_AGC_FAST; + break; + + case D_AGC_SLOW: val->i = RIG_AGC_SLOW; break; + case D_AGC_USER: + val->i = RIG_AGC_USER; + break; + case D_AGC_MID: val->i = RIG_AGC_MEDIUM; break; - case D_AGC_FAST: - val->i = RIG_AGC_FAST; - break; - - case D_AGC_SUPERFAST: - val->i = RIG_AGC_SUPERFAST; + case D_AGC_AUTO: + val->i = RIG_AGC_AUTO; break; default: