Fix output of dump_state

Fixes references to levels and properly handles strings.

Steps to reproduce:
tests/rigctl chk_vfo dump_state
pull/1849/head
Daniele Forsi IU5HKX 2025-08-17 18:13:43 +02:00
rodzic afda578d45
commit fd7d69d24c
1 zmienionych plików z 10 dodań i 2 usunięć

Wyświetl plik

@ -4828,7 +4828,9 @@ declare_proto_rig(dump_state)
for (i = 0; i < RIG_SETTING_MAX; ++i)
{
if (RIG_LEVEL_IS_FLOAT(i))
setting_t level = rig_idx2setting(i);
if (RIG_LEVEL_IS_FLOAT(level))
{
fprintf(fout, "%d=%g,%g,%g;", i, rs->level_gran[i].min.f,
rs->level_gran[i].max.f, rs->level_gran[i].step.f);
@ -4844,11 +4846,17 @@ declare_proto_rig(dump_state)
for (i = 0; i < RIG_SETTING_MAX; ++i)
{
if (RIG_LEVEL_IS_FLOAT(i))
setting_t parm = rig_idx2setting(i);
if (RIG_PARM_IS_FLOAT(parm))
{
fprintf(fout, "%d=%g,%g,%g;", i, rs->parm_gran[i].min.f,
rs->parm_gran[i].max.f, rs->parm_gran[i].step.f);
}
else if (RIG_PARM_IS_STRING(parm))
{
fprintf(fout, "%d=%s;", i, rs->parm_gran[i].step.cs);
}
else
{
fprintf(fout, "%d=%d,%d,%d;", i, rs->level_gran[i].min.i,