Output valid range/values for paramter
This commit is contained in:
parent
1e5fceebaf
commit
3a19b9dc8e
|
@ -781,6 +781,7 @@ typedef union {
|
|||
|
||||
static void cliSetVar(const clivalue_t *var, const int_float_value_t value);
|
||||
static void cliPrintVar(const clivalue_t *var, uint32_t full);
|
||||
static void cliPrintVarRange(const clivalue_t *var);
|
||||
static void cliPrint(const char *str);
|
||||
static void cliPrintf(const char *fmt, ...);
|
||||
static void cliWrite(uint8_t ch);
|
||||
|
@ -2557,7 +2558,27 @@ static void cliPrintVar(const clivalue_t *var, uint32_t full)
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void cliPrintVarRange(const clivalue_t *var)
|
||||
{
|
||||
switch (var->type & VALUE_MODE_MASK) {
|
||||
case (MODE_DIRECT): {
|
||||
cliPrintf("Allowed range: %d - %d\n", var->config.minmax.min, var->config.minmax.max);
|
||||
}
|
||||
break;
|
||||
case (MODE_LOOKUP): {
|
||||
const lookupTableEntry_t *tableEntry = &lookupTables[var->config.lookup.tableIndex];
|
||||
cliPrint("Allowed values:");
|
||||
uint8_t i;
|
||||
for (i = 0; i < tableEntry->valueCount ; i++) {
|
||||
if (i > 0)
|
||||
cliPrint(",");
|
||||
cliPrintf(" %s", tableEntry->values[i]);
|
||||
}
|
||||
cliPrint("\n");
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
static void cliSetVar(const clivalue_t *var, const int_float_value_t value)
|
||||
{
|
||||
void *ptr = var->ptr;
|
||||
|
@ -2669,6 +2690,7 @@ static void cliSet(char *cmdline)
|
|||
cliPrintVar(val, 0);
|
||||
} else {
|
||||
cliPrint("Invalid value\r\n");
|
||||
cliPrintVarRange(val);
|
||||
}
|
||||
|
||||
return;
|
||||
|
@ -2692,6 +2714,8 @@ static void cliGet(char *cmdline)
|
|||
val = &valueTable[i];
|
||||
cliPrintf("%s = ", valueTable[i].name);
|
||||
cliPrintVar(val, 0);
|
||||
cliPrint("\n");
|
||||
cliPrintVarRange(val);
|
||||
cliPrint("\r\n");
|
||||
|
||||
matchedCommands++;
|
||||
|
|
Loading…
Reference in New Issue