- Name
- Watchdog
- Version
- 3.0.2
- License
- BSD
- URL
- https://github.com/janelia-arduino/Watchdog
- Author
- Peter Polidoro, Antonio Brewer, Steve Sawtelle
- peter@polidoro.io
The watchdog monitors the operation of the system by expecting periodic communication from the software, generally known as servicing or refreshing the watchdog. If this periodic refreshing does not occur, the watchdog resets the system. Works with avr, megaavr, and teensy processors.
When the watchdog timer is enabled, a call to the reset instruction is required before the timer expires after the timeout duration, otherwise a watchdog-initiated device reset will occur.
Possible timeout durations are 15ms, 30ms, 60ms, 120ms, 250ms, 500ms, 1s, 2s, 4s, and 8s.
Not all devices allow timeout durations.
- Teensy 4.x does not allow timeout durations below 1s.
- Other processors do not allow timeout durations of 4s or 8s.
The watchdog code for the Teensy 4 was written by Antonio Brewer:
https://github.com/tonton81/WDT_T4
The tripped method was written by Steve Sawtelle.
Unfortunately this method does not work with certain microprocessors and boards, such as the Arduino Mega 2560, Teensy 2.0, and Teensy++ 2.0.