Add power functions to flrig.c

pull/548/head
Michael Black W9MDB 2021-02-15 08:53:41 -06:00
rodzic fc890004f3
commit e016025c04
2 zmienionych plików z 39 dodań i 2 usunięć

Wyświetl plik

@ -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);
}

Wyświetl plik

@ -28,7 +28,7 @@
#include <sys/time.h>
#endif
#define BACKEND_VER "20210128"
#define BACKEND_VER "20210215"
#define EOM "\r"
#define TRUE 1