diff --git a/src/main/fc/cli.c b/src/main/fc/cli.c index f028265434..5a15f9310f 100755 --- a/src/main/fc/cli.c +++ b/src/main/fc/cli.c @@ -147,6 +147,7 @@ static uint32_t bufferIndex = 0; static bool configIsInCopy = false; static const char* const emptyName = "-"; +static const char* const emptryString = ""; #ifndef USE_QUAD_MIXER_ONLY // sync this with mixerMode_e @@ -1911,18 +1912,22 @@ static void printFeature(uint8_t dumpMask, const featureConfig_t *featureConfig, { const uint32_t mask = featureConfig->enabledFeatures; const uint32_t defaultMask = featureConfigDefault->enabledFeatures; - for (uint32_t i = 0; featureNames[i]; i++) { // disable all feature first - const char *format = "feature -%s"; - cliDefaultPrintLinef(dumpMask, (defaultMask | ~mask) & (1 << i), format, featureNames[i]); - cliDumpPrintLinef(dumpMask, (~defaultMask | mask) & (1 << i), format, featureNames[i]); - } - for (uint32_t i = 0; featureNames[i]; i++) { // reenable what we want. - const char *format = "feature %s"; - if (defaultMask & (1 << i)) { - cliDefaultPrintLinef(dumpMask, (~defaultMask | mask) & (1 << i), format, featureNames[i]); + for (uint32_t i = 0; featureNames[i]; i++) { // disabled features first + if (strcmp(featureNames[i], emptryString) != 0) { //Skip unused + const char *format = "feature -%s"; + cliDefaultPrintLinef(dumpMask, (defaultMask | ~mask) & (1 << i), format, featureNames[i]); + cliDumpPrintLinef(dumpMask, (~defaultMask | mask) & (1 << i), format, featureNames[i]); } - if (mask & (1 << i)) { - cliDumpPrintLinef(dumpMask, (defaultMask | ~mask) & (1 << i), format, featureNames[i]); + } + for (uint32_t i = 0; featureNames[i]; i++) { // enabled features + if (strcmp(featureNames[i], emptryString) != 0) { //Skip unused + const char *format = "feature %s"; + if (defaultMask & (1 << i)) { + cliDefaultPrintLinef(dumpMask, (~defaultMask | mask) & (1 << i), format, featureNames[i]); + } + if (mask & (1 << i)) { + cliDumpPrintLinef(dumpMask, (defaultMask | ~mask) & (1 << i), format, featureNames[i]); + } } } } @@ -1946,7 +1951,7 @@ static void cliFeature(char *cmdline) for (uint32_t i = 0; ; i++) { if (featureNames[i] == NULL) break; - if (strcmp(featureNames[i], "") != 0) //Skip unused + if (strcmp(featureNames[i], emptryString) != 0) //Skip unused cliPrintf(" %s", featureNames[i]); } cliPrintLinefeed();