How driftless-vexu/driftless_pushback works
This is VEXU competition-robot software built on PROS. The principal workflow starts at the competition callbacks, constructs a match controller, then runs autonomous or operator control against the robot. The tree also shows trajectory and motion-control code, robot subsystems, controller adapters, and a menu. Connections below are limited to relationships documented in the supplied excerpts or reference index; several implementation files and subsystem details were not sampled, so their internal call paths are not asserted.
Main entry points: AAuton.cpp Autonomous routines · OpControlManager.cpp Operator manager · Robot.cpp Robot subsystems · MatchController.cpp Match controller
Components 21
Match orchestration
- Controller factory
Driftless_PushBack_PROS/src/driftless/MatchControllerFactory.cpp - Match controller
Driftless_PushBack_PROS/src/driftless/MatchController.cpp - Autonomous manager
Driftless_PushBack_PROS/src/driftless/AutonManager.cpp - Autonomous routines
Driftless_PushBack_PROS/src/driftless/auton/AAuton.cpp - Operator manager
Driftless_PushBack_PROS/src/driftless/OpControlManager.cpp - Alliance selection
Driftless_PushBack_PROS/src/driftless/alliance
Robot control
- Control system
Driftless_PushBack_PROS/src/driftless/control/ControlSystem.cpp - Motion controllers
Driftless_PushBack_PROS/src/driftless/control/motion/PIDHolonomicGoToPose.cpp - Path following
Driftless_PushBack_PROS/src/driftless/control/path/PIDPathFollower.cpp - Trajectory generation
Driftless_PushBack_PROS/src/driftless/control/trajectory/trajectory_generator/TrajectoryGenerator.cpp - Trajectory following
Driftless_PushBack_PROS/src/driftless/control/trajectory/trajectory_follower/PIDTrajectoryFollower.cpp - Robot subsystems
Driftless_PushBack_PROS/src/driftless/robot/Robot.cpp - Holonomic drive
Driftless_PushBack_PROS/src/driftless/robot/subsystems/holonomic_drive_train/ModularHolonomicDrive.cpp - Intake subsystem
Driftless_PushBack_PROS/src/driftless/robot/subsystems/intake/DirectIntake.cpp - Operator controls
Driftless_PushBack_PROS/src/driftless/op_control/holonomic_drive_train/HolonomicDriveTrainOperator.cpp
Hardware and interface
- PROS controller adapter
Driftless_PushBack_PROS/src/driftless/pros_adapters/ProsController.cpp - Controller interface
Driftless_PushBack_PROS/include/driftless/io/IController.hpp - LVGL menu
Driftless_PushBack_PROS/src/driftless/menu/LvglMenu.cpp - Coprocessor link
Driftless_PushBack_PROS/src/driftless/hal/Coprocessor.cpp - Motor voltage control
Driftless_PushBack_PROS/src/driftless/io/motor_voltage_control/PartialFeedForwardVoltageController.cpp
Other components
- Competition callbacks
Driftless_PushBack_PROS/src/main.cpp
Connections 17
- Competition callbacks → Controller factory: creates
- Controller factory → Match controller: constructs
- Match controller → Autonomous manager: runs autonomous
- Match controller → Operator manager: runs operator control
- Autonomous manager → Autonomous routines: runs selected routine
- Autonomous manager → Alliance selection: sets alliance
- Autonomous routines → Robot subsystems: controls
- Autonomous routines → Control system: uses
- Autonomous routines → Trajectory following: follows trajectory
- Operator manager → Operator controls: configures controls
- Operator manager → Robot subsystems: passes robot
- Operator manager → Controller interface: uses controller
- PROS controller adapter → Controller interface: implements
- Trajectory generation → Trajectory following: generates input
- Control system → Motion controllers: dispatches
- Robot subsystems → Holonomic drive: contains
- Robot subsystems → Intake subsystem: contains