watchdog RAISE without timeout resets on ESP32-S3, hangs on ESP32-C5

Geschlossen
#11,763 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Ein zugehöriger Pull Request wurde bereits gemerged.

  • #11791 von @mikeysklar — gemerged

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
48/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
c, embedded-iot, python
Bereich
embedded-iot

Rechercherichtung

Start by tracing how the watchdog timeout defaults to 0.0 and how RAISE mode is configured for ESP32-S3 and ESP32-C5. Compare those paths with RESET mode and with RAISE mode when a timeout is set, then check the relevant watchdog tests or board-specific code. Done means no-timeout RAISE mode behaves safely on both boards without resetting or hanging.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

bug espressif
CircuitPython version and board name
Adafruit CircuitPython 11.0.0-alpha.2-80-g50739b2818 on 2026-11-04; Adafruit QT Py ESP32-S3 4MB Flash 2MB PSRAM with ESP32S3

Adafruit CircuitPython 11.0.0-alpha.2-80-g50739b2818 on 2026-11-04; ESP32-C5-DevKitC-1-N8R8 with ESP32C5
Code/REPL
import microcontroller
import watchdog
import time

time.sleep(5)  # S3 safety against reset ∞ loop

wdt = microcontroller.watchdog
wdt.mode = watchdog.WatchDogMode.RAISE
Behavior

ESP32-S3
Behaves normally with a timeout, or with no timeout but watchdog.WatchDogMode.RESET However, no timeout with watchdog.WatchDogMode.RAISE resets:

Adafruit CircuitPython 11.0.0-alpha.2-80-g50739b2818 on 2026-11-04; ESP32-C5-DevKitC-1-N8R8 with ESP32C5
>>> import microcontroller
>>> import watchdog
>>> 
>>> wdt = microcontroller.watchdog
>>> wdt.mode = watchdog.WatchDogMode.RAISE

[tio 13:34:58] Disconnected

ESP32-C5
Behaves normally with a timeout, or with no timeout but watchdog.WatchDogMode.RESET However, no timeout with watchdog.WatchDogMode.RAISE hangs:

Adafruit CircuitPython 11.0.0-alpha.2-80-g50739b2818 on 2026-11-04; ESP32-C5-DevKitC-1-N8R8 with ESP32C5
>>> import microcontroller
>>> import watchdog
>>> 
>>> wdt = microcontroller.watchdog
>>> wdt.mode = watchdog.WatchDogMode.RAISE
# ...hang (no control-c; manual reset required)

timeout defaults to 0.0. The hang could be especially confusing to someone who inadvertently left off the timeout.

Description

No response

Additional information

No response

Vorherrschende Sprache
C
Sterne
4.6k
Forks
1.4k
Ø Merge
1 T. 3 Std.
Gemergte PRs (30 T.)
183

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus adafruit/circuitpython

Alle Issues in adafruit/circuitpython

Ähnliche Issues

Weitere Issues zu C

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.