From fa70f8055877362a79edf44ff10af63678f28516 Mon Sep 17 00:00:00 2001 From: Daniele Forsi IU5HKX Date: Sun, 25 May 2025 22:00:21 +0200 Subject: [PATCH] Refactor get_level using the macros AMP_LEVEL_* --- bindings/amplifier.swg | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/bindings/amplifier.swg b/bindings/amplifier.swg index 041524426..2b3076ec4 100644 --- a/bindings/amplifier.swg +++ b/bindings/amplifier.swg @@ -154,27 +154,12 @@ typedef struct Amp { if (self->error_status != RIG_OK) return Py_None; - switch (level) - { - case AMP_LEVEL_SWR: - case AMP_LEVEL_PF: - return PyFloat_FromDouble(val.f); + if (AMP_LEVEL_IS_FLOAT(level)) + return PyFloat_FromDouble(val.f); + else if (AMP_LEVEL_IS_STRING(level)) + return PyUnicode_FromString(val.s); - case AMP_LEVEL_NH: - case AMP_LEVEL_PWR_INPUT: - case AMP_LEVEL_PWR_FWD: - case AMP_LEVEL_PWR_REFLECTED: - case AMP_LEVEL_PWR_PEAK: - return PyLong_FromLong(val.i); - - case AMP_LEVEL_FAULT: - return PyUnicode_FromString(val.s); - - default: - self->error_status = -RIG_EINVAL; - } - - return Py_None; + return PyLong_FromLong(val.i); } AMPMETHOD1GET(get_powerstat, powerstat_t)