Fix kx3/kx2 RFPOWER_METER_WATTS and buffer size

pull/519/head^2
Michael Black W9MDB 2021-01-25 11:19:32 -06:00
rodzic 14eb9af7fe
commit 9322479117
1 zmienionych plików z 19 dodań i 2 usunięć

Wyświetl plik

@ -181,7 +181,7 @@ const struct rig_caps k3_caps =
RIG_MODEL(RIG_MODEL_K3),
.model_name = "K3",
.mfg_name = "Elecraft",
.version = BACKEND_VER ".2",
.version = BACKEND_VER ".3",
.copyright = "LGPL",
.status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER,
@ -1584,7 +1584,7 @@ static int k3_get_maxpower(RIG *rig)
{
int retval;
int maxpower = 12; // K3 default power level
char levelbuf[16];
char levelbuf[KENWOOD_MAX_BUF_LEN];
struct kenwood_priv_data *priv = rig->state.priv;
// default range is 0-12 if there is no KPA3 installed
@ -2129,6 +2129,23 @@ int kx3_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
val->f = pwr;
return retval;
}
case RIG_LEVEL_RFPOWER_METER_WATTS:
{
struct kenwood_priv_data *priv = rig->state.priv;
char levelbuf[KENWOOD_MAX_BUF_LEN];
int pwr;
retval = kenwood_safe_transaction(rig, "PO", levelbuf, sizeof(levelbuf), 5);
if (retval != RIG_OK)
{
return retval;
}
sscanf(levelbuf + 2, "%d", &pwr);
val->f = priv->has_kpa100 ? pwr : pwr / 10.0;
return retval;
}
}
return k3_get_level(rig, vfo, level, val);