diff --git a/include/EZ-Template/piston.hpp b/include/EZ-Template/piston.hpp index af11a223..dbd2cb3c 100644 --- a/include/EZ-Template/piston.hpp +++ b/include/EZ-Template/piston.hpp @@ -7,6 +7,7 @@ file, You can obtain one at http://mozilla.org/MPL/2.0/. #pragma once #include "api.h" +#include "pros/misc.h" namespace ez { class Piston { @@ -61,15 +62,33 @@ class Piston { */ void button_toggle(int toggle); + /** + * One button toggle for the piston. + * + * \param toggle + * an input button + */ + void button_toggle(pros::controller_digital_e_t toggle); + /** * Two buttons trigger the piston. Active is enabled, deactive is disabled. * * \param active * sets piston to true - * \param active + * \param deactive * sets piston to false */ void buttons(int active, int deactive); + + /** + * Two buttons trigger the piston. Active is enabled, deactive is disabled. + * + * \param active + * sets piston to true + * \param deactive + * sets piston to false + */ + void buttons(pros::controller_digital_e_t active, pros::controller_digital_e_t deactive); private: bool reversed = false; diff --git a/src/EZ-Template/piston.cpp b/src/EZ-Template/piston.cpp index b26784d1..d4980278 100644 --- a/src/EZ-Template/piston.cpp +++ b/src/EZ-Template/piston.cpp @@ -5,6 +5,8 @@ file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "EZ-Template/piston.hpp" +#include "pros/misc.h" +#include "util.hpp" using namespace ez; @@ -37,10 +39,20 @@ void Piston::button_toggle(int toggle) { last_press = toggle; } +// Toggle for user control, takes in a pros button +void Piston::button_toggle(pros::controller_digital_e_t toggle) { + button_toggle(master.get_digital(toggle)); +} + // Two button control for piston void Piston::buttons(int active, int deactive) { if (active && !get()) set(true); else if (deactive && get()) set(false); +} + +// Two button control for piston, takes in pros buttons +void Piston::buttons(pros::controller_digital_e_t active, pros::controller_digital_e_t deactive) { + buttons(master.get_digital(active), master.get_digital(deactive)); } \ No newline at end of file