add reading bytes when getting a T
This commit is contained in:
@@ -13,7 +13,7 @@ public:
|
|||||||
{
|
{
|
||||||
publisher_ = this->create_publisher<std_msgs::msg::String>("height_sensor", 10);
|
publisher_ = this->create_publisher<std_msgs::msg::String>("height_sensor", 10);
|
||||||
timer_ = this->create_wall_timer(
|
timer_ = this->create_wall_timer(
|
||||||
500ms, std::bind(&HeightSensorPublisher::timer_callback, this));
|
50ms, std::bind(&HeightSensorPublisher::timer_callback, this));
|
||||||
RCLCPP_INFO(this->get_logger(), "Starting height sensor publisher");
|
RCLCPP_INFO(this->get_logger(), "Starting height sensor publisher");
|
||||||
|
|
||||||
setup_serial_port();
|
setup_serial_port();
|
||||||
@@ -34,14 +34,17 @@ private:
|
|||||||
char *readdata = new char[1];
|
char *readdata = new char[1];
|
||||||
serial_port.read(readdata, 1);
|
serial_port.read(readdata, 1);
|
||||||
auto message = std_msgs::msg::String();
|
auto message = std_msgs::msg::String();
|
||||||
message.data = "Height: " + std::to_string((char)readdata[0]);
|
|
||||||
|
|
||||||
if (readdata[0] == 'T')
|
if (readdata[0] == 'T')
|
||||||
{
|
{
|
||||||
RCLCPP_INFO(this->get_logger(), "Height sensor start measurement");
|
RCLCPP_INFO(this->get_logger(), "Height sensor start measurement");
|
||||||
}
|
char *measurement = new char[2];
|
||||||
|
serial_port.read(measurement, 2);
|
||||||
|
message.data = "Height: " + std::to_string(measurement[0]) + std::to_string(measurement[1]);
|
||||||
RCLCPP_INFO(this->get_logger(), "Publishing: %s", message.data.c_str());
|
RCLCPP_INFO(this->get_logger(), "Publishing: %s", message.data.c_str());
|
||||||
publisher_->publish(message);
|
publisher_->publish(message);
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user