class WDT – сторожевой таймер

WDT используется для перезапуска системы, когда приложение аварийно завершается и переходит в невосстановимое состояние. После запуска его нельзя остановить или каким-либо образом перенастроить. После включения приложение должно периодически «кормить» сторожевой таймер, чтобы не дать ему истечь и сбросить систему.

Доступно на STM32 камерах OpenMV (M4 / M7 / H7 / H7 Plus / Pure Thermal / N6) и на OpenMV Cam RT1062. Не предоставляется на OpenMV Cam AE3 (порт alif).

Пример использования:

from machine import WDT
wdt = WDT(timeout=2000)  # enable it with a timeout of 2s
wdt.feed()

Конструкторы

class machine.WDT(id: int = 0, timeout: int = 5000)

Создаёт объект WDT и запускает его. timeout задаётся в миллисекундах. После запуска сторожевой таймер нельзя остановить; используйте timeout_ms(), чтобы изменить окно во время выполнения.

Методы

feed() None

Кормит WDT, чтобы не дать ему сбросить систему. Приложение должно размещать этот вызов в разумном месте, гарантируя, что WDT кормится только после проверки того, что всё работает корректно.

timeout_ms(timeout: int) None

Изменяет тайм-аут сторожевого таймера на timeout миллисекунд и перезагружает счётчик. Полезно, когда одному из нескольких состояний требуется большее, чем по умолчанию, окно до следующего feed(). Новый тайм-аут вступает в силу немедленно. Только для STM32.