diff options
author | Damien George <damien@micropython.org> | 2021-05-06 10:49:43 +1000 |
---|---|---|
committer | Damien George <damien@micropython.org> | 2021-05-12 13:44:47 +1000 |
commit | 9ee116c452e6569d70cdebaade5dd25a1555b82b (patch) | |
tree | 1e1e53243c146bf767b3af10d7cea8eefe826e7d | |
parent | ee4ffc1804cc39c80128185e7ea96365fa381d7e (diff) |
stm32/boardctrl: Adjust logic for running boot.py, main.py.
This new logic is equivalent to the old logic when the only possibilities
for reset_mode are NORMAL, SAFE_MODE and FILESYSTEM, which is the standard
case. But the new logic also allows other reset_mode values (eg
BOOTLOADER) to run boot.py and main.py.
Signed-off-by: Damien George <damien@micropython.org>
-rw-r--r-- | ports/stm32/boardctrl.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/ports/stm32/boardctrl.c b/ports/stm32/boardctrl.c index 8cc519d8e..f1b7a4e81 100644 --- a/ports/stm32/boardctrl.c +++ b/ports/stm32/boardctrl.c @@ -143,8 +143,7 @@ void boardctrl_top_soft_reset_loop(boardctrl_state_t *state) { } int boardctrl_run_boot_py(boardctrl_state_t *state) { - bool run_boot_py = state->reset_mode == BOARDCTRL_RESET_MODE_NORMAL - || state->reset_mode == BOARDCTRL_RESET_MODE_FACTORY_FILESYSTEM; + bool run_boot_py = state->reset_mode != BOARDCTRL_RESET_MODE_SAFE_MODE; if (run_boot_py) { // Run boot.py, if it exists. @@ -176,8 +175,7 @@ int boardctrl_run_boot_py(boardctrl_state_t *state) { } int boardctrl_run_main_py(boardctrl_state_t *state) { - bool run_main_py = (state->reset_mode == BOARDCTRL_RESET_MODE_NORMAL - || state->reset_mode == BOARDCTRL_RESET_MODE_FACTORY_FILESYSTEM) + bool run_main_py = state->reset_mode != BOARDCTRL_RESET_MODE_SAFE_MODE && pyexec_mode_kind == PYEXEC_MODE_FRIENDLY_REPL; if (run_main_py) { |