3#include "core/robot_specs.h"
4#include "core/subsystems/odometry/odometry_tank.h"
5#include "core/competition/command_structure/auto_command.h"
6#include "core/math/controls/feedback_base.h"
7#include "core/math/controls/pid.h"
32 vex::motor_group& left_motors, vex::motor_group& right_motors,
robot_specs_t& config,
36 AutoCommand* DriveToPointCmd(
37 Translation2d pt, vex::directionType dir = vex::forward,
double max_speed = 1.0,
38 double end_speed = 0.0
40 AutoCommand* DriveToPointCmd(
41 Feedback& fb, Translation2d pt, vex::directionType dir = vex::forward,
42 double max_speed = 1.0,
double end_speed = 0.0
45 AutoCommand* DriveToPointCmd(
46 double x,
double y, vex::directionType dir = vex::forward,
double max_speed = 1.0,
47 double end_speed = 0.0
50 AutoCommand* DriveForwardCmd(
51 double dist, vex::directionType dir = vex::forward,
double max_speed = 1.0,
52 double end_speed = 0.0
54 AutoCommand* DriveForwardCmd(
55 Feedback& fb,
double dist, vex::directionType dir = vex::forward,
56 double max_speed = 1.0,
double end_speed = 0.0
59 AutoCommand* TurnToHeadingCmd(
double heading,
double max_speed = 1.0,
double end_speed = 0.0);
60 AutoCommand* TurnToHeadingCmd(
61 Feedback& fb,
double heading,
double max_speed = 1.0,
double end_speed = 0.0
64 AutoCommand* TurnToPointCmd(
65 double x,
double y, vex::directionType dir = vex::directionType::fwd,
66 double max_speed = 1.0,
double end_speed = 0.0
68 AutoCommand* TurnToPointCmd(
69 Translation2d point, vex::directionType dir = vex::directionType::fwd,
70 double max_speed = 1.0,
double end_speed = 0.0
73 AutoCommand* TurnDegreesCmd(
double degrees,
double max_speed = 1.0,
double start_speed = 0.0);
74 AutoCommand* TurnDegreesCmd(
75 Feedback& fb,
double degrees,
double max_speed = 1.0,
double end_speed = 0.0
78 Condition *DriveStalledCondition(
double stall_time);
79 AutoCommand *DriveTankCmd(
double left,
double right);
136 double inches, vex::directionType dir,
Feedback& feedback,
double max_speed = 1,
153 double inches, vex::directionType dir,
double max_speed = 1,
double end_speed = 0
170 double degrees,
Feedback& feedback,
double max_speed = 1,
double end_speed = 0
186 bool turn_degrees(
double degrees,
double max_speed = 1,
double end_speed = 0);
203 double x,
double y, vex::directionType dir,
Feedback& feedback,
double max_speed = 1,
222 double x,
double y, vex::directionType dir,
double max_speed = 1,
double end_speed = 0
237 double heading_deg,
Feedback& feedback,
double max_speed = 1,
double end_speed = 0
249 bool turn_to_heading(
double heading_deg,
double max_speed = 1,
double end_speed = 0);
267 vex::motor_group& left_motors;
268 vex::motor_group& right_motors;
275 Feedback* drive_default_feedback = NULL;
276 Feedback* turn_default_feedback = NULL;
281 bool func_initialized =
Definition auto_command.h:25
Definition feedback_base.h:10
Definition odometry_base.h:27
bool turn_to_heading(double heading_deg, Feedback &feedback, double max_speed=1, double end_speed=0)
Definition tank_drive.cpp:547
void drive_tank_raw(double left, double right)
Definition tank_drive.cpp:137
bool drive_forward(double inches, vex::directionType dir, Feedback &feedback, double max_speed=1, double end_speed=0)
Definition tank_drive.cpp:231
bool turn_degrees(double degrees, Feedback &feedback, double max_speed=1, double end_speed=0)
Definition tank_drive.cpp:312
BrakeType
Definition tank_drive.h:16
@ None
just send 0 volts to the motors
Definition tank_drive.h:17
void drive_tank(double left, double right, int power=1, BrakeType bt=BrakeType::None)
Definition tank_drive.cpp:150
void reset_auto()
Reset the initialization for autonomous drive functions.
Definition tank_drive.cpp:126
TankDrive(vex::motor_group &left_motors, vex::motor_group &right_motors, robot_specs_t &config, OdometryBase *odom=NULL)
Definition tank_drive.cpp:7
static double modify_inputs(double input, int power=2)
Definition tank_drive.cpp:618
Pose2d get_position()
Returns the Robot position as a Pose2d.
Definition tank_drive.cpp:135
void drive_arcade(double forward_back, double left_right, int power=1, BrakeType bt=BrakeType::None)
Definition tank_drive.cpp:208
bool drive_to_point(double x, double y, vex::directionType dir, Feedback &feedback, double max_speed=1, double end_speed=0)
Definition tank_drive.cpp:374
void stop()
Stops rotation of all the motors using their "brake mode".
Definition tank_drive.cpp:129
Definition robot_specs.h:10