47 lines
1.2 KiB
C
47 lines
1.2 KiB
C
#ifndef VISION_TRANSFER_H
|
|
#define VISION_TRANSFER_H
|
|
|
|
#include "usart.h"
|
|
#include "referee_protocol.h"
|
|
#include "robot_def.h"
|
|
#include "bsp_usart.h"
|
|
#include "FreeRTOS.h"
|
|
#include "remote_control.h"
|
|
|
|
#pragma pack(1)
|
|
|
|
// 此结构体包含裁判系统接收数据以及UI绘制与机器人车间通信的相关信息
|
|
typedef struct
|
|
{
|
|
|
|
xFrameHeader FrameHeader; // 接收到的帧头信息
|
|
uint16_t CmdID;
|
|
|
|
vision_transfer_t VisionTransfer;
|
|
Communicate_ReceiveData_t ReceiveData;
|
|
|
|
uint8_t init_flag;
|
|
|
|
} referee_info_vt_t;
|
|
|
|
#pragma pack()
|
|
|
|
/**
|
|
* @brief 裁判系统通信初始化,该函数会初始化裁判系统串口,开启中断
|
|
*
|
|
* @param vt_usart_handle 串口handle,C板一般用串口6
|
|
* @return referee_info_t* 返回裁判系统反馈的数据,包括热量/血量/状态等
|
|
*/
|
|
VT_ctrl_t *VTRefereeInit(UART_HandleTypeDef *referee_usart_handle);
|
|
|
|
/**
|
|
* @brief UI绘制和交互数的发送接口,由UI绘制任务和多机通信函数调用
|
|
* @note 内部包含了一个实时系统的延时函数,这是因为裁判系统接收CMD数据至高位10Hz
|
|
*
|
|
* @param send 发送数据首地址
|
|
* @param tx_len 发送长度
|
|
*/
|
|
void VTRefereeSend(uint8_t *send, uint16_t tx_len);
|
|
|
|
#endif // !REFEREE_H
|