Skip to content

Commit e817b8a

Browse files
authored
Merge pull request #8266 from iNavFlight/MrD_Change-order-of-diff-and-dump-to-have-LC-last
Make programming framework CLI safe
2 parents 331450b + d1fc694 commit e817b8a

File tree

2 files changed

+18
-13
lines changed

2 files changed

+18
-13
lines changed

src/main/fc/cli.c

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3663,7 +3663,7 @@ static void printConfig(const char *cmdline, bool doDiff)
36633663
printMotorMix(dumpMask, primaryMotorMixer_CopyArray, primaryMotorMixer(0));
36643664

36653665
// print custom servo mixer if exists
3666-
cliPrintHashLine("servo mix");
3666+
cliPrintHashLine("servo mixer");
36673667
cliDumpPrintLinef(dumpMask, customServoMixers_CopyArray[0].rate == 0, "smix reset\r\n");
36683668
printServoMix(dumpMask, customServoMixers_CopyArray, customServoMixers(0));
36693669

@@ -3675,16 +3675,6 @@ static void printConfig(const char *cmdline, bool doDiff)
36753675
cliPrintHashLine("safehome");
36763676
printSafeHomes(dumpMask, safeHomeConfig_CopyArray, safeHomeConfig(0));
36773677
#endif
3678-
#ifdef USE_PROGRAMMING_FRAMEWORK
3679-
cliPrintHashLine("logic");
3680-
printLogic(dumpMask, logicConditions_CopyArray, logicConditions(0));
3681-
3682-
cliPrintHashLine("gvar");
3683-
printGvar(dumpMask, globalVariableConfigs_CopyArray, globalVariableConfigs(0));
3684-
3685-
cliPrintHashLine("pid");
3686-
printPid(dumpMask, programmingPids_CopyArray, programmingPids(0));
3687-
#endif
36883678

36893679
cliPrintHashLine("feature");
36903680
printFeature(dumpMask, &featureConfig_Copy, featureConfig());
@@ -3740,6 +3730,17 @@ static void printConfig(const char *cmdline, bool doDiff)
37403730
printOsdLayout(dumpMask, &osdLayoutsConfig_Copy, osdLayoutsConfig(), -1, -1);
37413731
#endif
37423732

3733+
#ifdef USE_PROGRAMMING_FRAMEWORK
3734+
cliPrintHashLine("logic");
3735+
printLogic(dumpMask, logicConditions_CopyArray, logicConditions(0));
3736+
3737+
cliPrintHashLine("global vars");
3738+
printGvar(dumpMask, globalVariableConfigs_CopyArray, globalVariableConfigs(0));
3739+
3740+
cliPrintHashLine("programmable pid controllers");
3741+
printPid(dumpMask, programmingPids_CopyArray, programmingPids(0));
3742+
#endif
3743+
37433744
cliPrintHashLine("master");
37443745
dumpAllValues(MASTER_VALUE, dumpMask);
37453746

@@ -3760,7 +3761,6 @@ static void printConfig(const char *cmdline, bool doDiff)
37603761
cliPrintLinef("profile %d", currentProfileIndexSave + 1);
37613762
cliPrintLinef("battery_profile %d", currentBatteryProfileIndexSave + 1);
37623763

3763-
cliPrintHashLine("save configuration\r\nsave");
37643764
#ifdef USE_CLI_BATCH
37653765
batchModeEnabled = false;
37663766
#endif
@@ -3779,6 +3779,10 @@ static void printConfig(const char *cmdline, bool doDiff)
37793779
cliDumpBatteryProfile(getConfigBatteryProfile(), dumpMask);
37803780
}
37813781

3782+
if ((dumpMask & DUMP_MASTER) || (dumpMask & DUMP_ALL)) {
3783+
cliPrintHashLine("save configuration\r\nsave");
3784+
}
3785+
37823786
#ifdef USE_CLI_BATCH
37833787
if (batchModeEnabled) {
37843788
cliPrintHashLine("end the command batch");

src/main/programming/logic_condition.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
#include "rx/rx.h"
3636
#include "common/maths.h"
3737
#include "fc/config.h"
38+
#include "fc/cli.h"
3839
#include "fc/fc_core.h"
3940
#include "fc/rc_controls.h"
4041
#include "fc/runtime_config.h"
@@ -411,7 +412,7 @@ void logicConditionProcess(uint8_t i) {
411412

412413
const int activatorValue = logicConditionGetValue(logicConditions(i)->activatorId);
413414

414-
if (logicConditions(i)->enabled && activatorValue) {
415+
if (logicConditions(i)->enabled && activatorValue && !cliMode) {
415416

416417
/*
417418
* Process condition only when latch flag is not set

0 commit comments

Comments
 (0)