mirror of
https://gitee.com/dlmu-cone/bf_original_balance_chassis
synced 2026-07-24 11:37:45 +08:00
referee.h文件中的枚举整合至_def.h
This commit is contained in:
@@ -15,14 +15,30 @@
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
/****************************通信协议格式****************************/
|
||||
/****************************通信协议格式****************************/
|
||||
|
||||
/* 通信协议格式偏移,枚举类型,代替#define声明 */
|
||||
typedef enum
|
||||
{
|
||||
FRAME_HEADER = 0,
|
||||
CMD_ID = 5,
|
||||
DATA = 7,
|
||||
FRAME_HEADER_Offset = 0,
|
||||
CMD_ID_Offset = 5,
|
||||
DATA_Offset = 7,
|
||||
} JudgeFrameOffset;
|
||||
|
||||
/* 通信协议长度 */
|
||||
typedef enum
|
||||
{
|
||||
LEN_HEADER = 5, // 帧头长
|
||||
LEN_CMDID = 2, // 命令码长度
|
||||
LEN_TAIL = 2, // 帧尾CRC16
|
||||
} JudgeFrameLength;
|
||||
|
||||
/****************************帧头****************************/
|
||||
/****************************帧头****************************/
|
||||
|
||||
#define JUDGE_FRAME_HEADER (0xA5) // 起始字节,协议固定为0xA5
|
||||
|
||||
/* 帧头偏移 */
|
||||
typedef enum
|
||||
{
|
||||
@@ -41,6 +57,10 @@ typedef struct
|
||||
uint8_t CRC8;
|
||||
} xFrameHeader;
|
||||
|
||||
|
||||
/****************************cmd_id命令码说明****************************/
|
||||
/****************************cmd_id命令码说明****************************/
|
||||
|
||||
/* 命令码ID,用来判断接收的是什么数据 */
|
||||
typedef enum
|
||||
{
|
||||
@@ -57,7 +77,7 @@ typedef enum
|
||||
ID_aerial_robot_energy = 0x0205, // 空中机器人能量状态数据
|
||||
ID_robot_hurt = 0x0206, // 伤害状态数据
|
||||
ID_shoot_data = 0x0207, // 实时射击数据
|
||||
|
||||
ID_student_interactive = 0x0301, // 机器人间交互数据
|
||||
} CmdID;
|
||||
|
||||
/* 命令码数据段长,根据官方协议来定义长度 */
|
||||
@@ -77,6 +97,130 @@ typedef enum
|
||||
LEN_shoot_data = 7, // 0x0207
|
||||
} JudgeDataLength;
|
||||
|
||||
/****************************接收数据的详细说明****************************/
|
||||
/****************************接收数据的详细说明****************************/
|
||||
|
||||
/* ID: 0x0001 Byte: 3 比赛状态数据 */
|
||||
typedef struct
|
||||
{
|
||||
uint8_t game_type : 4;
|
||||
uint8_t game_progress : 4;
|
||||
uint16_t stage_remain_time;
|
||||
} ext_game_state_t;
|
||||
|
||||
/* ID: 0x0002 Byte: 1 比赛结果数据 */
|
||||
typedef struct
|
||||
{
|
||||
uint8_t winner;
|
||||
} ext_game_result_t;
|
||||
|
||||
/* ID: 0x0003 Byte: 32 比赛机器人血量数据 */
|
||||
typedef struct
|
||||
{
|
||||
uint16_t red_1_robot_HP;
|
||||
uint16_t red_2_robot_HP;
|
||||
uint16_t red_3_robot_HP;
|
||||
uint16_t red_4_robot_HP;
|
||||
uint16_t red_5_robot_HP;
|
||||
uint16_t red_7_robot_HP;
|
||||
uint16_t red_outpost_HP;
|
||||
uint16_t red_base_HP;
|
||||
uint16_t blue_1_robot_HP;
|
||||
uint16_t blue_2_robot_HP;
|
||||
uint16_t blue_3_robot_HP;
|
||||
uint16_t blue_4_robot_HP;
|
||||
uint16_t blue_5_robot_HP;
|
||||
uint16_t blue_7_robot_HP;
|
||||
uint16_t blue_outpost_HP;
|
||||
uint16_t blue_base_HP;
|
||||
} ext_game_robot_HP_t;
|
||||
|
||||
/* ID: 0x0101 Byte: 4 场地事件数据 */
|
||||
typedef struct
|
||||
{
|
||||
uint32_t event_type;
|
||||
} ext_event_data_t;
|
||||
|
||||
/* ID: 0x0102 Byte: 3 场地补给站动作标识数据 */
|
||||
typedef struct
|
||||
{
|
||||
uint8_t supply_projectile_id;
|
||||
uint8_t supply_robot_id;
|
||||
uint8_t supply_projectile_step;
|
||||
uint8_t supply_projectile_num;
|
||||
} ext_supply_projectile_action_t;
|
||||
|
||||
/* ID: 0X0201 Byte: 27 机器人状态数据 */
|
||||
typedef struct
|
||||
{
|
||||
uint8_t robot_id;
|
||||
uint8_t robot_level;
|
||||
uint16_t remain_HP;
|
||||
uint16_t max_HP;
|
||||
uint16_t shooter_id1_17mm_cooling_rate;
|
||||
uint16_t shooter_id1_17mm_cooling_limit;
|
||||
uint16_t shooter_id1_17mm_speed_limit;
|
||||
uint16_t shooter_id2_17mm_cooling_rate;
|
||||
uint16_t shooter_id2_17mm_cooling_limit;
|
||||
uint16_t shooter_id2_17mm_speed_limit;
|
||||
uint16_t shooter_id1_42mm_cooling_rate;
|
||||
uint16_t shooter_id1_42mm_cooling_limit;
|
||||
uint16_t shooter_id1_42mm_speed_limit;
|
||||
uint16_t chassis_power_limit;
|
||||
uint8_t mains_power_gimbal_output : 1;
|
||||
uint8_t mains_power_chassis_output : 1;
|
||||
uint8_t mains_power_shooter_output : 1;
|
||||
} ext_game_robot_state_t;
|
||||
|
||||
/* ID: 0X0202 Byte: 14 实时功率热量数据 */
|
||||
typedef struct
|
||||
{
|
||||
uint16_t chassis_volt;
|
||||
uint16_t chassis_current;
|
||||
float chassis_power; // 瞬时功率
|
||||
uint16_t chassis_power_buffer; // 60焦耳缓冲能量
|
||||
uint16_t shooter_heat0; // 17mm
|
||||
uint16_t shooter_heat1;
|
||||
} ext_power_heat_data_t;
|
||||
|
||||
/* ID: 0x0203 Byte: 16 机器人位置数据 */
|
||||
typedef struct
|
||||
{
|
||||
float x;
|
||||
float y;
|
||||
float z;
|
||||
float yaw;
|
||||
} ext_game_robot_pos_t;
|
||||
|
||||
/* ID: 0x0204 Byte: 1 机器人增益数据 */
|
||||
typedef struct
|
||||
{
|
||||
uint8_t power_rune_buff;
|
||||
} ext_buff_musk_t;
|
||||
|
||||
/* ID: 0x0205 Byte: 1 空中机器人能量状态数据 */
|
||||
typedef struct
|
||||
{
|
||||
uint8_t attack_time;
|
||||
} aerial_robot_energy_t;
|
||||
|
||||
/* ID: 0x0206 Byte: 1 伤害状态数据 */
|
||||
typedef struct
|
||||
{
|
||||
uint8_t armor_id : 4;
|
||||
uint8_t hurt_type : 4;
|
||||
} ext_robot_hurt_t;
|
||||
|
||||
/* ID: 0x0207 Byte: 7 实时射击数据 */
|
||||
typedef struct
|
||||
{
|
||||
uint8_t bullet_type;
|
||||
uint8_t shooter_id;
|
||||
uint8_t bullet_freq;
|
||||
float bullet_speed;
|
||||
} ext_shoot_data_t;
|
||||
|
||||
|
||||
#pragma pack()
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user