clasa WDT – temporizator de supraveghere (watchdog)

WDT este folosit pentru a reporni sistemul atunci când aplicația se blochează și ajunge într-o stare nerecuperabilă. Odată pornit, nu poate fi oprit sau reconfigurat în niciun fel. După activare, aplicația trebuie să „hrănească” periodic watchdog-ul pentru a-l împiedica să expire și să reseteze sistemul.

Disponibil pe camerele OpenMV STM32 (M4 / M7 / H7 / H7 Plus / Pure Thermal / N6) și pe OpenMV Cam RT1062. Nu este expus pe OpenMV Cam AE3 (portul alif).

Exemplu de utilizare:

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

Constructori

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

Creează un obiect WDT și îl pornește. timeout este dat în milisecunde. Odată pornit, watchdog-ul nu poate fi oprit; folosiți timeout_ms() pentru a modifica fereastra în timpul execuției.

Metode

feed() None

Hrănește WDT-ul pentru a-l împiedica să reseteze sistemul. Aplicația ar trebui să plaseze acest apel într-un loc potrivit, asigurându-se că WDT-ul este hrănit doar după verificarea faptului că totul funcționează corect.

timeout_ms(timeout: int) None

Modifică timeout-ul watchdog-ului la timeout milisecunde și reîncarcă numărătorul. Util atunci când una dintre mai multe stări necesită o fereastră mai lungă decât cea implicită înainte de următorul feed(). Noul timeout intră în vigoare imediat. Doar STM32.