sentry_chassis_hzz/modules/referee/referee_UI.h

149 lines
6.1 KiB
C
Raw Normal View History

2023-01-09 16:17:03 +08:00
#ifndef REFEREE_UI_H
#define REFEREE_UI_H
#include "stdarg.h"
#include "usart.h"
#include "stdint.h"
#pragma pack(1) //按1字节对齐
// #define NULL 0
#define __FALSE 100
/****************************开始标志*********************/
#define UI_SOF 0xA5
/****************************CMD_ID数据********************/
#define UI_CMD_Robo_Exchange 0x0301
/****************************内容ID数据********************/
#define UI_Data_ID_Del 0x100
#define UI_Data_ID_Draw1 0x101
#define UI_Data_ID_Draw2 0x102
#define UI_Data_ID_Draw5 0x103
#define UI_Data_ID_Draw7 0x104
#define UI_Data_ID_DrawChar 0x110
/****************************红方机器人ID********************/
#define UI_Data_RobotID_RHero 1
#define UI_Data_RobotID_REngineer 2
#define UI_Data_RobotID_RStandard1 3
#define UI_Data_RobotID_RStandard2 4
#define UI_Data_RobotID_RStandard3 5
#define UI_Data_RobotID_RAerial 6
#define UI_Data_RobotID_RSentry 7
#define UI_Data_RobotID_RRadar 9
/****************************蓝方机器人ID********************/
#define UI_Data_RobotID_BHero 101
#define UI_Data_RobotID_BEngineer 102
#define UI_Data_RobotID_BStandard1 103
#define UI_Data_RobotID_BStandard2 104
#define UI_Data_RobotID_BStandard3 105
#define UI_Data_RobotID_BAerial 106
#define UI_Data_RobotID_BSentry 107
#define UI_Data_RobotID_BRadar 109
/**************************红方操作手ID************************/
#define UI_Data_CilentID_RHero 0x0101
#define UI_Data_CilentID_REngineer 0x0102
#define UI_Data_CilentID_RStandard1 0x0103
#define UI_Data_CilentID_RStandard2 0x0104
#define UI_Data_CilentID_RStandard3 0x0105
#define UI_Data_CilentID_RAerial 0x0106
/***************************蓝方操作手ID***********************/
#define UI_Data_CilentID_BHero 0x0165
#define UI_Data_CilentID_BEngineer 0x0166
#define UI_Data_CilentID_BStandard1 0x0167
#define UI_Data_CilentID_BStandard2 0x0168
#define UI_Data_CilentID_BStandard3 0x0169
#define UI_Data_CilentID_BAerial 0x016A
/***************************删除操作***************************/
#define UI_Data_Del_NoOperate 0
#define UI_Data_Del_Layer 1
2023-01-12 15:24:56 +08:00
#define UI_Data_Del_ALL 2 //删除全部图层,后面的参数已经不重要了。
2023-01-09 16:17:03 +08:00
/***************************图形配置参数__图形操作********************/
#define UI_Graph_ADD 1
#define UI_Graph_Change 2
#define UI_Graph_Del 3
/***************************图形配置参数__图形类型********************/
#define UI_Graph_Line 0 //直线
#define UI_Graph_Rectangle 1 //矩形
#define UI_Graph_Circle 2 //整圆
#define UI_Graph_Ellipse 3 //椭圆
#define UI_Graph_Arc 4 //圆弧
#define UI_Graph_Float 5 //浮点型
#define UI_Graph_Int 6 //整形
#define UI_Graph_Char 7 //字符型
/***************************图形配置参数__图形颜色********************/
#define UI_Color_Main 0 //红蓝主色
#define UI_Color_Yellow 1
#define UI_Color_Green 2
#define UI_Color_Orange 3
#define UI_Color_Purplish_red 4 //紫红色
#define UI_Color_Pink 5
#define UI_Color_Cyan 6 //青色
#define UI_Color_Black 7
#define UI_Color_White 8
typedef struct
{
uint8_t SOF; //起始字节,固定0xA5
uint16_t Data_Length; //帧数据长度
uint8_t Seq; //包序号
uint8_t CRC8; //CRC8校验值
uint16_t CMD_ID; //命令ID
} UI_Packhead; //帧头
typedef struct
{
uint16_t Data_ID; //内容ID
uint16_t Sender_ID; //发送者ID
uint16_t Receiver_ID; //接收者ID
} UI_Data_Operate; //操作定义帧
typedef struct
{
uint8_t Delete_Operate; //删除操作
uint8_t Layer; //删除图层
} UI_Data_Delete; //删除图层帧
2023-01-12 15:24:56 +08:00
/* 图形数据 */
2023-01-09 16:17:03 +08:00
typedef struct
{
uint8_t graphic_name[3];
uint32_t operate_tpye:3;
uint32_t graphic_tpye:3;
uint32_t layer:4;
uint32_t color:4;
uint32_t start_angle:9;
uint32_t end_angle:9;
uint32_t width:10;
uint32_t start_x:11;
uint32_t start_y:11;
2023-01-12 15:24:56 +08:00
uint32_t radius:10;
uint32_t end_x:11;
uint32_t end_y:11;
2023-01-09 16:17:03 +08:00
} Graph_Data;
typedef struct
{
Graph_Data Graph_Control;
uint8_t show_Data[30];
} String_Data; //打印字符串数据
#pragma pack()
void UI_Delete(uint8_t Del_Operate,uint8_t Del_Layer);
2023-01-09 21:50:17 +08:00
2023-01-12 15:24:56 +08:00
void Line_Draw(Graph_Data *graph,char graphname[3],uint32_t Graph_Operate,uint32_t Graph_Layer,uint32_t Graph_Color,uint32_t Graph_Width,uint32_t Start_x,uint32_t Start_y,uint32_t End_x,uint32_t End_y);
2023-01-09 21:50:17 +08:00
void Circle_Draw(Graph_Data *graph,char graphname[3],uint32_t Graph_Operate,uint32_t Graph_Layer,uint32_t Graph_Color,uint32_t Graph_Width,uint32_t Start_x,uint32_t Start_y,uint32_t Graph_Radius);
void Elliptical_Draw(Graph_Data *graph,char graphname[3],uint32_t Graph_Operate,uint32_t Graph_Layer,uint32_t Graph_Color,uint32_t Graph_Width,uint32_t Start_x,uint32_t Start_y,uint32_t end_x,uint32_t end_y);
void Rectangle_Draw(Graph_Data *graph,char graphname[3],uint32_t Graph_Operate,uint32_t Graph_Layer,uint32_t Graph_Color,uint32_t Graph_Width,uint32_t Start_x,uint32_t Start_y,uint32_t End_x,uint32_t End_y);
void Arc_Draw(Graph_Data *graph,char graphname[3],uint32_t Graph_Operate,uint32_t Graph_Layer,uint32_t Graph_Color,uint32_t Graph_StartAngle,uint32_t Graph_EndAngle,uint32_t Graph_Width,uint32_t Start_x,uint32_t Start_y,uint32_t end_x,uint32_t end_y);
2023-01-12 15:24:56 +08:00
void Float_Draw(Graph_Data *graph,char graphname[3],uint32_t Graph_Operate,uint32_t Graph_Layer,uint32_t Graph_Color,uint32_t Graph_Size,uint32_t Graph_Digit,uint32_t Graph_Width,uint32_t Start_x,uint32_t Start_y,int32_t Graph_Float);
void Integer_Draw(Graph_Data *graph,char graphname[3],uint32_t Graph_Operate,uint32_t Graph_Layer,uint32_t Graph_Color,uint32_t Graph_Size,uint32_t Graph_Width,uint32_t Start_x,uint32_t Start_y,int32_t Graph_Integer);
2023-01-09 16:17:03 +08:00
int UI_ReFresh(int cnt,...);
2023-01-09 21:50:17 +08:00
2023-01-12 15:24:56 +08:00
void Char_Draw(String_Data *graph,char graphname[3],uint32_t Graph_Operate,uint32_t Graph_Layer,uint32_t Graph_Color,uint32_t Graph_Size,uint32_t Graph_Width,uint32_t Start_x,uint32_t Start_y);
void Char_Write(String_Data *graph,char* fmt, ...);
int Char_ReFresh(String_Data string_Data);
2023-01-09 16:17:03 +08:00
#endif