Kenwood TS-590. Work get_level for ATT/Preamp state

https://github.com/Hamlib/Hamlib/issues/953
pull/954/head
nbanshchikov 2022-02-05 16:58:07 +03:00
rodzic 1c5826d533
commit c1ed899c19
1 zmienionych plików z 51 dodań i 0 usunięć

Wyświetl plik

@ -469,6 +469,7 @@ int ts590_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
int retval;
char lvlbuf[50];
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
switch (level)
@ -568,6 +569,56 @@ int ts590_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
sscanf(lvlbuf + 3, "%d", &val->i);
return retval;
case RIG_LEVEL_PREAMP:
retval = kenwood_transaction(rig, "PA", lvlbuf, sizeof(lvlbuf));
if (retval != RIG_OK)
{
RETURNFUNC(retval);
}
if (lvlbuf[2] == '0')
{
val->i = 0;
}
else if (lvlbuf[2] == '1')
{
val->i = rig->state.preamp[0];
}
else
{
rig_debug(RIG_DEBUG_ERR, "%s: "
"unexpected preamp char '%c'\n",
__func__, lvlbuf[2]);
RETURNFUNC(-RIG_EPROTO);
}
return retval;
case RIG_LEVEL_ATT:
retval = kenwood_transaction(rig, "RA", lvlbuf, sizeof(lvlbuf));
if (retval != RIG_OK)
{
RETURNFUNC(retval);
}
if (lvlbuf[3] == '0')
{
val->i = 0;
}
else if (lvlbuf[3] == '1')
{
val->i = rig->state.attenuator[0];
}
else
{
rig_debug(RIG_DEBUG_ERR, "%s: "
"unexpected preamp char '%c'\n",
__func__, lvlbuf[2]);
RETURNFUNC(-RIG_EPROTO);
}
return retval;
case RIG_LEVEL_RAWSTR:
case RIG_LEVEL_STRENGTH:
retval = kenwood_transaction(rig, "SM0", lvlbuf, sizeof(lvlbuf));