Class RobotBase
java.lang.Object
org.wpilib.framework.RobotBase
- All Implemented Interfaces:
AutoCloseable
- Direct Known Subclasses:
IterativeRobotBase, OpModeRobot
Implement a Robot Program framework. The RobotBase class is intended to be subclassed to create a
robot program. The user must implement
startCompetition(), which will be called once and
is not expected to exit. The user must also implement endCompetition(), which signals to
the code in startCompetition() that it should exit.
It is not recommended to subclass this class directly - instead subclass IterativeRobotBase or TimedRobot.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()abstract voidEnds the main loop instartCompetition().static longReturns the main thread ID.static StringGets the currently selected operating mode of the driver station.static longGets the currently selected operating mode of the driver station.static RuntimeTypeGet the current runtime type.static booleanDetermine if the robot is currently in Autonomous mode as determined by the Driver Station.static booleanDetermine if the robot is currently in Autonomous mode and enabled as determined by the Driver Station.static booleanDetermine if the Robot is currently disabled.static booleanDetermine if the Robot is currently enabled.static booleanisReal()Get if the robot is real.static booleanGet if the robot is a simulation.static booleanisTeleop()Determine if the robot is currently in Operator Control mode as determined by the Driver Station.static booleanDetermine if the robot is currently in Operator Control mode and enabled as determined by the Driver Station.static booleanisTest()Determine if the robot is currently in Test mode as determined by the Driver Station.static booleanDetermine if the robot is current in Test mode and enabled as determined by the Driver Station.abstract voidStart the main robot code.static voidstartRobot(Class<? extends RobotBase> robotClass) Starting point for the applications.static voidsuppressExitWarning(boolean value) Suppress the "The robot program quit unexpectedly." message.
-
Constructor Details
-
RobotBase
protected RobotBase()Constructor for a generic robot program. User code can 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 its own task that loads on boot so ensure that it runs.
-
-
Method Details
-
getMainThreadId
-
close
- Specified by:
closein interfaceAutoCloseable
-
getRuntimeType
Get the current runtime type.- Returns:
- Current runtime type.
-
isSimulation
Get if the robot is a simulation.- Returns:
- If the robot is running in simulation.
-
isReal
Get if the robot is real.- Returns:
- If the robot is running in the real world.
-
isDisabled
Determine if the Robot is currently disabled.- Returns:
- True if the Robot is currently disabled by the Driver Station.
-
isEnabled
Determine if the Robot is currently enabled.- Returns:
- True if the Robot is currently enabled by the Driver Station.
-
isAutonomous
Determine if the robot is currently in Autonomous mode as determined by the Driver Station.- Returns:
- True if the robot is currently operating Autonomously.
-
isAutonomousEnabled
Determine if the robot is currently in Autonomous mode and enabled as determined by the Driver Station.- Returns:
- True if the robot is currently operating autonomously while enabled.
-
isTest
Determine if the robot is currently in Test mode as determined by the Driver Station.- Returns:
- True if the robot is currently operating in Test mode.
-
isTestEnabled
Determine if the robot is current in Test mode and enabled as determined by the Driver Station.- Returns:
- True if the robot is currently operating in Test mode while enabled.
-
isTeleop
Determine if the robot is currently in Operator Control mode as determined by the Driver Station.- Returns:
- True if the robot is currently operating in Tele-Op mode.
-
isTeleopEnabled
Determine if the robot is currently in Operator Control mode and enabled as determined by the Driver Station.- Returns:
- True if the robot is currently operating in Tele-Op mode while enabled.
-
getOpModeId
Gets the currently selected operating mode of the driver station. Note this does not mean the robot is enabled; use isEnabled() for that.- Returns:
- the unique ID provided by the DriverStation.addOpMode() function; may return 0 or a unique ID not added, so callers should be prepared to handle that case
-
getOpMode
Gets the currently selected operating mode of the driver station. Note this does not mean the robot is enabled; use isEnabled() for that.- Returns:
- Operating mode string; may return a string not in the list of options, so callers should be prepared to handle that case
-
startCompetition
Start the main robot code. This function will be called once and should not exit until signalled byendCompetition() -
endCompetition
Ends the main loop instartCompetition(). -
suppressExitWarning
Suppress the "The robot program quit unexpectedly." message.- Parameters:
value- True if exit warning should be suppressed.
-
startRobot
Starting point for the applications.- Parameters:
robotClass- Robot subclass type.
-