Package frc.robot
Class Robot
java.lang.Object
edu.wpi.first.wpilibj.RobotBase
edu.wpi.first.wpilibj.IterativeRobotBase
edu.wpi.first.wpilibj.TimedRobot
frc.robot.Robot
- All Implemented Interfaces:
AutoCloseable
public class Robot extends edu.wpi.first.wpilibj.TimedRobot
Main robot class that manages the robot's lifecycle and operational modes. This class follows the TimedRobot model, executing code in a timed loop for each robot mode.
Features include:
- Autonomous command management
- Teleop control initialization
- Test mode handling
- Periodic updates across all modes
The robot code is organized using WPILib's command-based framework, with subsystems and commands managed through the RobotContainer class.
Field Summary
Fields inherited from class edu.wpi.first.wpilibj.TimedRobot
kDefaultPeriod
Method Summary
Modifier and TypeMethodDescriptionvoid
Called once when autonomous mode is exited.void
Called when autonomous mode is initialized.void
Called periodically during autonomous mode.void
Called once when disabled mode is exited.void
Called once when the robot is disabled.void
Called periodically when the robot is disabled.static Robot
boolean
Get whether the robot has left disabledvoid
Periodic function called every 20ms in all robot modes.void
Called once when operator control is exited.void
Called when operator control is initialized.void
Called periodically during operator control.void
testExit()
Called once when test mode is exited.void
testInit()
Called when test mode is initialized.void
Called periodically during test mode.Methods inherited from class edu.wpi.first.wpilibj.TimedRobot
addPeriodic, addPeriodic, addPeriodic, addPeriodic, close, endCompetition, getLoopStartTime, startCompetition
Methods inherited from class edu.wpi.first.wpilibj.IterativeRobotBase
driverStationConnected, enableLiveWindowInTest, getPeriod, isLiveWindowEnabledInTest, loopFunc, printWatchdogEpochs, robotInit, setNetworkTablesFlushEnabled, simulationInit, simulationPeriodic
Methods inherited from class edu.wpi.first.wpilibj.RobotBase
getMainThreadId, getRuntimeType, isAutonomous, isAutonomousEnabled, isDisabled, isEnabled, isReal, isSimulation, isTeleop, isTeleopEnabled, isTest, isTestEnabled, startRobot, suppressExitWarning
Method Details
getInstance
hasLeftDisabled
public boolean hasLeftDisabled()Get whether the robot has left disabledrobotPeriodic
public void robotPeriodic()Periodic function called every 20ms in all robot modes. Runs the command scheduler to execute ongoing commands and update subsystems. This method is crucial for continuous robot operation and should not be blocked or delayed.- Overrides:
robotPeriodic
in classedu.wpi.first.wpilibj.IterativeRobotBase
disabledInit
public void disabledInit()Called once when the robot is disabled.- Overrides:
disabledInit
in classedu.wpi.first.wpilibj.IterativeRobotBase
disabledPeriodic
public void disabledPeriodic()Called periodically when the robot is disabled.- Overrides:
disabledPeriodic
in classedu.wpi.first.wpilibj.IterativeRobotBase
disabledExit
public void disabledExit()Called once when disabled mode is exited.- Overrides:
disabledExit
in classedu.wpi.first.wpilibj.IterativeRobotBase
autonomousInit
public void autonomousInit()Called when autonomous mode is initialized. Retrieves and schedules the selected autonomous command from RobotContainer. If no command is selected, this method will gracefully handle the null case.- Overrides:
autonomousInit
in classedu.wpi.first.wpilibj.IterativeRobotBase
autonomousPeriodic
public void autonomousPeriodic()Called periodically during autonomous mode.- Overrides:
autonomousPeriodic
in classedu.wpi.first.wpilibj.IterativeRobotBase
autonomousExit
public void autonomousExit()Called once when autonomous mode is exited.- Overrides:
autonomousExit
in classedu.wpi.first.wpilibj.IterativeRobotBase
teleopInit
public void teleopInit()Called when operator control is initialized. Cancels any running autonomous command to ensure safe transition to manual control. This prevents autonomous commands from interfering with driver inputs.- Overrides:
teleopInit
in classedu.wpi.first.wpilibj.IterativeRobotBase
teleopPeriodic
public void teleopPeriodic()Called periodically during operator control.- Overrides:
teleopPeriodic
in classedu.wpi.first.wpilibj.IterativeRobotBase
teleopExit
public void teleopExit()Called once when operator control is exited.- Overrides:
teleopExit
in classedu.wpi.first.wpilibj.IterativeRobotBase
testInit
public void testInit()Called when test mode is initialized. Cancels all running commands to ensure a clean slate for testing. This helps prevent interference from commands that might have been left running in other modes.- Overrides:
testInit
in classedu.wpi.first.wpilibj.IterativeRobotBase
testPeriodic
public void testPeriodic()Called periodically during test mode.- Overrides:
testPeriodic
in classedu.wpi.first.wpilibj.IterativeRobotBase
testExit
public void testExit()Called once when test mode is exited.- Overrides:
testExit
in classedu.wpi.first.wpilibj.IterativeRobotBase