Skip to main content
Version: 3.1.0

Drive Constructors

Integrated Encoders

This is the standard setup that uses built in motor encoders.

left_motor_ports a vector of left motor ports, negative reverses the port. first motor is used for sensing
right_motor_ports a vector of right motor ports, negative reverses the port. first motor is used for sensing
imu_port the port an imu is in
wheel_diameter diameter of your drive wheel
ticks cartridge rpm
ratio external ratio of your drive. should be wheel gear / motor gear. this is defaulted to 1.0

Drive(std::vector<int> left_motor_ports, std::vector<int> right_motor_ports, int imu_port, 
double wheel_diameter, double ticks, double ratio);

ADI Encoders in Brain

Only supports parallel trackers.

left_motor_ports a vector of left motor ports, negative reverses the port
right_motor_ports a vector of right motor ports, negative reverses the port
imu_port the port an imu is in
wheel_diameter diameter of your tracking wheel
ticks ticks per rotation of your sensor. 360 if using ADI quadrature encoders
ratio external ratio of your tracking wheel. should be wheel gear / motor gear
left_tracker_ports vector of left tracker ports, negative will reverse the encoder
right_tracker_ports vector of right tracker ports, negative will reverse the encoder

Drive(std::vector<int> left_motor_ports, std::vector<int> right_motor_ports, int imu_port, 
double wheel_diameter, double ticks, double ratio, std::vector<int> left_tracker_ports,
std::vector<int> right_tracker_ports);

ADI Encoders in Expander

Only supports parallel trackers.

left_motor_ports a vector of left motor ports, negative reverses the port
right_motor_ports a vector of right motor ports, negative reverses the port
imu_port the port an imu is in
wheel_diameter diameter of your tracking wheel
ticks ticks per rotation of your sensor. 360 if using ADI quadrature encoders
ratio external ratio of your tracking wheel. should be wheel gear / motor gear
left_tracker_ports vector of left tracker ports, negative will reverse the encoder
right_tracker_ports vector of right tracker ports, negative will reverse the encoder
expander_smart_port port of the 3 wire expander

Drive(std::vector<int> left_motor_ports, std::vector<int> right_motor_ports, int imu_port, 
double wheel_diameter, double ticks, double ratio, std::vector<int> left_tracker_ports,
std::vector<int> right_tracker_ports, int expander_smart_port);

Rotation Sensor

Only supports parallel trackers.

left_motor_ports a vector of left motor ports, negative reverses the port
right_motor_ports a vector of right motor ports, negative reverses the port
imu_port the port an imu is in
wheel_diameter diameter of your tracking wheel
ticks ticks per rotation of your sensor. 360 if using ADI quadrature encoders
ratio external ratio of your tracking wheel. should be wheel gear / motor gear
left_rotation_port port for left rotation sensor, negative reverses the port
right_rotation_port port for right rotation sensor, negative reverses the port

Drive(std::vector<int> left_motor_ports, std::vector<int> right_motor_ports, int imu_port, 
double wheel_diameter, double ratio, int left_rotation_port, int right_rotation_port);