Add some levels to TS590

pull/115/head
Michael Black 2019-06-10 23:06:44 -05:00
rodzic 7eaabddcb5
commit 5e36d5c11b
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 6599353EC683404D
1 zmienionych plików z 62 dodań i 0 usunięć

Wyświetl plik

@ -468,11 +468,73 @@ const char *ts590_get_info(RIG *rig)
*/
int ts590_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
{
int lvl_len;
int retval;
char lvlbuf[50];
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
switch (level)
{
case RIG_LEVEL_AF:
return get_kenwood_level(rig, "AG0", &val->f);
case RIG_LEVEL_METER:
retval = kenwood_transaction (rig, "RM0", lvlbuf, sizeof (lvlbuf));
if (retval != RIG_OK)
return retval;
lvl_len = strlen (lvlbuf);
if (lvl_len != 7) {
rig_debug(RIG_DEBUG_ERR,"ts590_get_level: "
"unexpected answer len=%d\n", lvl_len);
return -RIG_ERJCTED;
}
// returns the raw value in dots
sscanf(lvlbuf+3, "%d", &val->i);
return retval;
case RIG_LEVEL_SWR:
retval = kenwood_transaction (rig, "RM1", lvlbuf, sizeof (lvlbuf));
if (retval != RIG_OK)
return retval;
lvl_len = strlen (lvlbuf);
if (lvl_len != 7) {
rig_debug(RIG_DEBUG_ERR,"ts590_get_level: "
"unexpected answer len=%d\n", lvl_len);
return -RIG_ERJCTED;
}
// returns the raw value in dots
sscanf(lvlbuf+3, "%d", &val->i);
return retval;
case RIG_LEVEL_COMP:
retval = kenwood_transaction (rig, "RM2", lvlbuf, sizeof (lvlbuf));
if (retval != RIG_OK)
return retval;
lvl_len = strlen (lvlbuf);
if (lvl_len != 7) {
rig_debug(RIG_DEBUG_ERR,"ts590_get_level: "
"unexpected answer len=%d\n", lvl_len);
return -RIG_ERJCTED;
}
// returns the raw value in dots
sscanf(lvlbuf+3, "%d", &val->i);
return retval;
case RIG_LEVEL_ALC:
retval = kenwood_transaction (rig, "RM3", lvlbuf, sizeof (lvlbuf));
if (retval != RIG_OK)
return retval;
lvl_len = strlen (lvlbuf);
if (lvl_len != 7) {
rig_debug(RIG_DEBUG_ERR,"ts590_get_level: "
"unexpected answer len=%d\n", lvl_len);
return -RIG_ERJCTED;
}
// returns the raw value in dots
sscanf(lvlbuf+3, "%d", &val->i);
return retval;
default: return rig_get_level(rig, vfo, level, val);
}
}