sentry_gimbal_hzz/modules/referee/rm_referee.h

61 lines
1.7 KiB
C
Raw Normal View History

#ifndef RM_REFEREE_H
#define RM_REFEREE_H
#include "usart.h"
2023-01-06 22:54:01 +08:00
#include "referee_def.h"
2023-01-09 16:17:03 +08:00
#include "bsp_usart.h"
extern uint8_t UI_Seq;
2023-01-09 16:17:03 +08:00
2022-11-18 22:53:53 +08:00
#pragma pack(1)
2022-11-18 22:06:06 +08:00
typedef struct
{
uint8_t Robot_Color; //机器人颜色
uint16_t Robot_ID; //本机器人ID
uint16_t Cilent_ID; //本机器人对应的客户端ID
uint16_t Receiver_Robot_ID; //机器人车间通信时接收者的ID必须和本机器人同颜色
} referee_id_t;
// 此结构体包含裁判系统接收数据以及UI绘制与机器人车间通信的相关信息
typedef struct
{
referee_id_t referee_id;
xFrameHeader FrameHeader; // 接收到的帧头信息
2022-11-18 22:06:06 +08:00
uint16_t CmdID;
ext_game_state_t GameState; // 0x0001
ext_game_result_t GameResult; // 0x0002
ext_game_robot_HP_t GameRobotHP; // 0x0003
ext_event_data_t EventData; // 0x0101
ext_supply_projectile_action_t SupplyProjectileAction; // 0x0102
ext_game_robot_state_t GameRobotState; // 0x0201
2022-11-18 22:06:06 +08:00
ext_power_heat_data_t PowerHeatData; // 0x0202
ext_game_robot_pos_t GameRobotPos; // 0x0203
ext_buff_musk_t BuffMusk; // 0x0204
aerial_robot_energy_t AerialRobotEnergy; // 0x0205
ext_robot_hurt_t RobotHurt; // 0x0206
ext_shoot_data_t ShootData; // 0x0207
//自定义交互数据的接收
Communicate_ReceiveData_t ReceiveData;
2022-11-18 22:06:06 +08:00
} referee_info_t;
#pragma pack()
/**
* @brief ,
*
* @param referee_usart_handle
* @return referee_info_t*
*/
referee_info_t *RefereeInit(UART_HandleTypeDef *referee_usart_handle);
2023-01-09 16:17:03 +08:00
/**
* @brief
* @todo
2023-01-09 16:17:03 +08:00
* @param send
*/
void RefereeSend(uint8_t *send, uint16_t tx_len);
2023-01-09 16:17:03 +08:00
2022-11-18 22:06:06 +08:00
#endif // !REFEREE_H