Skip to content

Commit 293c8ba

Browse files
committed
Add RP2040/2350 reset reason / brownout detection
1 parent f454535 commit 293c8ba

File tree

1 file changed

+35
-2
lines changed

1 file changed

+35
-2
lines changed

src/Wippersnapper.cpp

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2734,7 +2734,38 @@ void get_and_print_reset_reason_for_cpu(int cpuCore) {
27342734
print_reset_reason(rtc_get_reset_reason(cpuCore));
27352735
}
27362736

2737-
#endif // ARDUINO_ARCH_ESP32
2737+
// end of ARDUINO_ARCH_ESP32
2738+
#elif defined(ARDUINO_ARCH_RP2040)
2739+
2740+
void print_reset_reason()
2741+
{
2742+
RP2040::resetReason_t reason = rp2040.getResetReason();
2743+
WS_DEBUG_PRINT("RP2040 RESET REASON: ");
2744+
switch (reason)
2745+
{
2746+
case RP2040::resetReason_t::UNKNOWN_RESET:
2747+
WS_DEBUG_PRINTLN("Unknown Reset");
2748+
case RP2040::resetReason_t::PWRON_RESET:
2749+
WS_DEBUG_PRINTLN("Power-On Reset");
2750+
case RP2040::resetReason_t::RUN_PIN_RESET:
2751+
WS_DEBUG_PRINTLN("Run Pin Reset");
2752+
case RP2040::resetReason_t::SOFT_RESET:
2753+
WS_DEBUG_PRINTLN("Soft Reset");
2754+
case RP2040::resetReason_t::WDT_RESET:
2755+
WS_DEBUG_PRINTLN("Watchdog Timer Reset");
2756+
case RP2040::resetReason_t::DEBUG_RESET:
2757+
WS_DEBUG_PRINTLN("Debug Reset");
2758+
case RP2040::resetReason_t::GLITCH_RESET:
2759+
WS_DEBUG_PRINTLN("Glitch Reset");
2760+
case RP2040::resetReason_t::BROWNOUT_RESET:
2761+
WS.brownOutCausedReset = true;
2762+
WS_DEBUG_PRINTLN("Brownout Reset");
2763+
default:
2764+
WS_DEBUG_PRINTLN("Unknown Reset Reason");
2765+
}
2766+
}
2767+
2768+
#endif
27382769

27392770
/**************************************************************************/
27402771
/*!
@@ -2765,12 +2796,14 @@ void printDeviceInfo() {
27652796
get_and_print_reset_reason_for_cpu(0);
27662797
WS_DEBUG_PRINT("ESP32 CPU1 RESET REASON: ");
27672798
get_and_print_reset_reason_for_cpu(1);
2799+
#elif defined(ARDUINO_ARCH_RP2040) || defined(PICO_RP2350)
2800+
print_reset_reason();
27682801
#endif
27692802
}
27702803

27712804
/**************************************************************************/
27722805
/*!
2773-
@brief Connects to Adafruit IO+ Wippersnapper broker.
2806+
@brief Connects to Adafruit IO Wippersnapper broker.
27742807
*/
27752808
/**************************************************************************/
27762809
void Wippersnapper::connect() {

0 commit comments

Comments
 (0)