Fix FTDX9000 METER reading the right way

https://github.com/Hamlib/Hamlib/issues/755
pull/809/head
Mike Black W9MDB 2021-09-20 00:03:02 -05:00
rodzic f8db0b2a36
commit f7ca1a90fd
1 zmienionych plików z 30 dodań i 12 usunięć

Wyświetl plik

@ -3740,7 +3740,7 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
switch (val.i) switch (val.i)
{ {
case RIG_METER_ALC: snprintf(priv->cmd_str, sizeof(priv->cmd_str), format, is_ftdx9000? 7 : 1); case RIG_METER_ALC: snprintf(priv->cmd_str, sizeof(priv->cmd_str), format, 1);
break; break;
case RIG_METER_PO: case RIG_METER_PO:
@ -3750,21 +3750,21 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
} }
else else
{ {
snprintf(priv->cmd_str, sizeof(priv->cmd_str), format, is_ftdx9000? 8 : 2); snprintf(priv->cmd_str, sizeof(priv->cmd_str), format, 2);
} }
break; break;
case RIG_METER_SWR: snprintf(priv->cmd_str, sizeof(priv->cmd_str), format, is_ftdx9000? 9 : 3); case RIG_METER_SWR: snprintf(priv->cmd_str, sizeof(priv->cmd_str), format, 3);
break; break;
case RIG_METER_COMP: snprintf(priv->cmd_str, sizeof(priv->cmd_str), format, is_ftdx9000? 6 : 0); case RIG_METER_COMP: snprintf(priv->cmd_str, sizeof(priv->cmd_str), format, 0);
break; break;
case RIG_METER_IC: snprintf(priv->cmd_str, sizeof(priv->cmd_str), format, is_ftdx9000? 10: 4); case RIG_METER_IC: snprintf(priv->cmd_str, sizeof(priv->cmd_str), format, 4);
break; break;
case RIG_METER_VDD: snprintf(priv->cmd_str, sizeof(priv->cmd_str), format, is_ftdx9000? 11 : 5); case RIG_METER_VDD: snprintf(priv->cmd_str, sizeof(priv->cmd_str), format, 5);
break; break;
rig_debug(RIG_DEBUG_ERR, "%s: unknown val.i=%d\n", __func__, val.i); rig_debug(RIG_DEBUG_ERR, "%s: unknown val.i=%d\n", __func__, val.i);
@ -4590,8 +4590,14 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
{ {
RETURNFUNC(-RIG_ENAVAIL); RETURNFUNC(-RIG_ENAVAIL);
} }
if (is_ftdx9000)
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "RM3%c", cat_term); {
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "RM06%c", cat_term);
}
else
{
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "RM3%c", cat_term);
}
break; break;
case RIG_LEVEL_VD_METER: case RIG_LEVEL_VD_METER:
@ -4599,8 +4605,14 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
{ {
RETURNFUNC(-RIG_ENAVAIL); RETURNFUNC(-RIG_ENAVAIL);
} }
if (is_ftdx9000)
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "RM8%c", cat_term); {
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "RM11%c", cat_term);
}
else
{
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "RM8%c", cat_term);
}
break; break;
case RIG_LEVEL_ID_METER: case RIG_LEVEL_ID_METER:
@ -4608,8 +4620,14 @@ int newcat_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
{ {
RETURNFUNC(-RIG_ENAVAIL); RETURNFUNC(-RIG_ENAVAIL);
} }
if (is_ftdx9000)
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "RM7%c", cat_term); {
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "RM10%c", cat_term);
}
else
{
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "RM7%c", cat_term);
}
break; break;
case RIG_LEVEL_ANTIVOX: case RIG_LEVEL_ANTIVOX: