40 lines
1.3 KiB
ReStructuredText
40 lines
1.3 KiB
ReStructuredText
.. currentmodule:: machine
|
|
.. _machine.WDT:
|
|
|
|
class WDT -- watchdog timer
|
|
===========================
|
|
|
|
The WDT is used to restart the system when the application crashes and ends
|
|
up into a non recoverable state. Once started it cannot be stopped or
|
|
reconfigured in any way. After enabling, the application must "feed" the
|
|
watchdog periodically to prevent it from expiring and resetting the system.
|
|
|
|
Example usage::
|
|
|
|
from machine import WDT
|
|
wdt = WDT(timeout=2000) # enable it with a timeout of 2s
|
|
wdt.feed()
|
|
|
|
Availability of this class: pyboard, WiPy, esp8266, esp32, rp2040, mimxrt.
|
|
|
|
Constructors
|
|
------------
|
|
|
|
.. class:: WDT(id=0, timeout=5000)
|
|
|
|
Create a WDT object and start it. The timeout must be given in milliseconds.
|
|
Once it is running the timeout cannot be changed and the WDT cannot be stopped either.
|
|
|
|
Notes: On the esp32 the minimum timeout is 1 second. On the esp8266 a timeout
|
|
cannot be specified, it is determined by the underlying system. On rp2040 devices,
|
|
the maximum timeout is 8388 ms.
|
|
|
|
Methods
|
|
-------
|
|
|
|
.. method:: WDT.feed()
|
|
|
|
Feed the WDT to prevent it from resetting the system. The application
|
|
should place this call in a sensible place ensuring that the WDT is
|
|
only fed after verifying that everything is functioning correctly.
|