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 Type
    Method
    Description
    void
    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 disabled
    void
    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
    Called once when test mode is exited.
    void
    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

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • getInstance

      public static Robot getInstance()
    • hasLeftDisabled

      public boolean hasLeftDisabled()
      Get whether the robot has left disabled
    • robotPeriodic

      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 class edu.wpi.first.wpilibj.IterativeRobotBase
    • disabledInit

      public void disabledInit()
      Called once when the robot is disabled.
      Overrides:
      disabledInit in class edu.wpi.first.wpilibj.IterativeRobotBase
    • disabledPeriodic

      public void disabledPeriodic()
      Called periodically when the robot is disabled.
      Overrides:
      disabledPeriodic in class edu.wpi.first.wpilibj.IterativeRobotBase
    • disabledExit

      public void disabledExit()
      Called once when disabled mode is exited.
      Overrides:
      disabledExit in class edu.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 class edu.wpi.first.wpilibj.IterativeRobotBase
    • autonomousPeriodic

      public void autonomousPeriodic()
      Called periodically during autonomous mode.
      Overrides:
      autonomousPeriodic in class edu.wpi.first.wpilibj.IterativeRobotBase
    • autonomousExit

      public void autonomousExit()
      Called once when autonomous mode is exited.
      Overrides:
      autonomousExit in class edu.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 class edu.wpi.first.wpilibj.IterativeRobotBase
    • teleopPeriodic

      public void teleopPeriodic()
      Called periodically during operator control.
      Overrides:
      teleopPeriodic in class edu.wpi.first.wpilibj.IterativeRobotBase
    • teleopExit

      public void teleopExit()
      Called once when operator control is exited.
      Overrides:
      teleopExit in class edu.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 class edu.wpi.first.wpilibj.IterativeRobotBase
    • testPeriodic

      public void testPeriodic()
      Called periodically during test mode.
      Overrides:
      testPeriodic in class edu.wpi.first.wpilibj.IterativeRobotBase
    • testExit

      public void testExit()
      Called once when test mode is exited.
      Overrides:
      testExit in class edu.wpi.first.wpilibj.IterativeRobotBase