kopia lustrzana https://github.com/Hamlib/Hamlib
Fix TS590 and TS890 RIG_LEVEL_RFPOWER_METER_WATTS
rodzic
47fcf999f0
commit
c471884122
|
@ -41,11 +41,11 @@
|
||||||
|
|
||||||
#define TS590_LEVEL_GET (RIG_LEVEL_RFPOWER|RIG_LEVEL_AF|RIG_LEVEL_RF|RIG_LEVEL_SQL|RIG_LEVEL_AGC|RIG_LEVEL_MICGAIN|RIG_LEVEL_STRENGTH|RIG_LEVEL_KEYSPD|RIG_LEVEL_CWPITCH| \
|
#define TS590_LEVEL_GET (RIG_LEVEL_RFPOWER|RIG_LEVEL_AF|RIG_LEVEL_RF|RIG_LEVEL_SQL|RIG_LEVEL_AGC|RIG_LEVEL_MICGAIN|RIG_LEVEL_STRENGTH|RIG_LEVEL_KEYSPD|RIG_LEVEL_CWPITCH| \
|
||||||
RIG_LEVEL_MONITOR_GAIN|RIG_LEVEL_NB|RIG_LEVEL_NR|RIG_LEVEL_PREAMP|RIG_LEVEL_COMP|RIG_LEVEL_ATT|RIG_LEVEL_VOXDELAY|RIG_LEVEL_VOXGAIN|RIG_LEVEL_BKIN_DLYMS| \
|
RIG_LEVEL_MONITOR_GAIN|RIG_LEVEL_NB|RIG_LEVEL_NR|RIG_LEVEL_PREAMP|RIG_LEVEL_COMP|RIG_LEVEL_ATT|RIG_LEVEL_VOXDELAY|RIG_LEVEL_VOXGAIN|RIG_LEVEL_BKIN_DLYMS| \
|
||||||
RIG_LEVEL_SWR|RIG_LEVEL_COMP_METER|RIG_LEVEL_ALC|RIG_LEVEL_RFPOWER_METER|RIG_LEVEL_SLOPE_HIGH|RIG_LEVEL_SLOPE_LOW|RIG_LEVEL_USB_AF|RIG_LEVEL_USB_AF_INPUT)
|
RIG_LEVEL_SWR|RIG_LEVEL_COMP_METER|RIG_LEVEL_ALC|RIG_LEVEL_RFPOWER_METER|RIG_LEVEL_RFPOWER_METER_WATTS|RIG_LEVEL_SLOPE_HIGH|RIG_LEVEL_SLOPE_LOW|RIG_LEVEL_USB_AF|RIG_LEVEL_USB_AF_INPUT)
|
||||||
|
|
||||||
#define TS590_LEVEL_SET (RIG_LEVEL_RFPOWER|RIG_LEVEL_AF|RIG_LEVEL_RF|RIG_LEVEL_SQL|RIG_LEVEL_AGC|RIG_LEVEL_MICGAIN|RIG_LEVEL_KEYSPD|RIG_LEVEL_CWPITCH| \
|
#define TS590_LEVEL_SET (RIG_LEVEL_RFPOWER|RIG_LEVEL_AF|RIG_LEVEL_RF|RIG_LEVEL_SQL|RIG_LEVEL_AGC|RIG_LEVEL_MICGAIN|RIG_LEVEL_KEYSPD|RIG_LEVEL_CWPITCH| \
|
||||||
RIG_LEVEL_MONITOR_GAIN|RIG_LEVEL_NB|RIG_LEVEL_NR|RIG_LEVEL_PREAMP|RIG_LEVEL_COMP|RIG_LEVEL_ATT|RIG_LEVEL_VOXDELAY|RIG_LEVEL_VOXGAIN|RIG_LEVEL_BKIN_DLYMS| \
|
RIG_LEVEL_MONITOR_GAIN|RIG_LEVEL_NB|RIG_LEVEL_NR|RIG_LEVEL_PREAMP|RIG_LEVEL_COMP|RIG_LEVEL_ATT|RIG_LEVEL_VOXDELAY|RIG_LEVEL_VOXGAIN|RIG_LEVEL_BKIN_DLYMS| \
|
||||||
RIG_LEVEL_METER|RIG_LEVEL_RFPOWER_METER_WATTS|RIG_LEVEL_SLOPE_HIGH|RIG_LEVEL_SLOPE_LOW|RIG_LEVEL_USB_AF|RIG_LEVEL_USB_AF_INPUT)
|
RIG_LEVEL_METER|RIG_LEVEL_SLOPE_HIGH|RIG_LEVEL_SLOPE_LOW|RIG_LEVEL_USB_AF|RIG_LEVEL_USB_AF_INPUT)
|
||||||
|
|
||||||
#define TS590_FUNC_ALL (RIG_FUNC_NB|RIG_FUNC_COMP|RIG_FUNC_VOX|RIG_FUNC_NR|RIG_FUNC_NR|RIG_FUNC_BC|RIG_FUNC_BC2|RIG_FUNC_RIT|RIG_FUNC_XIT| \
|
#define TS590_FUNC_ALL (RIG_FUNC_NB|RIG_FUNC_COMP|RIG_FUNC_VOX|RIG_FUNC_NR|RIG_FUNC_NR|RIG_FUNC_BC|RIG_FUNC_BC2|RIG_FUNC_RIT|RIG_FUNC_XIT| \
|
||||||
RIG_FUNC_TUNER|RIG_FUNC_MON|RIG_FUNC_FBKIN|RIG_FUNC_LOCK)
|
RIG_FUNC_TUNER|RIG_FUNC_MON|RIG_FUNC_FBKIN|RIG_FUNC_LOCK)
|
||||||
|
@ -1013,6 +1013,13 @@ static int ts590_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
|
||||||
case RIG_LEVEL_RFPOWER_METER:
|
case RIG_LEVEL_RFPOWER_METER:
|
||||||
case RIG_LEVEL_RFPOWER_METER_WATTS:
|
case RIG_LEVEL_RFPOWER_METER_WATTS:
|
||||||
{
|
{
|
||||||
|
static cal_table_t power_meter =
|
||||||
|
{
|
||||||
|
7, { { 0, 0}, { 3, 5}, { 6, 10}, { 8, 15}, {12, 25},
|
||||||
|
{ 17, 50}, { 30, 100}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
int raw_value;
|
int raw_value;
|
||||||
|
|
||||||
if (rig->state.cache.ptt == RIG_PTT_OFF)
|
if (rig->state.cache.ptt == RIG_PTT_OFF)
|
||||||
|
@ -1030,13 +1037,16 @@ static int ts590_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
|
||||||
|
|
||||||
sscanf(ackbuf, "SM0%d", &raw_value);
|
sscanf(ackbuf, "SM0%d", &raw_value);
|
||||||
|
|
||||||
val->f = (float) raw_value / 30.0f;
|
// val->f = (float) raw_value / 30.0f;
|
||||||
|
|
||||||
if (level == RIG_LEVEL_RFPOWER_METER_WATTS)
|
if (level == RIG_LEVEL_RFPOWER_METER_WATTS)
|
||||||
{
|
{
|
||||||
val->f *= 100;
|
val->f = roundf(rig_raw2val(raw_value, &power_meter));
|
||||||
if (val->f >= 10) val->f = roundf(val->f);
|
if (val->f < 10)
|
||||||
else val->f = roundf(val->f*10.0)/10.0;
|
{
|
||||||
|
val->f = roundf(rig_raw2val(raw_value, &power_meter) * 10.0) / 10.0;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -1703,7 +1713,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 ".15",
|
.version = BACKEND_VER ".16",
|
||||||
.copyright = "LGPL",
|
.copyright = "LGPL",
|
||||||
.status = RIG_STATUS_STABLE,
|
.status = RIG_STATUS_STABLE,
|
||||||
.rig_type = RIG_TYPE_TRANSCEIVER,
|
.rig_type = RIG_TYPE_TRANSCEIVER,
|
||||||
|
@ -2097,7 +2107,7 @@ struct rig_caps ts590sg_caps =
|
||||||
RIG_MODEL(RIG_MODEL_TS590SG),
|
RIG_MODEL(RIG_MODEL_TS590SG),
|
||||||
.model_name = "TS-590SG",
|
.model_name = "TS-590SG",
|
||||||
.mfg_name = "Kenwood",
|
.mfg_name = "Kenwood",
|
||||||
.version = BACKEND_VER ".9",
|
.version = BACKEND_VER ".10",
|
||||||
.copyright = "LGPL",
|
.copyright = "LGPL",
|
||||||
.status = RIG_STATUS_STABLE,
|
.status = RIG_STATUS_STABLE,
|
||||||
.rig_type = RIG_TYPE_TRANSCEIVER,
|
.rig_type = RIG_TYPE_TRANSCEIVER,
|
||||||
|
|
|
@ -359,14 +359,7 @@ 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)
|
||||||
{
|
{
|
||||||
if (val->f >= 10)
|
val->f = roundf(rig_raw2val(val->i, &power_meter));
|
||||||
{
|
|
||||||
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
|
||||||
{
|
{
|
||||||
|
|
Ładowanie…
Reference in New Issue