== 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)