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
kDefaultPeriodMethod Summary
Modifier and TypeMethodDescriptionvoidCalled once when autonomous mode is exited.voidCalled when autonomous mode is initialized.voidCalled periodically during autonomous mode.voidCalled once when disabled mode is exited.voidCalled once when the robot is disabled.voidCalled periodically when the robot is disabled.static RobotbooleanGet whether the robot has left disabledvoidPeriodic function called every 20ms in all robot modes.voidCalled once when operator control is exited.voidCalled when operator control is initialized.voidCalled periodically during operator control.voidtestExit()Called once when test mode is exited.voidtestInit()Called when test mode is initialized.voidCalled periodically during test mode.Methods inherited from class edu.wpi.first.wpilibj.TimedRobot
addPeriodic, addPeriodic, addPeriodic, addPeriodic, close, endCompetition, getLoopStartTime, startCompetitionMethods inherited from class edu.wpi.first.wpilibj.IterativeRobotBase
driverStationConnected, enableLiveWindowInTest, getPeriod, isLiveWindowEnabledInTest, loopFunc, printWatchdogEpochs, robotInit, setNetworkTablesFlushEnabled, simulationInit, simulationPeriodicMethods 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:
robotPeriodicin classedu.wpi.first.wpilibj.IterativeRobotBase
disabledInit
public void disabledInit()Called once when the robot is disabled.- Overrides:
disabledInitin classedu.wpi.first.wpilibj.IterativeRobotBase
disabledPeriodic
public void disabledPeriodic()Called periodically when the robot is disabled.- Overrides:
disabledPeriodicin classedu.wpi.first.wpilibj.IterativeRobotBase
disabledExit
public void disabledExit()Called once when disabled mode is exited.- Overrides:
disabledExitin 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:
autonomousInitin classedu.wpi.first.wpilibj.IterativeRobotBase
autonomousPeriodic
public void autonomousPeriodic()Called periodically during autonomous mode.- Overrides:
autonomousPeriodicin classedu.wpi.first.wpilibj.IterativeRobotBase
autonomousExit
public void autonomousExit()Called once when autonomous mode is exited.- Overrides:
autonomousExitin 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:
teleopInitin classedu.wpi.first.wpilibj.IterativeRobotBase
teleopPeriodic
public void teleopPeriodic()Called periodically during operator control.- Overrides:
teleopPeriodicin classedu.wpi.first.wpilibj.IterativeRobotBase
teleopExit
public void teleopExit()Called once when operator control is exited.- Overrides:
teleopExitin 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:
testInitin classedu.wpi.first.wpilibj.IterativeRobotBase
testPeriodic
public void testPeriodic()Called periodically during test mode.- Overrides:
testPeriodicin classedu.wpi.first.wpilibj.IterativeRobotBase
testExit
public void testExit()Called once when test mode is exited.- Overrides:
testExitin classedu.wpi.first.wpilibj.IterativeRobotBase