rp2/machine_wdt: Check for the maximum timeout value of watchdog.
The value will be checked for timeout <= 8388. Notes were added to the documentation.
This commit is contained in:
parent
8308f9c977
commit
47c45d0e7f
|
@ -15,7 +15,7 @@ Example usage::
|
|||
wdt = WDT(timeout=2000) # enable it with a timeout of 2s
|
||||
wdt.feed()
|
||||
|
||||
Availability of this class: pyboard, WiPy, esp8266, esp32.
|
||||
Availability of this class: pyboard, WiPy, esp8266, esp32, rp2040, mimxrt.
|
||||
|
||||
Constructors
|
||||
------------
|
||||
|
@ -26,7 +26,8 @@ Constructors
|
|||
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.
|
||||
cannot be specified, it is determined by the underlying system. On rp2040 devices,
|
||||
the maximum timeout is 8388 ms.
|
||||
|
||||
Methods
|
||||
-------
|
||||
|
|
|
@ -296,6 +296,7 @@ See :ref:`machine.WDT <machine.WDT>`. ::
|
|||
wdt = WDT(timeout=5000)
|
||||
wdt.feed()
|
||||
|
||||
The maximum value for timeout is 8388 ms.
|
||||
|
||||
OneWire driver
|
||||
--------------
|
||||
|
|
|
@ -29,6 +29,9 @@
|
|||
|
||||
#include "hardware/watchdog.h"
|
||||
|
||||
// The maximum timeout in milliseconds is: 0xffffff / 2 / 1000
|
||||
#define WDT_TIMEOUT_MAX 8388
|
||||
|
||||
typedef struct _machine_wdt_obj_t {
|
||||
mp_obj_base_t base;
|
||||
} machine_wdt_obj_t;
|
||||
|
@ -53,7 +56,11 @@ STATIC mp_obj_t machine_wdt_make_new(const mp_obj_type_t *type, size_t n_args, s
|
|||
}
|
||||
|
||||
// Start the watchdog (timeout is in milliseconds).
|
||||
watchdog_enable(args[ARG_timeout].u_int, false);
|
||||
uint32_t timeout = args[ARG_timeout].u_int;
|
||||
if (timeout > WDT_TIMEOUT_MAX) {
|
||||
mp_raise_ValueError(MP_ERROR_TEXT("timeout exceeds " MP_STRINGIFY(WDT_TIMEOUT_MAX)));
|
||||
}
|
||||
watchdog_enable(timeout, false);
|
||||
|
||||
return MP_OBJ_FROM_PTR(&machine_wdt);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue