Initial commit

This commit is contained in:
2026-07-27 13:51:19 +08:00
commit 7bec56ca51
5408 changed files with 1126933 additions and 0 deletions
+48
View File
@@ -0,0 +1,48 @@
#ifndef RC_RECEIVER_H
#define RC_RECEIVER_H
#include <ros/ros.h>
#include <serial/serial.h>
#include <rc_receiver/rc.h>
#include <vector>
#include "sensor_msgs/BatteryState.h"
class RCReceiver {
public:
RCReceiver();
void run();
private:
ros::Subscriber battery_state_sub_;
std::string input_battery_state_topic_;
void readSerialData();
void parseFrameData();
bool parseModbusProtocol(const std::vector<uint8_t> &frame);
void battery_status_callback(const sensor_msgs::BatteryState::ConstPtr &msg);
void checkTimeout(const ros::TimerEvent& event);
ros::NodeHandle nh_;
ros::NodeHandle private_nh_;
serial::Serial ser_;
ros::Publisher control_pub_;
ros::Timer timeoutTimer_;
std::vector<uint8_t> serial_buffer_;
ros::Time lastReceivedTime_;
ros::Time lastReconnectAttempt_; // 记录上一次尝试重连的时间
const uint8_t AUTO_DRIVING;
const uint8_t REMOTE_CONTROL;
size_t frames_received_;
size_t frames_discarded_;
bool debug_;
// 新增:串口配置参数(用于重连)
std::string port_; // 串口设备路径
int baudrate_; // 波特率
};
#endif // RC_RECEIVER_H