You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There has been some discussion about how a CommandRobot might be implemented and why. It seems to be a generally positive change to move away from RobotContainer and TimedRobot to a single unified class with clarity about its purpose. From the discussions that I've seen there are still some questions to be answered:
Should it extend IterativeRobotBase or TimedRobot?
How much of IterativeRobotBase should it exposed? (eg. making RobotPeriodic or TeleopPeriodic final)
How much of the RobotContainer structure should be maintained? (eg. still have a configure bindings function?)
The text was updated successfully, but these errors were encountered:
From how my team (2609) uses RobotContainer and TimedRobot, I think:
TimedRobot, because TimedRobot adds a few methods necessary for a Command-Based robot (e.g. startCompetition()), although these could be moved into IterativeRobotBase.
robotPeriodic() and teleopPeriodic() could be marked final to force teams to use commands (and use addPeriodic() for any functions that should run repeatedly)
RobotContainer has getAutonomousCommand() and configureBindings(), which could both be eliminated as they are called once and never used again: getAutonomousCommand() is called once in autonomousInit(), and configureBindings() is called in the constructor. If teams had a long list of bindings to configure or a long method of choosing their autonomous mode, they could create their own function (no need to require teams to use one).
There has been some discussion about how a CommandRobot might be implemented and why. It seems to be a generally positive change to move away from RobotContainer and TimedRobot to a single unified class with clarity about its purpose. From the discussions that I've seen there are still some questions to be answered:
The text was updated successfully, but these errors were encountered: