NEW_bubing4_gimbal/modules/referee/vision_transfer.h

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