kopia lustrzana https://github.com/Hamlib/Hamlib
set_level/get_level: Improved help "?" to show already supported ext_levels
Author: Nirgal Vourgère <contact_hamlib@nirgal.com>Hamlib-1.2.14
rodzic
0bfec55f10
commit
4e24dd6eee
|
@ -1199,7 +1199,12 @@ declare_proto_rig(set_level)
|
||||||
if (!strcmp(arg1, "?")) {
|
if (!strcmp(arg1, "?")) {
|
||||||
char s[SPRINTF_MAX_SIZE];
|
char s[SPRINTF_MAX_SIZE];
|
||||||
sprintf_level(s, rig->state.has_set_level);
|
sprintf_level(s, rig->state.has_set_level);
|
||||||
fprintf(fout, "%s\n", s);
|
fputs(s, fout);
|
||||||
|
if (rig->caps->set_ext_level) {
|
||||||
|
sprintf_level_ext(s, rig->caps->extlevels);
|
||||||
|
fputs(s, fout);
|
||||||
|
}
|
||||||
|
fputc('\n', fout);
|
||||||
return RIG_OK;
|
return RIG_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1249,7 +1254,12 @@ declare_proto_rig(get_level)
|
||||||
if (!strcmp(arg1, "?")) {
|
if (!strcmp(arg1, "?")) {
|
||||||
char s[SPRINTF_MAX_SIZE];
|
char s[SPRINTF_MAX_SIZE];
|
||||||
sprintf_level(s, rig->state.has_get_level);
|
sprintf_level(s, rig->state.has_get_level);
|
||||||
fprintf(fout, "%s\n", s);
|
fputs(s, fout);
|
||||||
|
if (rig->caps->get_ext_level) {
|
||||||
|
sprintf_level_ext(s, rig->caps->extlevels);
|
||||||
|
fputs(s, fout);
|
||||||
|
}
|
||||||
|
fputc('\n', fout);
|
||||||
return RIG_OK;
|
return RIG_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -126,6 +126,34 @@ int sprintf_level(char *str, setting_t level)
|
||||||
return len;
|
return len;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int sprintf_level_ext(char *str, const struct confparams *extlevels)
|
||||||
|
{
|
||||||
|
int len=0;
|
||||||
|
|
||||||
|
*str = '\0';
|
||||||
|
if (!extlevels)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
for (; extlevels->token != RIG_CONF_END; extlevels++) {
|
||||||
|
if (!extlevels->name)
|
||||||
|
continue; /* no name */
|
||||||
|
switch (extlevels->type) {
|
||||||
|
case RIG_CONF_CHECKBUTTON:
|
||||||
|
case RIG_CONF_COMBO:
|
||||||
|
case RIG_CONF_NUMERIC:
|
||||||
|
case RIG_CONF_STRING:
|
||||||
|
strcat(str, extlevels->name);
|
||||||
|
strcat(str, " ");
|
||||||
|
len += strlen(extlevels->name) + 1;
|
||||||
|
break;
|
||||||
|
case RIG_CONF_BUTTON:
|
||||||
|
/* ignore case RIG_CONF_BUTTON */
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return len;
|
||||||
|
}
|
||||||
|
|
||||||
int sprintf_level_gran(char *str, setting_t level, const gran_t gran[])
|
int sprintf_level_gran(char *str, setting_t level, const gran_t gran[])
|
||||||
{
|
{
|
||||||
int i, len=0;
|
int i, len=0;
|
||||||
|
|
|
@ -33,6 +33,7 @@ extern int sprintf_mode(char *str, rmode_t);
|
||||||
extern int sprintf_vfo(char *str, vfo_t);
|
extern int sprintf_vfo(char *str, vfo_t);
|
||||||
extern int sprintf_func(char *str, setting_t);
|
extern int sprintf_func(char *str, setting_t);
|
||||||
extern int sprintf_level(char *str, setting_t);
|
extern int sprintf_level(char *str, setting_t);
|
||||||
|
extern int sprintf_level_ext(char *str, const struct confparams *);
|
||||||
extern int sprintf_level_gran(char *str, setting_t, const gran_t gran[]);
|
extern int sprintf_level_gran(char *str, setting_t, const gran_t gran[]);
|
||||||
extern int sprintf_parm(char *str, setting_t);
|
extern int sprintf_parm(char *str, setting_t);
|
||||||
extern int sprintf_parm_gran(char *str, setting_t, const gran_t gran[]);
|
extern int sprintf_parm_gran(char *str, setting_t, const gran_t gran[]);
|
||||||
|
|
Ładowanie…
Reference in New Issue