classe WDT – watchdog timer

O WDT é usado para reiniciar o sistema quando a aplicação trava e acaba em um estado não recuperável. Uma vez iniciado, ele não pode ser parado nem reconfigurado de forma alguma. Após habilitá-lo, a aplicação deve “alimentar” o watchdog periodicamente para impedir que ele expire e reinicie o sistema.

Disponível nas câmeras OpenMV STM32 (M4 / M7 / H7 / H7 Plus / Pure Thermal / N6) e na OpenMV Cam RT1062. Não exposto na OpenMV Cam AE3 (porta alif).

Exemplo de uso:

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

Construtores

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

Cria um objeto WDT e o inicia. timeout é dado em milissegundos. Uma vez iniciado, o watchdog não pode ser parado; use timeout_ms() para alterar a janela em tempo de execução.

Métodos

feed() None

Alimenta o WDT para impedir que ele reinicie o sistema. A aplicação deve colocar essa chamada em um local apropriado, garantindo que o WDT só seja alimentado após verificar que tudo está funcionando corretamente.

timeout_ms(timeout: int) None

Altera o timeout do watchdog para timeout milissegundos e recarrega o contador. Útil quando um de vários estados precisa de uma janela maior do que a padrão antes do próximo feed(). O novo timeout entra em vigor imediatamente. Apenas STM32.