WPILibC++ 2024.3.2
|
TimedRobot implements the IterativeRobotBase robot program framework. More...
#include <frc/TimedRobot.h>
Public Member Functions | |
void | StartCompetition () override |
Provide an alternate "main loop" via StartCompetition(). More... | |
void | EndCompetition () override |
Ends the main loop in StartCompetition(). More... | |
TimedRobot (units::second_t period=kDefaultPeriod) | |
Constructor for TimedRobot. More... | |
~TimedRobot () override | |
TimedRobot (TimedRobot &&)=default | |
TimedRobot & | operator= (TimedRobot &&)=default |
void | AddPeriodic (std::function< void()> callback, units::second_t period, units::second_t offset=0_s) |
Add a callback to run at a specific period with a starting time offset. More... | |
Public Member Functions inherited from frc::IterativeRobotBase | |
virtual void | RobotInit () |
Robot-wide initialization code should go here. More... | |
virtual void | DriverStationConnected () |
Code that needs to know the DS state should go here. More... | |
virtual void | SimulationInit () |
Robot-wide simulation initialization code should go here. More... | |
virtual void | DisabledInit () |
Initialization code for disabled mode should go here. More... | |
virtual void | AutonomousInit () |
Initialization code for autonomous mode should go here. More... | |
virtual void | TeleopInit () |
Initialization code for teleop mode should go here. More... | |
virtual void | TestInit () |
Initialization code for test mode should go here. More... | |
virtual void | RobotPeriodic () |
Periodic code for all modes should go here. More... | |
virtual void | SimulationPeriodic () |
Periodic simulation code should go here. More... | |
virtual void | DisabledPeriodic () |
Periodic code for disabled mode should go here. More... | |
virtual void | AutonomousPeriodic () |
Periodic code for autonomous mode should go here. More... | |
virtual void | TeleopPeriodic () |
Periodic code for teleop mode should go here. More... | |
virtual void | TestPeriodic () |
Periodic code for test mode should go here. More... | |
virtual void | DisabledExit () |
Exit code for disabled mode should go here. More... | |
virtual void | AutonomousExit () |
Exit code for autonomous mode should go here. More... | |
virtual void | TeleopExit () |
Exit code for teleop mode should go here. More... | |
virtual void | TestExit () |
Exit code for test mode should go here. More... | |
void | SetNetworkTablesFlushEnabled (bool enabled) |
Enables or disables flushing NetworkTables every loop iteration. More... | |
void | EnableLiveWindowInTest (bool testLW) |
Sets whether LiveWindow operation is enabled during test mode. More... | |
bool | IsLiveWindowEnabledInTest () |
Whether LiveWindow operation is enabled during test mode. More... | |
units::second_t | GetPeriod () const |
Gets time period between calls to Periodic() functions. More... | |
IterativeRobotBase (units::second_t period) | |
Constructor for IterativeRobotBase. More... | |
~IterativeRobotBase () override=default | |
Public Member Functions inherited from frc::RobotBase | |
bool | IsEnabled () const |
Determine if the Robot is currently enabled. More... | |
bool | IsDisabled () const |
Determine if the Robot is currently disabled. More... | |
bool | IsAutonomous () const |
Determine if the robot is currently in Autonomous mode. More... | |
bool | IsAutonomousEnabled () const |
Determine if the robot is currently in Autonomous mode and enabled. More... | |
bool | IsTeleop () const |
Determine if the robot is currently in Operator Control mode. More... | |
bool | IsTeleopEnabled () const |
Determine if the robot is current in Operator Control mode and enabled. More... | |
bool | IsTest () const |
Determine if the robot is currently in Test mode. More... | |
bool | IsTestEnabled () const |
Determine if the robot is current in Test mode and enabled. More... | |
virtual void | StartCompetition ()=0 |
Start the main robot code. More... | |
virtual void | EndCompetition ()=0 |
Ends the main loop in StartCompetition(). More... | |
RobotBase () | |
Constructor for a generic robot program. More... | |
virtual | ~RobotBase ()=default |
Static Public Attributes | |
static constexpr auto | kDefaultPeriod = 20_ms |
Default loop period. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from frc::RobotBase | |
static std::thread::id | GetThreadId () |
Returns the main thread ID. More... | |
static RuntimeType | GetRuntimeType () |
Get the current runtime type. More... | |
static constexpr bool | IsReal () |
Get if the robot is real. More... | |
static constexpr bool | IsSimulation () |
Get if the robot is a simulation. More... | |
Protected Member Functions inherited from frc::IterativeRobotBase | |
IterativeRobotBase (IterativeRobotBase &&)=default | |
IterativeRobotBase & | operator= (IterativeRobotBase &&)=default |
void | LoopFunc () |
Loop function. More... | |
Protected Member Functions inherited from frc::RobotBase | |
RobotBase (RobotBase &&)=default | |
RobotBase & | operator= (RobotBase &&)=default |
Static Protected Attributes inherited from frc::RobotBase | |
static std::thread::id | m_threadId |
TimedRobot implements the IterativeRobotBase robot program framework.
The TimedRobot class is intended to be subclassed by a user creating a robot program.
Periodic() functions from the base class are called on an interval by a Notifier instance.
|
explicit |
Constructor for TimedRobot.
period | Period. |
|
override |
|
default |
void frc::TimedRobot::AddPeriodic | ( | std::function< void()> | callback, |
units::second_t | period, | ||
units::second_t | offset = 0_s |
||
) |
Add a callback to run at a specific period with a starting time offset.
This is scheduled on TimedRobot's Notifier, so TimedRobot and the callback run synchronously. Interactions between them are thread-safe.
callback | The callback to run. |
period | The period at which to run the callback. |
offset | The offset from the common starting time. This is useful for scheduling a callback in a different timeslot relative to TimedRobot. |
|
overridevirtual |
Ends the main loop in StartCompetition().
Implements frc::RobotBase.
|
default |
|
overridevirtual |
Provide an alternate "main loop" via StartCompetition().
Implements frc::RobotBase.
|
staticconstexpr |
Default loop period.