== Command Based Robots == Structure Documentation: '''Subsystem''' - Default Commands * Continuously executing until Interrupt - Relation To Robot * Subsystems can be compared to mechanisms that use the same overall resources * Realize that two actions cannot occur at the same time, that require the same subsystem - Dependencies * Dependencies are created by the requires(Subsystem subsystem) * These prevent two different commands from utilizing the same resources on the robot '''Commands''' - Interrupts * Called to stop a command from running * Specifically when robot is disabled or a dependency overlaps - Connection With Buttons * Commands can be easily mapped to buttons through the OI class '''Input Class''' - Input Devices * Input devices are mapped through joystick and button objects - Button Actions * Commands can be mapped to buttons or triggers in the OI class '''Robot Map''' - Ports * This class centralizes port numbers and connection numbers for robot-wide use '''Command Groups''' - About * Command Groups are used for command sequencing and parallelizazation * Basically running things in a specific order or at the same time * think about automated actions - Sequential * TODO(testing) - Parallel * TODO(testing)