CAsync | Async runs a command asynchronously will simply let it go and never look back THIS HAS A VERY NICHE USE CASE. THINK ABOUT IF YOU REALLY NEED IT |
CBasicSolenoidSet | |
CBasicSpinCommand | |
CBasicStopCommand | |
CBranch | Branch chooses from multiple options at runtime. the function decider returns an index into the choices vector If you wish to make no choice and skip this section, return NO_CHOICE; any choice that is out of bounds set to NO_CHOICE |
Cscreen::ButtonWidget | Widget that does something when you tap it. The function is only called once when you first tap it |
CCommandController | |
▼CCondition | |
CFunctionCondition | FunctionCondition is a quick and dirty Condition to wrap some expression that should be evaluated at runtime |
CIfTimePassed | IfTimePassed tests based on time since the command controller was constructed. Returns true if elapsed time > time_s |
CCustomEncoder | |
CDelayCommand | |
CDriveForwardCommand | |
CDriveStopCommand | |
CDriveToPointCommand | |
CAutoChooser::entry_t | |
▼CFeedback | |
CMotionController | |
CPID | |
CTakeBackHalf | A velocity controller |
CFeedForward | |
CFeedForward::ff_config_t | |
▼CFilter | |
CExponentialMovingAverage | |
CMovingAverage | |
CFlywheel | |
CFlywheelStopCommand | |
CFlywheelStopMotorsCommand | |
CFlywheelStopNonTasksCommand | |
CFunctionCommand | |
CGenericAuto | |
CPurePursuit::hermite_point | |
CInOrder | InOrder runs its commands sequentially then continues. How to handle timeout in this case. Automatically set it to sum of commands timouts? |
CLift< T > | |
CLift< T >::lift_cfg_t | |
CLogger | Class to simplify writing to files |
CMotionController::m_profile_cfg_t | |
CStateMachine< System, IDType, Message, delay_ms, do_log >::MaybeMessage | MaybeMessage a message of Message type or nothing MaybeMessage m = {}; // empty MaybeMessage m = Message::EnumField1 |
CMecanumDrive | |
CMecanumDrive::mecanumdrive_config_t | |
Cmotion_t | |
COdometry3Wheel::odometry3wheel_cfg_t | |
▼COdometryBase | |
COdometry3Wheel | |
COdometryTank | |
COdomSetPosition | |
▼Cscreen::Page | Page describes one part of the screen slideshow |
CAutoChooser | |
Cscreen::FunctionPage | Simple page that stores no internal data. the draw and update functions use only global data rather than storing anything |
Cscreen::OdometryPage | Page that shows odometry position and rotation and a map (if an sd card with the file is on) |
Cscreen::PIDPage | PIDPage provides a way to tune a pid controller on the screen |
Cscreen::StatsPage | Draws motor stats and battery stats to the screen |
CParallel | Parallel runs multiple commands in parallel and waits for all to finish before continuing. if none finish before this command's timeout, it will call on_timeout on all children continue |
CPurePursuit::Path | |
CPID::pid_config_t | |
Cpoint_t | |
Cpose_t | |
CPurePursuitCommand | |
Crobot_specs_t | |
Cscreen::ScreenData | Holds the data that will be passed to the screen thread you probably shouldnt have to use it |
CSerializer | Serializes Arbitrary data to a file on the SD Card |
Cscreen::SliderWidget | Widget that updates a double value. Updates by reference so watch out for race conditions cuz the screen stuff lives on another thread |
CSpinRPMCommand | |
CPurePursuit::spline | |
CStateMachine< System, IDType, Message, delay_ms, do_log >::State | |
CStateMachine< System, IDType, Message, delay_ms, do_log > | State Machine :)))))) A fun fun way of controlling stateful subsystems - used in the 2023-2024 Over Under game for our overly complex intake-cata subsystem (see there for an example) The statemachine runs in a background thread and a user thread can interact with it through current_state and send_message |
CTankDrive | |
CTrapezoidProfile | |
CTurnDegreesCommand | |
CTurnToHeadingCommand | |
CVector2D | |
CWaitUntilCondition | Waits until the condition is true |
CWaitUntilUpToSpeedCommand | |