Where do you implement Robot/ Tele/ Auto-Init functions in the Command Framework

Hello everyone,
I have a second Noobish question regarding the Command Framework.

When we write code without the Command Framework, we use the init methods of the various robot states to perform many functions (reset encoders etc., set brake mode in various subsystems, etc.) ?

Where do you all put those functions in the Command Framework? Do you put them in init functions of the subsystem or command, or do you put them elsewhere?

In addition, what about the tests() method? How do you take advantage of those (beyond the built-in functions for some subsystems (e.x. PID Subsystem)?

Thank you for all the help. Our team is doing some amazing things, and much of that is due to the support of this community.

If you’re initializing components that are in your subsystems, the init code should be within those subsystem classes, either in the subsystem constructor or in a designated “init()” method.

If you define init methods, make a consolidated init method in RobotContainer, which can then be called by the init methods in the Robot class. You can still make changes to the Robot class when using the Command framework.

1 Like

Sweet,
Thank you. That helps a lot.

I love this strategy (and probably would not have initially thought of it).

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.