Class Watchdog
java.lang.Object
org.wpilib.system.Watchdog
- All Implemented Interfaces:
Closeable, AutoCloseable, Comparable<Watchdog>
A class that's a wrapper around a watchdog timer.
When the timer expires, a message is printed to the console and an optional user-provided callback is invoked.
The watchdog is initialized disabled, so the user needs to call enable() before use.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds time since last epoch to the list printed by printEpochs().voidclose()intvoiddisable()Disables the watchdog timer.voidenable()Enables the watchdog timer.booleandoublegetTime()Returns the time in seconds since the watchdog was last fed.doubleReturns the watchdog's timeout in seconds.inthashCode()booleanReturns true if the watchdog timer has expired.voidPrints list of epochs added so far and their times.voidreset()Resets the watchdog timer.voidsetTimeout(double timeout) Sets the watchdog's timeout.voidsuppressTimeoutMessage(boolean suppress) Enable or disable suppression of the generic timeout message.
-
Constructor Details
-
Watchdog
Watchdog constructor.- Parameters:
timeout- The watchdog's timeout in seconds with nanosecond resolution.callback- This function is called when the timeout expires.
-
Watchdog
-
-
Method Details
-
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
equals
-
hashCode
-
compareTo
- Specified by:
compareToin interfaceComparable<Watchdog>
-
getTime
public double getTime()Returns the time in seconds since the watchdog was last fed.- Returns:
- The time in seconds since the watchdog was last fed.
-
setTimeout
public void setTimeout(double timeout) Sets the watchdog's timeout.- Parameters:
timeout- The watchdog's timeout in seconds with nanosecond resolution.
-
getTimeout
public double getTimeout()Returns the watchdog's timeout in seconds.- Returns:
- The watchdog's timeout in seconds.
-
isExpired
public boolean isExpired()Returns true if the watchdog timer has expired.- Returns:
- True if the watchdog timer has expired.
-
addEpoch
Adds time since last epoch to the list printed by printEpochs().- Parameters:
epochName- The name to associate with the epoch.- See Also:
-
printEpochs
public void printEpochs()Prints list of epochs added so far and their times.- See Also:
-
reset
public void reset()Resets the watchdog timer.This also enables the timer if it was previously disabled.
-
enable
public void enable()Enables the watchdog timer. -
disable
public void disable()Disables the watchdog timer. -
suppressTimeoutMessage
public void suppressTimeoutMessage(boolean suppress) Enable or disable suppression of the generic timeout message.This may be desirable if the user-provided callback already prints a more specific message.
- Parameters:
suppress- Whether to suppress generic timeout message.
-