WPILibC++
2019.2.1-27-gd55ca19
|
A class that's a wrapper around a watchdog timer. More...
#include <Watchdog.h>
Public Member Functions | |
Watchdog (double timeout, std::function< void()> callback) | |
Watchdog constructor. More... | |
template<typename Callable , typename Arg , typename... Args> | |
Watchdog (double timeout, Callable &&f, Arg &&arg, Args &&...args) | |
Watchdog (Watchdog &&)=default | |
Watchdog & | operator= (Watchdog &&)=default |
double | GetTime () const |
Returns the time in seconds since the watchdog was last fed. | |
void | SetTimeout (double timeout) |
Sets the watchdog's timeout. More... | |
double | GetTimeout () const |
Returns the watchdog's timeout in seconds. | |
bool | IsExpired () const |
Returns true if the watchdog timer has expired. | |
void | AddEpoch (wpi::StringRef epochName) |
Adds time since last epoch to the list printed by PrintEpochs(). More... | |
void | PrintEpochs () |
Prints list of epochs added so far and their times. | |
void | Reset () |
Resets the watchdog timer. More... | |
void | Enable () |
Enables the watchdog timer. | |
void | Disable () |
Disables the watchdog timer. | |
void | SuppressTimeoutMessage (bool suppress) |
Enable or disable suppression of the generic timeout message. More... | |
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.
frc::Watchdog::Watchdog | ( | double | timeout, |
std::function< void()> | callback | ||
) |
Watchdog constructor.
timeout | The watchdog's timeout in seconds with microsecond resolution. |
callback | This function is called when the timeout expires. |
void frc::Watchdog::AddEpoch | ( | wpi::StringRef | epochName | ) |
Adds time since last epoch to the list printed by PrintEpochs().
Epochs are a way to partition the time elapsed so that when overruns occur, one can determine which parts of an operation consumed the most time.
epochName | The name to associate with the epoch. |
void frc::Watchdog::Reset | ( | ) |
Resets the watchdog timer.
This also enables the timer if it was previously disabled.
void frc::Watchdog::SetTimeout | ( | double | timeout | ) |
Sets the watchdog's timeout.
timeout | The watchdog's timeout in seconds with microsecond resolution. |
void frc::Watchdog::SuppressTimeoutMessage | ( | bool | 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.
suppress | Whether to suppress generic timeout message. |