classe WDT – watchdog timer

Il WDT viene usato per riavviare il sistema quando l’applicazione va in crash e finisce in uno stato non recuperabile. Una volta avviato non può essere fermato né riconfigurato in alcun modo. Dopo l’abilitazione, l’applicazione deve «alimentare» il watchdog periodicamente per impedirgli di scadere e resettare il sistema.

Disponibile sulle camere OpenMV STM32 (M4 / M7 / H7 / H7 Plus / Pure Thermal / N6) e sulla OpenMV Cam RT1062. Non esposto sulla OpenMV Cam AE3 (porta alif).

Esempio di utilizzo:

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

Costruttori

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

Crea un oggetto WDT e lo avvia. timeout è espresso in millisecondi. Una volta avviato il watchdog non può essere fermato; usare timeout_ms() per modificare la finestra a runtime.

Metodi

feed() None

Alimenta il WDT per impedirgli di resettare il sistema. L’applicazione dovrebbe collocare questa chiamata in un punto opportuno, assicurandosi che il WDT venga alimentato solo dopo aver verificato che tutto funzioni correttamente.

timeout_ms(timeout: int) None

Modifica il timeout del watchdog a timeout millisecondi e ricarica il contatore. Utile quando uno tra diversi stati necessita di una finestra più lunga di quella predefinita prima del successivo feed(). Il nuovo timeout ha effetto immediato. Solo STM32.