axis mapping

This commit is contained in:
acki
2024-12-04 10:26:52 -05:00
parent e918682615
commit 41d6a0a559
2 changed files with 15 additions and 8 deletions

View File

@@ -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;
};

View File

@@ -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<int>(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<int>(-msg->axes[3]), -1, 1, -310, 310);
}
if (rotation != last_rotation) {