8000 Safe mode when ESP interrupt watchdog fires · crackmonkey/circuitpython@d42c811 · GitHub
[go: up one dir, main page]

Skip to content

Commit d42c811

Browse files
committed
Safe mode when ESP interrupt watchdog fires
This makes us enter safe mode when sleep on the S3 fails. The task watchdog is used for the user watchdog.
1 parent a055113 commit d42c811

File tree

3 files changed

+10
-12
lines changed

3 files changed

+10
-12
lines changed

locale/circuitpython.pot

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ msgstr ""
7272
#: ports/mimxrt10xx/common-hal/rtc/RTC.c
7373
#: ports/nrf/common-hal/analogio/AnalogOut.c ports/nrf/common-hal/rtc/RTC.c
7474
#: ports/raspberrypi/common-hal/analogio/AnalogOut.c
75-
#: ports/raspberrypi/common-hal/rtc/RTC.c
75+
#: ports/raspberrypi/common-hal/rtc/RTC.c ports/stm/common-hal/rtc/RTC.c
7676
msgid "%q"
7777
msgstr ""
7878

@@ -432,7 +432,6 @@ msgstr ""
432432
msgid "All event channels in use"
433433
msgstr ""
434434

435-
#: ports/raspberrypi/common-hal/pulseio/PulseIn.c
436435
#: ports/raspberrypi/common-hal/rp2pio/StateMachine.c
437436
msgid "All state machines in use"
438437
msgstr ""
@@ -518,7 +517,7 @@ msgstr ""
518517
msgid "AuthMode.OPEN is not used with password"
519518
msgstr ""
520519

521-
#: shared-bindings/wifi/Radio.c
520+
#: shared-bindings/wifi/Radio.c supervisor/shared/web_workflow/web_workflow.c
522521
msgid "Authentication failure"
523522
msgstr ""
524523

@@ -1160,6 +1159,10 @@ msgstr ""
11601159
msgid "Internal error #%d"
11611160
msgstr ""
11621161

1162+
#: supervisor/shared/safe_mode.c
1163+
msgid "Internal watchdog timer expired."
1164+
msgstr ""
1165+
11631166
#: py/argcheck.c
11641167
msgid "Invalid %q"
11651168
msgstr ""
@@ -2244,10 +2247,6 @@ msgstr ""
22442247
msgid "WatchDogTimer.timeout must be greater than 0"
22452248
msgstr ""
22462249

2247-
#: supervisor/shared/safe_mode.c
2248-
msgid "Watchdog timer expired."
2249-
msgstr ""
2250-
22512250
#: py/builtinhelp.c
22522251
#, c-format
22532252
msgid ""
@@ -3915,10 +3914,6 @@ msgstr ""
39153914
msgid "source_bitmap must have value_count of 8"
39163915
msgstr ""
39173916

3918-
#: shared-bindings/wifi/Radio.c
3919-
msgid "ssid can't be more than 32 bytes"
3920-
msgstr ""
3921-
39223917
#: py/objstr.c
39233918
msgid "start/end indices"
39243919
msgstr ""

ports/espressif/supervisor/port.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,9 @@ safe_mode_t port_init(void) {
214214
case ESP_RST_PANIC:
215215
return HARD_CRASH;
216216
case ESP_RST_INT_WDT:
217+
// The interrupt watchdog is used internally to make sure that latency sensitive
218+
// interrupt code isn't blocked. User watchdog resets come through ESP_RST_WDT.
219+
return WATCHDOG_RESET;
217220
case ESP_RST_WDT:
218221
default:
219222
break;

supervisor/shared/safe_mode.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ void print_safe_mode_message(safe_mode_t reason) {
178178
message = translate("Boot device must be first device (interface #0).");
179179
break;
180180
case WATCHDOG_RESET:
181-
message = translate("Watchdog timer expired.");
181+
message = translate("Internal watchdog timer expired.");
182182
break;
183183
case NO_CIRCUITPY:
184184
message = translate("CIRCUITPY drive could not be found or created.");

0 commit comments

Comments
 (0)
0