2022-12-02 22:17:10 +08:00
|
|
|
#include "robot_def.h"
|
|
|
|
|
#include "chassis_cmd.h"
|
|
|
|
|
#include "referee.h"
|
2022-12-03 15:20:17 +08:00
|
|
|
#include "message_center.h"
|
2022-12-02 22:17:10 +08:00
|
|
|
|
2022-12-03 15:20:17 +08:00
|
|
|
|
|
|
|
|
/* chassis_cmd应用包含的模块和信息存储 */
|
|
|
|
|
static referee_info_t *referee_data; // 裁判系统的数据
|
2022-12-02 22:17:10 +08:00
|
|
|
#ifndef ONE_BOARD
|
|
|
|
|
#include "can_comm.h"
|
|
|
|
|
static CANCommInstance *chasiss_can_comm; // 双板通信CAN comm
|
2022-12-03 15:20:17 +08:00
|
|
|
#endif // !ONE_BOARD
|
|
|
|
|
//和chassis应用的交互
|
|
|
|
|
static Publisher_t* chassis_cmd_pub;
|
2022-12-02 22:17:10 +08:00
|
|
|
static Chassis_Ctrl_Cmd_s chassis_cmd; // 发送给chassis应用的控制信息
|
2022-12-03 15:20:17 +08:00
|
|
|
static Subscriber_t* chassis_feed_sub;
|
2022-12-02 22:17:10 +08:00
|
|
|
static Chassis_Upload_Data_s chassis_fetch_data; // chassis反馈的数据
|
2022-12-03 15:20:17 +08:00
|
|
|
//和gimbal_cmd的交互
|
|
|
|
|
static Publisher_t* chassis2gimbal_pub;
|
2022-12-02 22:17:10 +08:00
|
|
|
static Chassis2Gimbal_Data_s data_to_gimbal_cmd; // 发送给gimbal_cmd的数据,包括热量限制,底盘功率等
|
2022-12-03 15:20:17 +08:00
|
|
|
static Subscriber_t* gimbal2chassis_sub;
|
2022-12-02 22:17:10 +08:00
|
|
|
static Gimbal2Chassis_Data_s data_from_gimbal_cmd; // 来自gimbal_cmd的数据,主要是底盘控制量
|
2022-12-03 15:20:17 +08:00
|
|
|
|
2022-12-02 22:17:10 +08:00
|
|
|
|
|
|
|
|
void ChassisCMDInit()
|
|
|
|
|
{
|
2022-12-03 15:20:17 +08:00
|
|
|
referee_data= RefereeInit(&huart6);
|
|
|
|
|
|
|
|
|
|
chassis_cmd_pub=PubRegister("chassis_cmd",sizeof(Chassis_Ctrl_Cmd_s));
|
|
|
|
|
chassis_feed_sub=SubRegister("chassis_feed",sizeof(Chassis_Upload_Data_s));
|
|
|
|
|
chassis2gimbal_pub=PubRegister("chassis2gimbal",sizeof(Chassis2Gimbal_Data_s));
|
|
|
|
|
gimbal2chassis_sub=SubRegister("gimbal2chassis",sizeof(Gimbal2Chassis_Data_s));
|
2022-12-02 22:17:10 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void ChassisCMDTask()
|
|
|
|
|
{
|
2022-12-03 21:39:31 +08:00
|
|
|
SubGetMessage(chassis_feed_sub,&chassis_fetch_data);
|
|
|
|
|
SubGetMessage(gimbal2chassis_sub,&data_from_gimbal_cmd);
|
|
|
|
|
|
2022-12-02 22:17:10 +08:00
|
|
|
}
|