WPILibC++
2019.1.1-beta-2-18-ga769d56
|
Implement a Robot Program framework. More...
#include <RobotBase.h>
Public Member Functions | |
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 | IsOperatorControl () const |
Determine if the robot is currently in Operator Control mode. More... | |
bool | IsTest () const |
Determine if the robot is currently in Test mode. More... | |
bool | IsNewDataAvailable () const |
Indicates if new data is available from the driver station. More... | |
virtual void | StartCompetition ()=0 |
Static Public Member Functions | |
static std::thread::id | GetThreadId () |
Gets the ID of the main robot thread. | |
static constexpr bool | IsReal () |
static constexpr bool | IsSimulation () |
Protected Member Functions | |
RobotBase () | |
Constructor for a generic robot program. More... | |
RobotBase (RobotBase &&) | |
RobotBase & | operator= (RobotBase &&) |
Protected Attributes | |
DriverStation & | m_ds |
Static Protected Attributes | |
static std::thread::id | m_threadId |
Implement a Robot Program framework.
The RobotBase class is intended to be subclassed by a user creating a robot program. Overridden Autonomous() and OperatorControl() methods are called at the appropriate time as the match proceeds. In the current implementation, the Autonomous code will run to completion before the OperatorControl code could start. In the future the Autonomous code might be spawned as a task, then killed at the end of the Autonomous period.
|
protected |
Constructor for a generic robot program.
User code should be placed in the constructor that runs before the Autonomous or Operator Control period starts. The constructor will run to completion before Autonomous is entered.
This must be used to ensure that the communications code starts. In the future it would be nice to put this code into it's own task that loads on boot so ensure that it runs.
bool frc::RobotBase::IsAutonomous | ( | ) | const |
Determine if the robot is currently in Autonomous mode.
bool frc::RobotBase::IsDisabled | ( | ) | const |
Determine if the Robot is currently disabled.
bool frc::RobotBase::IsEnabled | ( | ) | const |
Determine if the Robot is currently enabled.
bool frc::RobotBase::IsNewDataAvailable | ( | ) | const |
Indicates if new data is available from the driver station.
bool frc::RobotBase::IsOperatorControl | ( | ) | const |
Determine if the robot is currently in Operator Control mode.
bool frc::RobotBase::IsTest | ( | ) | const |
Determine if the robot is currently in Test mode.