wu_xinjun
2022-02-10 d78e213656461834adb890b5f1c7d0789725a6de
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
syntax = "proto3";
 
enum SysCommand {
  UNKOWN_COMMAND     = 0;   // 未知命令
  SYS_COMMAND        = 1;   // 系统命令
  SENSOR_COMMAND     = 2;   // 传感器命令
  FIVE_G_COMMAND     = 3;   // 通讯5G模块命令
  CAMERA_COMMAND     = 4;   // 摄像头参数命令
  IO_COMMAND         = 5;   // 外设IO口操作命令
  SYS_PARAMS_COMMAND = 6;   // 系统参数获取
  WIFI_COMMAND       = 7;   // 设备WIFI参数设置
  KERNEL_COMMAND     = 8;   // 核心计算参数设
  DEVICE_COMMAND     = 9;   // 工作设备参数设置
  MICRO_WAVE_COMMAND = 10;  // 毫米波
}
 
enum SubCommand {
  option allow_alias = true;
   
  UNKOWN_SUB_COMMAND   = 0;                   // 未知子命令
 
  // 系统命令
  POWER_ON_SUB_COMMAND = 1;                   // 开机
  POWER_OFF_SUB_COMMAND = 2;                  // 关机
 
  // 传感器命令
  SENSOR_INIT_SUB_COMMAND = 1;                // 传感器初始化
  SENSOR_REQURE_SUB_COMMAND = 2;              // 传感器参数获取
  RTK_SETTING_SUB_COMMAND = 3;                // RTK外设参数设置
  RTK_REQURE_SUB_COMMAND = 4;                 // RTK外设数据获取
 
  // 通讯5G模块命令
  FIVE_G_INIT_SUB_COMMAND = 1;                // 5G模块参数初始化
  FIVE_G_SEND_IMAGE_SUB_COMMAND = 2;          // 5G通讯图像数据发送
  FIVE_G_REQURE_SUB_COMMAND = 3;              // 5G通讯接收
 
  // 摄像头参数命令
  CAMERA_NUMBER_SUB_COMMAND = 1;              // 设备摄像头个数  
  CAMERA_RESOLUTION_SUB_COMMAND = 2;          // 设备摄像头工作分辨率
  CAMERA_FRAME_RATE_SUB_COMMAND = 3;          // 摄像头工作帧率
  CAMERA_OTHER_PARAMS_SUB_COMMAND = 4;        // 摄像头工作其他参数
 
  // 外设IO口操作命令
  CAMERA_DUST_REMOVAL_START_SUB_COMMAND = 1;  // 摄像头除尘启动
  CAMERA_CONTROL_START_SUB_COMMAND = 2;       // 外设控制数据启动(18路控制)
 
  // 系统参数获取
  CPU_FREQUENCY_SUB_COMMAND = 1;              // CPU主频工作数据
  CPU_KERNAL_TEMP_SUB_COMMAND = 2;            // CPU核心温度数据
  CPU_BETTERY_DATA_SUB_COMMAND = 3;           // 电池供电电量数据
 
  // 设备WIFI参数设置
  WIFI_HOTSPOT_SETTING_SUB_COMMAND = 1;       // WIFI热点设置
  WIFI_HOTSPOT_START_STOP_SUB_COMMAND = 2;    // WIFI热点开启和关闭
 
  // 核心计算参数设置
  POINT_CLOUD_ACCURACY_SUB_COMMAND = 1;       // 点云计算精度
  SPLICING_PARAMS_SUB_COMMAND = 2;            // 拼接参数
  MAP_INTERFACE_PLATFORM_SUB_COMMAND = 3;     // 地图接口平台
  DATA_STORE_BACKUP_SUB_COMMAND = 4;          // 数据存储备份
 
  // 工作设备参数设置
  SYSTEM_TIMER_SUB_COMMAND = 1;               // 系统工作定时
  SYSTEM_COORD_HEIGHT_SUB_COMMAND = 2;        // 工作区域坐标与高度
  TRIGGER_CONDITION_SUB_COMMAND = 3;          // 工作触发条件
  GRAVITY_FAILURE_SUB_COMMAND = 4;            // 重力加速度失效参数
  NINE_AXIS_FAILURE_SUB_COMMAND = 5;          // 九轴加速度失效参数
 
  // 毫米波
  MICRO_WAVE_SUB_COMMAND = 1;                 // 毫米波
}
 
message DataField {
  int32 length = 1;                           // 数据长度
  bytes data = 2;                            // 数据内容
  int32 checksum = 3;                        // 校验码
}
 
message ImagesMessage
{
  bytes image1  = 1;
  bytes image2  = 2;
  bytes image3  = 3;
  bytes image4  = 4;
  bytes image5  = 5;
}
 
message MicroWaveMessage
{
  int32 length = 1;                           // 数据长度
  bytes data = 2;                            // 数据内容
}
 
message RequestCommand {
  int32 sync_word = 1;              // 同步字
  string device_id = 2;             // 设备ID
  SysCommand sys_command = 3;       // 命令1
  SubCommand sub_command = 4;       // 命令2
  DataField data1 = 5;              // 数据1
  DataField data2 = 6;              // 数据2
  int32 checksum = 7;               // 校验码
}
 
enum ResponseState
{
  SUCCESS = 0;                  // 成功
  FAILURE = 1;                  // 失败
  ABNORMAL = 2;                 // 异常
  INFICIENT_POWER = 3;          // 电量不足
  OTHER = 4;                    // 其他
}
 
message ResponseCommand
{
    string device_id = 1;        // 设备ID
    SysCommand sys_command = 2;  // 命令1
    SubCommand sub_command = 3;  // 命令2
    ResponseState state = 4;     // 响应状态
    int32 data_length = 5;       // 数据长度
    bytes data = 6;              // 数据
    int32 checksum = 7;          // 校验码
}