extendedWatchDogAVR class

The extendedWatchDogAVR class uses the pre-reset interrupt to of the built in AVR watchdog to extend the allowable time between resets of the watchdog's clock up to multiple minute timescales.

The standard watchdog on an AVR processor has a maximum period of 8s without a reset of the watchdog clock before the processor is restarted.

Code for this is taken from this forum post: https://forum.arduino.cc/index.php?topic=248263.0

Public static variables

static volatile uint32_t _barksUntilReset
The number of times the pre-reset interrupt is allowed to fire before the watchdog reset is allowed.

Constructors, destructors, conversion operators

extendedWatchDogAVR()
Construct a new extended watch dog object for AVR processors.
~extendedWatchDogAVR()
Destroy the extended watch dog object for AVR processors.

Public functions

void setupWatchDog(uint32_t resetTime_s)
One-time initialization of watchdog timer.
void enableWatchDog()
Enable the watchdog.
void disableWatchDog()
Disable the watchdog.
void resetWatchDog()
Reset the watchdog's clock to prevent the board from resetting.

Function documentation

void extendedWatchDogAVR::setupWatchDog(uint32_t resetTime_s)

One-time initialization of watchdog timer.

Parameters
resetTime_s The length of time in seconds between resets of the watchdog before the entire board is reset.