Round watt values to whole number >= 10 and 1 decimal place < 10

pull/1513/head
Mike Black W9MDB 2024-02-13 16:39:59 -06:00
rodzic 2b22a42e73
commit 972d792a4f
2 zmienionych plików z 19 dodań i 8 usunięć

Wyświetl plik

@ -1035,6 +1035,8 @@ static int ts590_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
if (level == RIG_LEVEL_RFPOWER_METER_WATTS) if (level == RIG_LEVEL_RFPOWER_METER_WATTS)
{ {
val->f *= 100; val->f *= 100;
if (val->f >= 10) val->f = roundf(val->f);
else val->f = roundf(val->f*10.0)/10.0;
} }
break; break;
@ -1701,7 +1703,7 @@ struct rig_caps ts590_caps =
RIG_MODEL(RIG_MODEL_TS590S), RIG_MODEL(RIG_MODEL_TS590S),
.model_name = "TS-590S", .model_name = "TS-590S",
.mfg_name = "Kenwood", .mfg_name = "Kenwood",
.version = BACKEND_VER ".14", .version = BACKEND_VER ".15",
.copyright = "LGPL", .copyright = "LGPL",
.status = RIG_STATUS_STABLE, .status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER, .rig_type = RIG_TYPE_TRANSCEIVER,

Wyświetl plik

@ -311,18 +311,20 @@ int kenwood_ts890_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
}; };
static cal_table_t power_meter = static cal_table_t power_meter =
{ {
7, { { 0, 0}, { 5, 5}, { 10, 10}, {19, 25}, 7, { { 0, 0}, { 5, 5}, { 10, 10}, {19, 25},
{ 35, 50}, { 59, 100}, { 70, 150} { 35, 50}, { 59, 100}, { 70, 150}
} }
}; };
/* Make sure we're asking the right question */ /* Make sure we're asking the right question */
kenwood_get_ptt(rig, vfo, &ptt); kenwood_get_ptt(rig, vfo, &ptt);
if ((ptt == RIG_PTT_OFF) != (level == RIG_LEVEL_STRENGTH)) if ((ptt == RIG_PTT_OFF) != (level == RIG_LEVEL_STRENGTH))
{ {
/* We're sorry, the number you have dialed is not in service */ /* We're sorry, the number you have dialed is not in service */
return -RIG_ENAVAIL; return -RIG_ENAVAIL;
} }
/* Find out which meter type is in use */ /* Find out which meter type is in use */
retval = kenwood_safe_transaction(rig, "EX00011", ackbuf, sizeof(ackbuf), 11); retval = kenwood_safe_transaction(rig, "EX00011", ackbuf, sizeof(ackbuf), 11);
@ -357,7 +359,14 @@ int kenwood_ts890_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
if (level == RIG_LEVEL_RFPOWER_METER_WATTS) if (level == RIG_LEVEL_RFPOWER_METER_WATTS)
{ {
val->f = roundf(rig_raw2val(val->i, &power_meter)); if (val->f >= 10)
{
val->f = roundf(rig_raw2val(val->i, &power_meter));
}
else
{
val->f = roundf(rig_raw2val(val->i, &power_meter) * 10.0) / 10.0;
}
} }
else else
{ {
@ -480,7 +489,7 @@ struct rig_caps ts890s_caps =
RIG_MODEL(RIG_MODEL_TS890S), RIG_MODEL(RIG_MODEL_TS890S),
.model_name = "TS-890S", .model_name = "TS-890S",
.mfg_name = "Kenwood", .mfg_name = "Kenwood",
.version = BACKEND_VER ".13", .version = BACKEND_VER ".14",
.copyright = "LGPL", .copyright = "LGPL",
.status = RIG_STATUS_STABLE, .status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER, .rig_type = RIG_TYPE_TRANSCEIVER,