51 lines
1.2 KiB
C++
51 lines
1.2 KiB
C++
#ifndef COCKPIT_CORE_H
|
|
#define COCKPIT_CORE_H
|
|
|
|
#include "ros/ros.h"
|
|
#include "serial/serial.h"
|
|
#include "rc_receiver/rc.h"
|
|
#include "sensor_msgs/BatteryState.h"
|
|
|
|
#define __APP_NAME__ "cockpit_driver"
|
|
|
|
class CockPit{
|
|
public:
|
|
CockPit();
|
|
~CockPit();
|
|
void run();
|
|
|
|
private:
|
|
ros::NodeHandle nh_;
|
|
ros::NodeHandle private_nh_;
|
|
|
|
private:
|
|
/*串口号 */
|
|
std::string cockpit_com_;
|
|
/* 串口波特率 */
|
|
int baudrate_;
|
|
/* 驾驶模式控制的指令话题 */
|
|
std::string input_ctr_mode_topic_;
|
|
/* 电池状态的指令话题 */
|
|
std::string input_battery_state_topic_;
|
|
|
|
private:
|
|
uint16_t soc_ = 0;
|
|
uint8_t current_page_ = 0;
|
|
uint8_t drive_mode_ = 0;
|
|
|
|
private:
|
|
ros::Subscriber ctr_mode_sub_;
|
|
ros::Subscriber battery_state_sub_;
|
|
|
|
private:
|
|
serial::Serial serial_;
|
|
|
|
private:
|
|
void ctr_mode_callback(const rc_receiver::rc::ConstPtr &msg);
|
|
void battery_status_callback(const sensor_msgs::BatteryState::ConstPtr& msg);
|
|
void process(const ros::TimerEvent& e);
|
|
void serial_initial();
|
|
};
|
|
|
|
#endif
|