Handle the question mark as second argument of set_level in rigctl

Closes #720.

Test command:

tests/rigctl -m 1 \
set_level AF '?' set_level AGC '?' set_level AGC_TIME '?' \
set_level ANTIVOX '?' set_level APF '?' set_level ATT '?' \
set_level BAL '?' set_level BAND_SELECT '?' set_level BKINDL '?' \
set_level BKIN_DLYMS '?' set_level COMP '?' set_level CWPITCH '?' \
set_level IF '?' set_level KEYSPD '?' set_level METER '?' \
set_level MGC '?' set_level MGF '?' set_level MGL '?' \
set_level MICGAIN '?' set_level MONITOR_GAIN '?' set_level NB '?' \
set_level NOTCHF '?' set_level NOTCHF_RAW '?' set_level NR '?' \
set_level PBT_IN '?' set_level PBT_OUT '?' set_level PREAMP '?' \
set_level RF '?' set_level RFPOWER '?' set_level SLOPE_HIGH '?' \
set_level SLOPE_LOW '?' set_level SPECTRUM_ATT '?' set_level SPECTRUM_AVG '?' \
set_level SPECTRUM_EDGE_HIGH '?' set_level SPECTRUM_EDGE_LOW '?' set_level SPECTRUM_MODE '?' \
set_level SPECTRUM_REF '?' set_level SPECTRUM_SPAN '?' set_level SPECTRUM_SPEED '?' \
set_level SQL '?' set_level USB_AF '?' set_level USB_AF_INPUT '?' \
set_level VOXDELAY '?' set_level VOXGAIN '?'
pull/1843/head
Daniele Forsi IU5HKX 2025-08-12 17:24:52 +02:00
rodzic f32b744ac9
commit 4187e9f4a3
1 zmienionych plików z 20 dodań i 2 usunięć

Wyświetl plik

@ -3352,9 +3352,27 @@ declare_proto_rig(set_level)
level = rig_parse_level(arg1);
if ((!strcmp(arg2, "?") || arg2[0] == 0) && level == RIG_LEVEL_METER)
if (!strcmp(arg2, "?"))
{
if (level == RIG_LEVEL_METER)
{
fprintf(fout, "COMP ALC SWR ID/IC VDD DB PO TEMP%c", resp_sep);
} else {
const gran_t *gran = STATE(rig)->level_gran;
int idx = rig_setting2idx(level);
if (RIG_LEVEL_IS_FLOAT(level))
{
fprintf(fout, "(%f..%f/%f)%c", gran[idx].min.f,
gran[idx].max.f, gran[idx].step.f, resp_sep);
}
else
{
fprintf(fout, "(%d..%d/%d)%c", gran[idx].min.i,
gran[idx].max.i, gran[idx].step.i, resp_sep);
}
}
RETURNFUNC2(RIG_OK);
}