mirror of
https://gitee.com/dlmu-cone/bf_original_balance_chassis
synced 2026-07-24 19:47:44 +08:00
根据协议修改文件结构
This commit is contained in:
92
modules/referee/referee_communication.h
Normal file
92
modules/referee/referee_communication.h
Normal file
@@ -0,0 +1,92 @@
|
||||
/**
|
||||
* @file referee_communication.h
|
||||
* @author kidneygood (you@domain.com)
|
||||
* @version 0.1
|
||||
* @date 2022-12-02
|
||||
*
|
||||
* @copyright Copyright (c) HNU YueLu EC 2022 all rights reserved
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef REFEREE_COMMUNICATION_H
|
||||
#define REFEREE_COMMUNICATION_H
|
||||
|
||||
#include "stdint.h"
|
||||
#include "referee_def.h"
|
||||
#pragma pack(1)
|
||||
|
||||
|
||||
//暂时放在这里
|
||||
/***************交互数据********************/
|
||||
/*
|
||||
0x0301 机器人间交互数据,发送方触发发送,上限 10Hz
|
||||
己方机器人间通信与UI绘制共用同一个cmd_id
|
||||
根据数据段内容ID的不同区分
|
||||
*/
|
||||
/* 交互数据接收信息:0x0301 */
|
||||
typedef struct
|
||||
{
|
||||
uint16_t data_cmd_id;
|
||||
uint16_t send_ID;
|
||||
uint16_t receiver_ID;
|
||||
} ext_student_interactive_header_data_t;
|
||||
|
||||
/*
|
||||
客户端 客户端自定义数据:cmd_id:0x0301。内容 ID:0xD180
|
||||
发送频率:上限 10Hz
|
||||
1. 客户端 客户端自定义数据:cmd_id:0x0301。内容 ID:0xD180。发送频率:上限 10Hz
|
||||
字节偏移量 大小 说明 备注
|
||||
0 2 数据的内容 ID 0xD180
|
||||
2 2 送者的 ID 需要校验发送者机器人的 ID 正确性
|
||||
4 2 客户端的 ID 只能为发送者机器人对应的客户端
|
||||
6 4 自定义浮点数据 1
|
||||
10 4 自定义浮点数据 2
|
||||
14 4 自定义浮点数据 3
|
||||
18 1 自定义 8 位数据 4
|
||||
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
float data1;
|
||||
float data2;
|
||||
float data3;
|
||||
uint8_t masks;
|
||||
} client_custom_data_t;
|
||||
|
||||
/*
|
||||
学生机器人间通信 cmd_id 0x0301,内容 ID:0x0200~0x02FF
|
||||
交互数据 机器人间通信:0x0301。
|
||||
发送频率:上限 10Hz
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
uint8_t data[10]; // 数据段,n需要小于113
|
||||
} robot_interactive_data_t;
|
||||
|
||||
// 发送给客户端的信息
|
||||
//交互数据包括一个统一的数据段头结构。数据段包含了内容 ID,发送者以及接收者的 ID 和内容数据段,
|
||||
// 整个交互数据的包总共长最大为 128 个字节,减去 frame_header,cmd_id 和 frame_tail 共 9 个字节以及
|
||||
// 数据段头结构的 6 个字节,故而发送的内容数据段最大为 113。
|
||||
// 帧头 命令码 数据段头结构 数据段 帧尾
|
||||
typedef struct
|
||||
{
|
||||
xFrameHeader txFrameHeader; // 帧头
|
||||
uint16_t CmdID; // 命令码
|
||||
ext_student_interactive_header_data_t dataFrameHeader; // 数据段头结构
|
||||
client_custom_data_t clientData; // 数据段
|
||||
uint16_t FrameTail; // 帧尾
|
||||
} ext_SendClientData_t;
|
||||
|
||||
// 机器人交互信息
|
||||
typedef struct
|
||||
{
|
||||
xFrameHeader txFrameHeader; // 帧头
|
||||
uint16_t CmdID; // 命令码
|
||||
ext_student_interactive_header_data_t dataFrameHeader; // 数据段头结构
|
||||
robot_interactive_data_t interactData; // 数据段
|
||||
uint16_t FrameTail; // 帧尾
|
||||
} ext_CommunatianData_t;
|
||||
|
||||
#pragma pack()
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user