klasa WDT – watchdog timer

WDT służy do ponownego uruchomienia systemu, gdy aplikacja ulegnie awarii i znajdzie się w stanie, z którego nie da się powrócić. Po uruchomieniu nie można go w żaden sposób zatrzymać ani zrekonfigurować. Po włączeniu aplikacja musi okresowo „karmić” watchdoga, aby zapobiec jego wygaśnięciu i zresetowaniu systemu.

Dostępny na kamerach STM32 OpenMV (M4 / M7 / H7 / H7 Plus / Pure Thermal / N6) oraz OpenMV Cam RT1062. Nieudostępniony na OpenMV Cam AE3 (port alif).

Przykład użycia:

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

Konstruktory

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

Tworzy obiekt WDT i uruchamia go. timeout podawany jest w milisekundach. Po uruchomieniu watchdoga nie można go zatrzymać; użyj timeout_ms(), aby zmienić okno w czasie działania.

Metody

feed() None

Karmi WDT, aby zapobiec zresetowaniu przez niego systemu. Aplikacja powinna umieścić to wywołanie w rozsądnym miejscu, zapewniając, że WDT jest karmiony dopiero po sprawdzeniu, że wszystko działa poprawnie.

timeout_ms(timeout: int) None

Zmienia limit czasu watchdoga na timeout milisekund i przeładowuje licznik. Przydatne, gdy jeden z kilku stanów wymaga okna dłuższego niż domyślne przed następnym feed(). Nowy limit czasu zaczyna obowiązywać natychmiast. Tylko STM32.