Class by Class Documentation
Note: This section reflects the actual file structure of CFLib.
📄️ Orphaned Members
This page contains all of the various functions that aren't children of a class.
📄️ Command
The Command class represents a command; that is, a block of code that can be scheduled to run at a specific time.
📄️ CommandGroup
The CommandGroup class represents a command that contains and manages other sub-commands. This is not generally used by the end user, but is instead a utility to provide common functionality for the SequentialCommandGroup and ParallelCommandGroup classes.
📄️ CommandScheduler
The CommandScheduler class runs commands, updates subsystems, and manages gamepad-related commands. The main functions you will be using are scheduleCommand(), registerGamepads(), registerSubsystems(), and run().
📄️ Constants
This object contains various "constant" values used by other classes. This object is not strictly necessary, but without it, we'd have to pass around the same few objects to countless different places. The word "constant" is used lightly because the variables in this class are not constant in the strict sense. They can change between OpModes, but stay the same during each OpMode. The first thing that an OpMode should do is assign values to these variables. Otherwise, many classes will break.
📄️ GamepadEx
By default, the Qualcomm Gamepad class has very little functionality. It tells you whether each button is being pressed, but not whether it was just pressed or just released. This class adds that for each button, and also allows you to set commands that will be automatically scheduled whenever a button is pressed or released. You should create an instance of this class for both gamepads and then register them in the CommandScheduler using the registerGamepads() function.
📄️ ParallelCommandGroup
The ParallelCommandGroup class runs a group of commands all at the same time. Since the commands in CommandScheduler are already run in parallel, the primary functional use for this class is to place parallel groups inside SequentialCommandGroups, like this
📄️ SequentialCommandGroup
The SequentialCommandGroup class is an extention of the CommandGroup class. It provides functionality for executing commands one at a time in a specific order.