клас WDT – сторожовий таймер

WDT використовується для перезапуску системи, коли застосунок аварійно завершується або потрапляє в стан, з якого неможливо відновитися. Після запуску його не можна зупинити або переналаштувати. Після увімкнення застосунок повинен periodically «годувати» сторожовий таймер, щоб запобігти його спрацьовуванню та скиданню системи.

Доступно на STM32 OpenMV Cam (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.