Browse Source

Use "reset reason" defines (#18462)

vanilla_fb_2.0.x
Giuliano Zaro 4 years ago
committed by GitHub
parent
commit
bfcf7ac2fd
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      Marlin/src/HAL/STM32F1/HAL.cpp
  2. 10
      Marlin/src/MarlinCore.cpp

3
Marlin/src/HAL/STM32F1/HAL.cpp

@ -277,9 +277,8 @@ void HAL_clear_reset_source() { }
/** /**
* TODO: Check this and change or remove. * TODO: Check this and change or remove.
* currently returns 1 that's equal to poweron reset.
*/ */
uint8_t HAL_get_reset_source() { return 1; } uint8_t HAL_get_reset_source() { return RST_POWER_ON; }
void _delay_ms(const int delay_ms) { delay(delay_ms); } void _delay_ms(const int delay_ms) { delay(delay_ms); }

10
Marlin/src/MarlinCore.cpp

@ -936,11 +936,11 @@ void setup() {
// Check startup - does nothing if bootloader sets MCUSR to 0 // Check startup - does nothing if bootloader sets MCUSR to 0
const byte mcu = HAL_get_reset_source(); const byte mcu = HAL_get_reset_source();
if (mcu & 1) SERIAL_ECHOLNPGM(STR_POWERUP); if (mcu & RST_POWER_ON) SERIAL_ECHOLNPGM(STR_POWERUP);
if (mcu & 2) SERIAL_ECHOLNPGM(STR_EXTERNAL_RESET); if (mcu & RST_EXTERNAL) SERIAL_ECHOLNPGM(STR_EXTERNAL_RESET);
if (mcu & 4) SERIAL_ECHOLNPGM(STR_BROWNOUT_RESET); if (mcu & RST_BROWN_OUT) SERIAL_ECHOLNPGM(STR_BROWNOUT_RESET);
if (mcu & 8) SERIAL_ECHOLNPGM(STR_WATCHDOG_RESET); if (mcu & RST_WATCHDOG) SERIAL_ECHOLNPGM(STR_WATCHDOG_RESET);
if (mcu & 32) SERIAL_ECHOLNPGM(STR_SOFTWARE_RESET); if (mcu & RST_SOFTWARE) SERIAL_ECHOLNPGM(STR_SOFTWARE_RESET);
HAL_clear_reset_source(); HAL_clear_reset_source();
serialprintPGM(GET_TEXT(MSG_MARLIN)); serialprintPGM(GET_TEXT(MSG_MARLIN));

Loading…
Cancel
Save