diff options
| author | Damien George | 2018-06-19 23:23:17 +1000 |
|---|---|---|
| committer | Damien George | 2018-06-19 23:23:17 +1000 |
| commit | 5962c210c59c21cd1641bac9d7a84c3a4a8b0cf6 (patch) | |
| tree | cf48e0b3703aa6c22cb61c3c0850102656f6d5a9 | |
| parent | 6d8816fe84f3e9de55b544aec71bb1ebc204d745 (diff) | |
stm32/mboot: Define constants for reset mode cycling and timeout.
And fix timeout value so that it does actually finish with reset_mode=1.
| -rw-r--r-- | ports/stm32/mboot/main.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/ports/stm32/mboot/main.c b/ports/stm32/mboot/main.c index 92217a4be..5e2e1819f 100644 --- a/ports/stm32/mboot/main.c +++ b/ports/stm32/mboot/main.c @@ -1004,6 +1004,8 @@ static int pyb_usbdd_shutdown(void) { /******************************************************************************/ // main +#define RESET_MODE_NUM_STATES (4) +#define RESET_MODE_TIMEOUT_CYCLES (8) #define RESET_MODE_LED_STATES 0x7421 static int get_reset_mode(void) { @@ -1015,9 +1017,9 @@ static int get_reset_mode(void) { systick_init(); led_init(); reset_mode = 0; - for (int i = 0; i < 1024; i++) { + for (int i = 0; i < (RESET_MODE_NUM_STATES * RESET_MODE_TIMEOUT_CYCLES + 1) * 32; i++) { if (i % 32 == 0) { - if (++reset_mode > 4) { + if (++reset_mode > RESET_MODE_NUM_STATES) { reset_mode = 1; } uint8_t l = RESET_MODE_LED_STATES >> ((reset_mode - 1) * 4); |
