diff --git a/rigs/dummy/flrig.c b/rigs/dummy/flrig.c index 11a5b2a9d..7b69d6280 100644 --- a/rigs/dummy/flrig.c +++ b/rigs/dummy/flrig.c @@ -91,6 +91,10 @@ static int flrig_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val); static int flrig_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val); static const char *flrig_get_info(RIG *rig); +static int flrig_power2mW(RIG *rig, unsigned int *mwpower, float power, + freq_t freq, rmode_t mode); +static int flrig_mW2power(RIG *rig, float *power, unsigned int mwpower, + freq_t freq, rmode_t mode); struct flrig_priv_data { @@ -177,7 +181,9 @@ const struct rig_caps flrig_caps = .set_split_freq_mode = flrig_set_split_freq_mode, .get_split_freq_mode = flrig_get_split_freq_mode, .set_level = flrig_set_level, - .get_level = flrig_get_level + .get_level = flrig_get_level, + .power2mW = flrig_power2mW, + .mW2power = flrig_mW2power }; // Structure for mapping flrig dynmamic modes to hamlib modes @@ -2017,3 +2023,34 @@ static const char *flrig_get_info(RIG *rig) return priv->info; } + +static int flrig_power2mW(RIG *rig, unsigned int *mwpower, float power, + freq_t freq, rmode_t mode) +{ + struct flrig_priv_data *priv = (struct flrig_priv_data *) rig->state.priv; + ENTERFUNC; + rig_debug(RIG_DEBUG_TRACE, "%s: passed power = %f\n", __func__, power); + rig_debug(RIG_DEBUG_TRACE, "%s: passed freq = %"PRIfreq" Hz\n", __func__, freq); + rig_debug(RIG_DEBUG_TRACE, "%s: passed mode = %s\n", __func__, + rig_strrmode(mode)); + + power *= priv->powermeter_scale; + *mwpower = (power * 100000); + + RETURNFUNC(RIG_OK); +} + +static int flrig_mW2power(RIG *rig, float *power, unsigned int mwpower, + freq_t freq, rmode_t mode) +{ + ENTERFUNC; + rig_debug(RIG_DEBUG_TRACE, "%s: passed mwpower = %u\n", __func__, mwpower); + rig_debug(RIG_DEBUG_TRACE, "%s: passed freq = %"PRIfreq" Hz\n", __func__, freq); + rig_debug(RIG_DEBUG_TRACE, "%s: passed mode = %s\n", __func__, + rig_strrmode(mode)); + + *power = ((float)mwpower / 100000); + + RETURNFUNC(RIG_OK); +} + diff --git a/rigs/dummy/flrig.h b/rigs/dummy/flrig.h index bcd35b6b0..b2cccb695 100644 --- a/rigs/dummy/flrig.h +++ b/rigs/dummy/flrig.h @@ -28,7 +28,7 @@ #include #endif -#define BACKEND_VER "20210128" +#define BACKEND_VER "20210215" #define EOM "\r" #define TRUE 1