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)
{
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;
case RIG_METER_PO:
@ -3750,21 +3750,21 @@ int newcat_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
}
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;
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;
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;
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;
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;
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);
}
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "RM3%c", cat_term);
if (is_ftdx9000)
{
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;
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);
}
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "RM8%c", cat_term);
if (is_ftdx9000)
{
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;
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);
}
snprintf(priv->cmd_str, sizeof(priv->cmd_str), "RM7%c", cat_term);
if (is_ftdx9000)
{
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;
case RIG_LEVEL_ANTIVOX: