Package edu.wpi.first.wpilibj
Class Watchdog
java.lang.Object
edu.wpi.first.wpilibj.Watchdog
- All Implemented Interfaces:
Closeable
,AutoCloseable
,Comparable<Watchdog>
public class Watchdog extends Object implements Closeable, 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
-
Method Summary
Modifier and Type Method Description void
addEpoch(String epochName)
Adds time since last epoch to the list printed by printEpochs().void
close()
int
compareTo(Watchdog rhs)
void
disable()
Disables the watchdog timer.void
enable()
Enables the watchdog timer.boolean
equals(Object obj)
double
getTime()
Returns the time in seconds since the watchdog was last fed.double
getTimeout()
Returns the watchdog's timeout in seconds.int
hashCode()
boolean
isExpired()
Returns true if the watchdog timer has expired.void
printEpochs()
Prints list of epochs added so far and their times.void
reset()
Resets the watchdog timer.void
setTimeout(double timeoutSeconds)
Sets the watchdog's timeout.void
suppressTimeoutMessage(boolean suppress)
Enable or disable suppression of the generic timeout message.
-
Constructor Details
-
Watchdog
Watchdog constructor.- Parameters:
timeoutSeconds
- The watchdog's timeout in seconds with microsecond resolution.callback
- This function is called when the timeout expires.
-
-
Method Details
-
close
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
-
equals
-
hashCode
-
compareTo
- Specified by:
compareTo
in interfaceComparable<Watchdog>
-
getTime
Returns the time in seconds since the watchdog was last fed.- Returns:
- The time in seconds since the watchdog was last fed.
-
setTimeout
Sets the watchdog's timeout.- Parameters:
timeoutSeconds
- The watchdog's timeout in seconds with microsecond resolution.
-
getTimeout
Returns the watchdog's timeout in seconds.- Returns:
- The watchdog's timeout in seconds.
-
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:
Tracer.addEpoch(String)
-
printEpochs
Prints list of epochs added so far and their times.- See Also:
Tracer.printEpochs()
-
reset
Resets the watchdog timer.This also enables the timer if it was previously disabled.
-
enable
Enables the watchdog timer. -
disable
Disables the watchdog timer. -
suppressTimeoutMessage
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.
-