Skip to content

Commit

Permalink
Made every PID button seperate get/set functions and added default se…
Browse files Browse the repository at this point in the history
…ttings to defaults_set
  • Loading branch information
nightwolf3140 committed Jan 2, 2025
1 parent 35f21d7 commit 333fbd5
Show file tree
Hide file tree
Showing 4 changed files with 108 additions and 20 deletions.
67 changes: 49 additions & 18 deletions include/EZ-Template/drive/drive.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -1247,24 +1247,55 @@ class Drive {
bool pid_print_toggle_get();

/**
* Sets the buttons to change the PID tuner.
*
* \param decrease
* sets the button to lower PID tuner
* \param increase
* sets the button to increase PID tuner
* \param pageLeft
sets the PID screen left
* \param pageRight
sets the PID screen right
* \param pageUP
switched between kp, ki, kd, and start i
* \param pageDown
switched between kp, ki, kd, and start i
*/
void pid_tuner_button_set(pros::controller_digital_e_t decrease, pros::controller_digital_e_t increase, pros::controller_digital_e_t pageLeft, pros::controller_digital_e_t pageRight, pros::controller_digital_e_t pageUp, pros::controller_digital_e_t pageDown);

std::vector<pros::controller_digital_e_t> pid_tuner_button_get();
* \param increase
* sets the button to increase PID tuner
*/
void pid_tuner_button_increment_set(pros::controller_digital_e_t increase);

std::vector<pros::controller_digital_e_t> pid_tuner_button_increment_get();

/**
* \param decrease
* sets the button to lower PID tuner
*/
void pid_tuner_button_decrement_set(pros::controller_digital_e_t decrease);

std::vector<pros::controller_digital_e_t> pid_tuner_button_decrement_get();

/**
* \param pageUP
* switched between kp, ki, kd, and start i
*/
void pid_tuner_button_up_set(pros::controller_digital_e_t pageUp);

std::vector<pros::controller_digital_e_t> pid_tuner_button_up_get();

/**
* \param pageDown
* switched between kp, ki, kd, and start i
*/
void pid_tuner_button_down_set(pros::controller_digital_e_t pageDown);

std::vector<pros::controller_digital_e_t> pid_tuner_button_down_get();

/**
* \param pageLeft
* sets the PID screen left
*/

void pid_tuner_button_left_set(pros::controller_digital_e_t pageLeft);

std::vector<pros::controller_digital_e_t> pid_tuner_button_left_get();

/**
* \param pageRight
* sets the PID screen right
*/
void pid_tuner_button_right_set(pros::controller_digital_e_t pageRight);

std::vector<pros::controller_digital_e_t> pid_tuner_button_right_get();

//std::vector<pros::controller_digital_e_t> pid_tuner_button_get();
/////
//
// Telemetry
Expand Down
9 changes: 9 additions & 0 deletions src/EZ-Template/drive/drive.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,15 @@ void Drive::drive_defaults_set() {
opcontrol_curve_buttons_left_set(pros::E_CONTROLLER_DIGITAL_LEFT, pros::E_CONTROLLER_DIGITAL_RIGHT);
opcontrol_curve_buttons_right_set(pros::E_CONTROLLER_DIGITAL_Y, pros::E_CONTROLLER_DIGITAL_A);

//Default PID tuner controlls

pid_tuner_button_increment_set(pros::E_CONTROLLER_DIGITAL_A);
pid_tuner_button_decrement_set(pros::E_CONTROLLER_DIGITAL_Y);
pid_tuner_button_up_set(pros::E_CONTROLLER_DIGITAL_UP);
pid_tuner_button_down_set(pros::E_CONTROLLER_DIGITAL_DOWN);
pid_tuner_button_left_set(pros::E_CONTROLLER_DIGITAL_LEFT);
pid_tuner_button_right_set(pros::E_CONTROLLER_DIGITAL_RIGHT);

// Enable auto printing and drive motors moving
pid_drive_toggle(true);
pid_print_toggle(true);
Expand Down
50 changes: 49 additions & 1 deletion src/EZ-Template/drive/pid_tuner.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ double Drive::pid_tuner_increment_i_get() { return i_increment; }
double Drive::pid_tuner_increment_d_get() { return d_increment; }
double Drive::pid_tuner_increment_start_i_get() { return start_i_increment; }

void Drive::pid_tuner_button_set(pros::controller_digital_e_t decrease, pros::controller_digital_e_t increase, pros::controller_digital_e_t pageLeft, pros::controller_digital_e_t pageRight, pros::controller_digital_e_t pageUp, pros::controller_digital_e_t pageDown){
/*void Drive::pid_tuner_button_set(pros::controller_digital_e_t decrease, pros::controller_digital_e_t increase, pros::controller_digital_e_t pageLeft, pros::controller_digital_e_t pageRight, pros::controller_digital_e_t pageUp, pros::controller_digital_e_t pageDown){
pid_tuner_increase = increase;
pid_tuner_decrease = decrease;
pid_tuner_pageLeft = pageLeft;
Expand All @@ -175,6 +175,54 @@ void Drive::pid_tuner_button_set(pros::controller_digital_e_t decrease, pros::co
std::vector<pros::controller_digital_e_t> Drive::pid_tuner_button_get() {
return {pid_tuner_increase, pid_tuner_decrease, pid_tuner_pageLeft, pid_tuner_pageRight, pid_tuner_pageUp, pid_tuner_pageDown};
}*/

void Drive::pid_tuner_button_increment_set(pros::controller_digital_e_t increase){
pid_tuner_increase = increase;
}

std::vector<pros::controller_digital_e_t> Drive::pid_tuner_button_increment_get() {
return {pid_tuner_increase};
}

void Drive::pid_tuner_button_decrement_set(pros::controller_digital_e_t decrease){
pid_tuner_decrease = decrease;
}

std::vector<pros::controller_digital_e_t> Drive::pid_tuner_button_decrement_get() {
return {pid_tuner_decrease};
}

void Drive::pid_tuner_button_up_set(pros::controller_digital_e_t pageUp){
pid_tuner_pageUp = pageUp;
}

std::vector<pros::controller_digital_e_t> Drive::pid_tuner_button_up_get() {
return {pid_tuner_pageUp};
}

void Drive::pid_tuner_button_down_set(pros::controller_digital_e_t pageDown){
pid_tuner_pageDown = pageDown;
}

std::vector<pros::controller_digital_e_t> Drive::pid_tuner_button_down_get() {
return {pid_tuner_pageDown};
}

void Drive::pid_tuner_button_left_set(pros::controller_digital_e_t pageLeft){
pid_tuner_pageLeft = pageLeft;
}

std::vector<pros::controller_digital_e_t> Drive::pid_tuner_button_left_get() {
return {pid_tuner_pageLeft};
}

void Drive::pid_tuner_button_right_set(pros::controller_digital_e_t pageRight){
pid_tuner_pageRight = pageRight;
}

std::vector<pros::controller_digital_e_t> Drive::pid_tuner_button_right_get() {
return {pid_tuner_pageRight};
}

// Iterate
Expand Down
2 changes: 1 addition & 1 deletion src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ void initialize() {
// - ignore this if you aren't using a vertical tracker
// chassis.odom_tracker_left_set(&vert_tracker);

chassis.pid_tuner_button_set(pros::E_CONTROLLER_DIGITAL_Y, pros::E_CONTROLLER_DIGITAL_A, pros::E_CONTROLLER_DIGITAL_LEFT, pros::E_CONTROLLER_DIGITAL_RIGHT, pros::E_CONTROLLER_DIGITAL_UP, pros::E_CONTROLLER_DIGITAL_DOWN); // Sets the buttons used for PID Tuning.
//chassis.pid_tuner_button_set(pros::E_CONTROLLER_DIGITAL_Y, pros::E_CONTROLLER_DIGITAL_A, pros::E_CONTROLLER_DIGITAL_LEFT, pros::E_CONTROLLER_DIGITAL_RIGHT, pros::E_CONTROLLER_DIGITAL_UP, pros::E_CONTROLLER_DIGITAL_DOWN); // Sets the buttons used for PID Tuning.

// Configure your chassis controls
chassis.opcontrol_curve_buttons_toggle(true); // Enables modifying the controller curve with buttons on the joysticks
Expand Down

0 comments on commit 333fbd5

Please sign in to comment.