diff --git a/src/modelec/include/modelec/gamecontroller_listener.hpp b/src/modelec/include/modelec/gamecontroller_listener.hpp index 42761a2..9d1ec27 100644 --- a/src/modelec/include/modelec/gamecontroller_listener.hpp +++ b/src/modelec/include/modelec/gamecontroller_listener.hpp @@ -18,13 +18,6 @@ namespace Modelec { }; int arm = ServoMode::ARM_BOTTOM; - - bool button_2_was_pressed = false; - bool button_3_was_pressed = false; - bool button_1_was_pressed = false; - bool button_0_was_pressed = false; - bool button_9_was_pressed = false; - bool button_8_was_pressed = false; public: ControllerListener(); @@ -38,6 +31,13 @@ namespace Modelec { void CheckButton(const sensor_msgs::msg::Joy::SharedPtr msg); void CheckAxis(const sensor_msgs::msg::Joy::SharedPtr msg); + bool button_2_was_pressed = false; + bool button_3_was_pressed = false; + bool button_1_was_pressed = false; + bool button_0_was_pressed = false; + bool button_9_was_pressed = false; + bool button_8_was_pressed = false; + int last_speed = 0; int last_rotation = 0; }; diff --git a/src/modelec/src/gamecontroller_listener.cpp b/src/modelec/src/gamecontroller_listener.cpp index 427ab3c..428032f 100644 --- a/src/modelec/src/gamecontroller_listener.cpp +++ b/src/modelec/src/gamecontroller_listener.cpp @@ -1,4 +1,5 @@ #include "modelec/gamecontroller_listener.hpp" +#include "modelec/utils.hpp" namespace Modelec { ControllerListener::ControllerListener() : Node("controller_listener") @@ -113,7 +114,10 @@ namespace Modelec { auto message = std_msgs::msg::String(); int speed = 0; if (msg->axes[1] < 0.1 && msg->axes[1] > -0.1) { + RCLCPP_INFO(this->get_logger(), "speed: 0"); speed = 0; + } else { + speed = Modelec::mapValue(static_cast(msg->axes[1]), -1, 1, -310, 310); } if (speed != last_speed) { @@ -123,8 +127,11 @@ namespace Modelec { } int rotation = 0; - if (msg->axes[2] < 0.1 && msg->axes[2] > -0.1) { + if (msg->axes[3] < 0.1 && msg->axes[3] > -0.1) { + RCLCPP_INFO(this->get_logger(), "rotation: 0"); rotation = 0; + } else { + rotation = Modelec::mapValue(static_cast(-msg->axes[3]), -1, 1, -310, 310); } if (rotation != last_rotation) {