pymammotion 0.4.0b8__py3-none-any.whl → 0.4.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. pymammotion/bluetooth/ble_message.py +6 -7
  2. pymammotion/data/model/device.py +2 -7
  3. pymammotion/data/model/hash_list.py +84 -10
  4. pymammotion/data/model/raw_data.py +1 -8
  5. pymammotion/data/state_manager.py +30 -10
  6. pymammotion/mammotion/commands/abstract_message.py +2 -2
  7. pymammotion/mammotion/commands/messages/driver.py +27 -20
  8. pymammotion/mammotion/commands/messages/media.py +13 -14
  9. pymammotion/mammotion/commands/messages/navigation.py +16 -13
  10. pymammotion/mammotion/commands/messages/network.py +13 -10
  11. pymammotion/mammotion/commands/messages/ota.py +9 -14
  12. pymammotion/mammotion/commands/messages/system.py +36 -25
  13. pymammotion/mammotion/commands/messages/video.py +8 -10
  14. pymammotion/mammotion/devices/base.py +10 -10
  15. pymammotion/mammotion/devices/mammotion.py +18 -14
  16. pymammotion/mammotion/devices/mammotion_bluetooth.py +2 -3
  17. pymammotion/mammotion/devices/mammotion_cloud.py +1 -2
  18. pymammotion/mqtt/mammotion_mqtt.py +1 -1
  19. pymammotion/proto/__init__.py +2174 -1
  20. pymammotion/proto/luba_mul_pb2.py +8 -8
  21. pymammotion/proto/luba_mul_pb2.pyi +1 -0
  22. pymammotion/proto/mctrl_nav.proto +3 -3
  23. pymammotion/proto/mctrl_nav_pb2.py +69 -67
  24. pymammotion/proto/mctrl_nav_pb2.pyi +13 -5
  25. pymammotion/proto/mctrl_sys_pb2.py +41 -37
  26. pymammotion/proto/mctrl_sys_pb2.pyi +34 -11
  27. pymammotion/utility/device_config.py +2 -2
  28. {pymammotion-0.4.0b8.dist-info → pymammotion-0.4.1.dist-info}/METADATA +1 -1
  29. {pymammotion-0.4.0b8.dist-info → pymammotion-0.4.1.dist-info}/RECORD +31 -41
  30. pymammotion/proto/basestation.py +0 -59
  31. pymammotion/proto/common.py +0 -12
  32. pymammotion/proto/dev_net.py +0 -381
  33. pymammotion/proto/luba_msg.py +0 -81
  34. pymammotion/proto/luba_mul.py +0 -77
  35. pymammotion/proto/mctrl_driver.py +0 -100
  36. pymammotion/proto/mctrl_nav.py +0 -664
  37. pymammotion/proto/mctrl_ota.py +0 -48
  38. pymammotion/proto/mctrl_pept.py +0 -41
  39. pymammotion/proto/mctrl_sys.py +0 -574
  40. {pymammotion-0.4.0b8.dist-info → pymammotion-0.4.1.dist-info}/LICENSE +0 -0
  41. {pymammotion-0.4.0b8.dist-info → pymammotion-0.4.1.dist-info}/WHEEL +0 -0
@@ -1,6 +1,2179 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # sources: pymammotion/proto/basestation.proto, pymammotion/proto/common.proto, pymammotion/proto/dev_net.proto, pymammotion/proto/luba_msg.proto, pymammotion/proto/luba_mul.proto, pymammotion/proto/mctrl_driver.proto, pymammotion/proto/mctrl_nav.proto, pymammotion/proto/mctrl_ota.proto, pymammotion/proto/mctrl_pept.proto, pymammotion/proto/mctrl_sys.proto
3
+ # plugin: python-betterproto
4
+ # This file has been @generated
5
+ from dataclasses import dataclass
6
+ from typing import (
7
+ Optional,
8
+ )
9
+
1
10
  import betterproto
2
11
 
3
12
 
13
+
4
14
  def has_field(message: betterproto.Message) -> bool:
5
15
  """Check if the message has any fields serialized on wire."""
6
- return betterproto.serialized_on_wire(message)
16
+ return betterproto.serialized_on_wire(message)
17
+
18
+
19
+ class WifiConfType(betterproto.Enum):
20
+ DisconnectWifi = 0
21
+ ForgetWifi = 1
22
+ DirectConnectWifi = 2
23
+ ReconnectWifi = 3
24
+ set_enable = 4
25
+
26
+
27
+
28
+ class DrvUploadFileFileType(betterproto.Enum):
29
+ FILE_TYPE_ALL = 0
30
+ FILE_TYPE_SYSLOG = 1
31
+ FILE_TYPE_NAVLOG = 2
32
+ FILE_TYPE_RTKLOG = 3
33
+
34
+
35
+
36
+ class DrvDevInfoResult(betterproto.Enum):
37
+ DRV_RESULT_FAIL = 0
38
+ DRV_RESULT_SUC = 1
39
+ DRV_RESULT_NOTSUP = 2
40
+
41
+
42
+
43
+ class SimCardSta(betterproto.Enum):
44
+ SIM_NONE = 0
45
+ SIM_NO_CARD = 1
46
+ SIM_INVALID = 2
47
+ SIM_INPUT_PIN = 3
48
+ SIM_INPUT_PUK = 4
49
+ SIM_OK = 5
50
+
51
+
52
+
53
+ class MnetLinkType(betterproto.Enum):
54
+ MNET_LINK_NONE = 0
55
+ MNET_LINK_2G = 1
56
+ MNET_LINK_3G = 2
57
+ MNET_LINK_4G = 3
58
+
59
+
60
+
61
+ class ApnAuthType(betterproto.Enum):
62
+ APN_AUTH_NONE = 0
63
+ APN_AUTH_PAP = 1
64
+ APN_AUTH_CHAP = 2
65
+ APN_AUTH_PAP_CHAP = 3
66
+
67
+
68
+
69
+ class NetType(betterproto.Enum):
70
+ WIFI = 0
71
+ MNET = 1
72
+
73
+
74
+
75
+ class IotConctrlType(betterproto.Enum):
76
+ IOT_TYPE_OFFLINE = 0
77
+ IOT_TYPE_ONLINE = 1
78
+ IOT_TYPE_RESET = 2
79
+
80
+
81
+
82
+ class Operation(betterproto.Enum):
83
+ WRITE = 0
84
+ READ = 1
85
+ ERASE = 2
86
+
87
+
88
+
89
+ class OffPartId(betterproto.Enum):
90
+ OFF_PART_DL_IMG = 0
91
+ OFF_PART_UPDINFO_BACK = 1
92
+ OFF_PART_UPDINFO = 2
93
+ OFF_PART_NAKEDB = 3
94
+ OFF_PART_FLASHDB = 4
95
+ OFF_PART_UPD_APP_IMG = 5
96
+ OFF_PART_UPD_BMS_IMG = 6
97
+ OFF_PART_UPD_TMP_IMG = 7
98
+ OFF_PART_DEV_INFO = 8
99
+ OFF_PART_NAKEDB_BACK = 9
100
+ OFF_PART_MAX = 10
101
+
102
+
103
+
104
+ class QcAppTestId(betterproto.Enum):
105
+ QC_APP_ITEM_ON_CHARGESATSTION = 0
106
+ QC_APP_TEST_X3_SPEAKER = 1
107
+ QC_APP_TEST_STATIC_OBSTACLE_DETECTION = 2
108
+ QC_APP_TEST_CHARGESTATION_TEMP = 3
109
+ QC_APP_ITEM_KEY = 4
110
+ QC_APP_TEST_BUMPER_FRONTLEFT = 5
111
+ QC_APP_TEST_BUMPER_FRONTRIGHT = 6
112
+ QC_APP_TEST_STOP = 7
113
+ QC_APP_TEST_UNLOCK = 8
114
+ QC_APP_TEST_BUZZ = 9
115
+ QC_APP_TEST_LIFT = 10
116
+ QC_APP_ITEM_SENEOR = 11
117
+ QC_APP_TEST_ROLL_LEFT = 12
118
+ QC_APP_TEST_ROLL_RIGHT = 13
119
+ QC_APP_TEST_ULTRA_UNCOVER = 14
120
+ QC_APP_TEST_ULTRA0_COVER = 15
121
+ QC_APP_TEST_ULTRA1_COVER = 16
122
+ QC_APP_TEST_ULTRA2_COVER = 17
123
+ QC_APP_TEST_RAIN = 18
124
+ QC_APP_ITEM_SQ = 19
125
+ QC_APP_TEST_BLE_RSSI = 20
126
+ QC_APP_TEST_SATELLITES_ROVER = 21
127
+ QC_APP_TEST_SATELLITES_REF_STATION_L1 = 22
128
+ QC_APP_TEST_SATELLITES_REF_STATION_L2 = 23
129
+ QC_APP_TEST_SATELLITES_COMMON_VIEW = 24
130
+ QC_APP_TEST_CNO_ROVER = 25
131
+ QC_APP_TEST_CNO_REF_STATION = 26
132
+ QC_APP_TEST_REF_STATION_LINK_STATUS = 27
133
+ QC_APP_TEST_LOCATION_STATE = 28
134
+ QC_APP_TEST_MAX = 29
135
+
136
+
137
+
138
+ class NetUsedType(betterproto.Enum):
139
+ NONE = 0
140
+ WIFI = 1
141
+ MNET = 2
142
+
143
+
144
+
145
+ class RptInfoType(betterproto.Enum):
146
+ RIT_CONNECT = 0
147
+ RIT_DEV_STA = 1
148
+ RIT_RTK = 2
149
+ RIT_DEV_LOCAL = 3
150
+ RIT_WORK = 4
151
+ RIT_FW_INFO = 5
152
+ RIT_MAINTAIN = 6
153
+ RIT_VISION_POINT = 7
154
+ RIT_VIO = 8
155
+ RIT_VISION_STATISTIC = 9
156
+ RIT_BASESTATION_INFO = 10
157
+
158
+
159
+
160
+ class RptAct(betterproto.Enum):
161
+ RPT_START = 0
162
+ RPT_STOP = 1
163
+ RPT_KEEP = 2
164
+
165
+
166
+
167
+ class InfoType(betterproto.Enum):
168
+ IT_BASE = 0
169
+ IT_OTA = 1
170
+
171
+
172
+
173
+ class MulLanguage(betterproto.Enum):
174
+ ENGLISH = 0
175
+ GERMAN = 1
176
+ UNRECOGNIZED = -1
177
+
178
+
179
+
180
+ class MulCameraPosition(betterproto.Enum):
181
+ LEFT = 0
182
+ RIGHT = 1
183
+ REAR = 2
184
+ ALL = 3
185
+
186
+
187
+
188
+ class MulVideoErrorCode(betterproto.Enum):
189
+ SUCCESS = 0
190
+ ACTIVATION_FAILED = 1
191
+ NETWORK_NOT_AVAILABLE = 2
192
+ CREATE_CHANNEL_FAILED = 3
193
+ PARAM_INVAILD = 4
194
+ CELLULAR_RESTRICTION = 5
195
+
196
+
197
+
198
+ class MulWiperErrorCode(betterproto.Enum):
199
+ SET_SUCCESS = 0
200
+ HW_ERROR = 1
201
+ NAVIGATION_WORK_FORBID = 2
202
+
203
+
204
+
205
+ class MsgCmdType(betterproto.Enum):
206
+ START = 0
207
+ NAV = 240
208
+ LOCALIZATION = 241
209
+ PLANNING = 242
210
+ EMBED_DRIVER = 243
211
+ EMBED_SYS = 244
212
+ EMBED_MIDWARE = 245
213
+ EMBED_OTA = 246
214
+ APPLICATION = 247
215
+ ESP = 248
216
+ MUL = 249
217
+ PEPT = 250
218
+
219
+
220
+
221
+ class MsgAttr(betterproto.Enum):
222
+ NONE = 0
223
+ REQ = 1
224
+ RESP = 2
225
+ REPORT = 3
226
+
227
+
228
+
229
+ class MsgDevice(betterproto.Enum):
230
+ DEV_COMM_ESP = 0
231
+ DEV_MAINCTL = 1
232
+ DEV_LEFTMOTOR = 2
233
+ DEV_RIGHTMOTOR = 3
234
+ DEV_BASESTATION = 4
235
+ DEV_RTKCLI = 5
236
+ DEV_USBHOST = 6
237
+ DEV_MOBILEAPP = 7
238
+ DEV_IOTSERVER = 8
239
+ DEV_BMS = 9
240
+ DEV_NAVIGATION = 17
241
+ DEV_LOCALIZATION = 18
242
+ DEV_PERCEPTION = 19
243
+ SOC_MODULE_MULTIMEDIA = 21
244
+ DEV_IOTCTRL = 25
245
+
246
+
247
+
248
+ @dataclass(eq=False, repr=False)
249
+ class RequestBasestationInfoT(betterproto.Message):
250
+ request_type: int = betterproto.uint32_field(1)
251
+
252
+
253
+ @dataclass(eq=False, repr=False)
254
+ class ResponseBasestationInfoT(betterproto.Message):
255
+ system_status: int = betterproto.uint64_field(1)
256
+ app_connect_type: int = betterproto.uint32_field(2)
257
+ ble_rssi: int = betterproto.int32_field(3)
258
+ wifi_rssi: int = betterproto.int32_field(4)
259
+ sats_num: int = betterproto.uint64_field(5)
260
+ lora_scan: int = betterproto.int64_field(6)
261
+ lora_channel: int = betterproto.int64_field(7)
262
+ lora_locid: int = betterproto.int64_field(8)
263
+ lora_netid: int = betterproto.int64_field(9)
264
+ rtk_status: int = betterproto.uint64_field(10)
265
+ lowpower_status: int = betterproto.int32_field(11)
266
+ mqtt_rtk_status: int = betterproto.int32_field(12)
267
+ rtk_channel: int = betterproto.int32_field(13)
268
+ rtk_switch: int = betterproto.int32_field(14)
269
+
270
+
271
+ @dataclass(eq=False, repr=False)
272
+ class AppToBaseMqttRtkT(betterproto.Message):
273
+ rtk_switch: int = betterproto.int32_field(1)
274
+ rtk_url: str = betterproto.string_field(2)
275
+ rtk_port: int = betterproto.int32_field(3)
276
+ rtk_username: str = betterproto.string_field(4)
277
+ rtk_password: str = betterproto.string_field(5)
278
+
279
+
280
+ @dataclass(eq=False, repr=False)
281
+ class BaseToAppMqttRtkT(betterproto.Message):
282
+ rtk_switch_status: int = betterproto.int32_field(1)
283
+
284
+
285
+ @dataclass(eq=False, repr=False)
286
+ class BaseStation(betterproto.Message):
287
+ to_dev: "RequestBasestationInfoT" = betterproto.message_field(
288
+ 1, group="BaseStationSubType"
289
+ )
290
+ to_app: "ResponseBasestationInfoT" = betterproto.message_field(
291
+ 2, group="BaseStationSubType"
292
+ )
293
+ app_to_base_mqtt_rtk_msg: "AppToBaseMqttRtkT" = betterproto.message_field(
294
+ 3, group="BaseStationSubType"
295
+ )
296
+ base_to_app_mqtt_rtk_msg: "BaseToAppMqttRtkT" = betterproto.message_field(
297
+ 4, group="BaseStationSubType"
298
+ )
299
+
300
+
301
+
302
+ @dataclass(eq=False, repr=False)
303
+ class CommDataCouple(betterproto.Message):
304
+ x: float = betterproto.float_field(1)
305
+ y: float = betterproto.float_field(2)
306
+
307
+
308
+ @dataclass(eq=False, repr=False)
309
+ class DrvWifiUpload(betterproto.Message):
310
+ wifi_msg_upload: int = betterproto.int32_field(1)
311
+
312
+
313
+ @dataclass(eq=False, repr=False)
314
+ class DrvWifiList(betterproto.Message):
315
+ nvs_wifi_upload: int = betterproto.int32_field(1)
316
+
317
+
318
+ @dataclass(eq=False, repr=False)
319
+ class DrvWifiSet(betterproto.Message):
320
+ config_param: int = betterproto.int32_field(1)
321
+ confssid: str = betterproto.string_field(2)
322
+ wifi_enable: bool = betterproto.bool_field(3)
323
+
324
+
325
+ @dataclass(eq=False, repr=False)
326
+ class DrvWifiMsg(betterproto.Message):
327
+ status1: bool = betterproto.bool_field(1)
328
+ status2: bool = betterproto.bool_field(2)
329
+ ip: str = betterproto.string_field(3)
330
+ msgssid: str = betterproto.string_field(4)
331
+ password: str = betterproto.string_field(5)
332
+ rssi: int = betterproto.int32_field(6)
333
+ productkey: str = betterproto.string_field(7)
334
+ devicename: str = betterproto.string_field(8)
335
+ wifi_enable: bool = betterproto.bool_field(9)
336
+
337
+
338
+ @dataclass(eq=False, repr=False)
339
+ class DrvWifiConf(betterproto.Message):
340
+ succ_flag: bool = betterproto.bool_field(1)
341
+ code: int = betterproto.int32_field(2)
342
+ confssid: str = betterproto.string_field(3)
343
+
344
+
345
+ @dataclass(eq=False, repr=False)
346
+ class DrvListUpload(betterproto.Message):
347
+ sum: int = betterproto.int32_field(1)
348
+ current: int = betterproto.int32_field(2)
349
+ status: int = betterproto.int32_field(3)
350
+ memssid: str = betterproto.string_field(4)
351
+ rssi: int = betterproto.int32_field(5)
352
+
353
+
354
+ @dataclass(eq=False, repr=False)
355
+ class DrvUploadFileReq(betterproto.Message):
356
+ biz_id: str = betterproto.string_field(1)
357
+ url: str = betterproto.string_field(2)
358
+ user_id: str = betterproto.string_field(3)
359
+ num: int = betterproto.int32_field(4)
360
+ type: int = betterproto.int32_field(5)
361
+
362
+
363
+ @dataclass(eq=False, repr=False)
364
+ class DrvUploadFileCancel(betterproto.Message):
365
+ biz_id: str = betterproto.string_field(1)
366
+
367
+
368
+ @dataclass(eq=False, repr=False)
369
+ class DrvUploadFileToAppReq(betterproto.Message):
370
+ biz_id: str = betterproto.string_field(1)
371
+ operation: int = betterproto.int32_field(2)
372
+ server_ip: int = betterproto.fixed32_field(3)
373
+ server_port: int = betterproto.int32_field(4)
374
+ num: int = betterproto.int32_field(5)
375
+ type: int = betterproto.int32_field(6)
376
+
377
+
378
+ @dataclass(eq=False, repr=False)
379
+ class DrvUploadFileToAppRsp(betterproto.Message):
380
+ biz_id: str = betterproto.string_field(1)
381
+ operation: int = betterproto.int32_field(2)
382
+ result: int = betterproto.int32_field(3)
383
+
384
+
385
+ @dataclass(eq=False, repr=False)
386
+ class DrvDevInfoReqId(betterproto.Message):
387
+ id: int = betterproto.int32_field(1)
388
+ type: int = betterproto.int32_field(2)
389
+
390
+
391
+ @dataclass(eq=False, repr=False)
392
+ class DrvDevInfoRespId(betterproto.Message):
393
+ id: int = betterproto.int32_field(1)
394
+ type: int = betterproto.int32_field(2)
395
+ res: "DrvDevInfoResult" = betterproto.enum_field(3)
396
+ info: str = betterproto.string_field(4)
397
+
398
+
399
+ @dataclass(eq=False, repr=False)
400
+ class DrvDevInfoReq(betterproto.Message):
401
+ req_ids: list["DrvDevInfoReqId"] = betterproto.message_field(1)
402
+
403
+
404
+ @dataclass(eq=False, repr=False)
405
+ class DrvDevInfoResp(betterproto.Message):
406
+ resp_ids: list["DrvDevInfoRespId"] = betterproto.message_field(1)
407
+
408
+
409
+ @dataclass(eq=False, repr=False)
410
+ class DrvUpgradeReport(betterproto.Message):
411
+ devname: str = betterproto.string_field(1)
412
+ otaid: str = betterproto.string_field(2)
413
+ version: str = betterproto.string_field(3)
414
+ progress: int = betterproto.int32_field(4)
415
+ result: int = betterproto.int32_field(5)
416
+ message: str = betterproto.string_field(6)
417
+ properties: str = betterproto.string_field(7)
418
+
419
+
420
+ @dataclass(eq=False, repr=False)
421
+ class WifiIotStatusReport(betterproto.Message):
422
+ wifi_connected: bool = betterproto.bool_field(1)
423
+ iot_connected: bool = betterproto.bool_field(2)
424
+ productkey: str = betterproto.string_field(3)
425
+ devicename: str = betterproto.string_field(4)
426
+
427
+
428
+ @dataclass(eq=False, repr=False)
429
+ class BleTestBytes(betterproto.Message):
430
+ seqs: int = betterproto.int32_field(1)
431
+ data: list[int] = betterproto.fixed32_field(2)
432
+
433
+
434
+ @dataclass(eq=False, repr=False)
435
+ class GetNetworkInfoReq(betterproto.Message):
436
+ req_ids: int = betterproto.int32_field(1)
437
+
438
+
439
+ @dataclass(eq=False, repr=False)
440
+ class GetNetworkInfoRsp(betterproto.Message):
441
+ req_ids: int = betterproto.int32_field(1)
442
+ wifi_ssid: str = betterproto.string_field(2)
443
+ wifi_mac: str = betterproto.string_field(3)
444
+ wifi_rssi: int = betterproto.int32_field(4)
445
+ ip: int = betterproto.fixed32_field(5)
446
+ mask: int = betterproto.fixed32_field(6)
447
+ gateway: int = betterproto.fixed32_field(7)
448
+
449
+
450
+ @dataclass(eq=False, repr=False)
451
+ class MnetInetStatus(betterproto.Message):
452
+ connect: bool = betterproto.bool_field(1)
453
+ ip: int = betterproto.fixed32_field(2)
454
+ mask: int = betterproto.fixed32_field(3)
455
+ gateway: int = betterproto.fixed32_field(4)
456
+
457
+
458
+ @dataclass(eq=False, repr=False)
459
+ class MnetInfo(betterproto.Message):
460
+ model: str = betterproto.string_field(1)
461
+ revision: str = betterproto.string_field(2)
462
+ imei: str = betterproto.string_field(3)
463
+ sim: "SimCardSta" = betterproto.enum_field(4)
464
+ imsi: str = betterproto.string_field(5)
465
+ link_type: "MnetLinkType" = betterproto.enum_field(6)
466
+ rssi: int = betterproto.int32_field(7)
467
+ inet: "MnetInetStatus" = betterproto.message_field(8)
468
+
469
+
470
+ @dataclass(eq=False, repr=False)
471
+ class GetMnetInfoReq(betterproto.Message):
472
+ req_ids: int = betterproto.int32_field(1)
473
+
474
+
475
+ @dataclass(eq=False, repr=False)
476
+ class GetMnetInfoRsp(betterproto.Message):
477
+ req_ids: int = betterproto.int32_field(1)
478
+ result: int = betterproto.int32_field(2)
479
+ mnet: "MnetInfo" = betterproto.message_field(3)
480
+
481
+
482
+ @dataclass(eq=False, repr=False)
483
+ class MnetApn(betterproto.Message):
484
+ cid: int = betterproto.int32_field(1)
485
+ apn_alias: str = betterproto.string_field(2)
486
+ apn_name: str = betterproto.string_field(3)
487
+ auth: "ApnAuthType" = betterproto.enum_field(4)
488
+ username: str = betterproto.string_field(5)
489
+ password: str = betterproto.string_field(6)
490
+
491
+
492
+ @dataclass(eq=False, repr=False)
493
+ class MnetApnCfg(betterproto.Message):
494
+ apn_used_idx: int = betterproto.int32_field(1)
495
+ apn: list["MnetApn"] = betterproto.message_field(2)
496
+
497
+
498
+ @dataclass(eq=False, repr=False)
499
+ class MnetApnSetCfg(betterproto.Message):
500
+ use_default: bool = betterproto.bool_field(1)
501
+ cfg: "MnetApnCfg" = betterproto.message_field(2)
502
+
503
+
504
+ @dataclass(eq=False, repr=False)
505
+ class MnetCfg(betterproto.Message):
506
+ mnet_enable: bool = betterproto.bool_field(1)
507
+ inet_enable: bool = betterproto.bool_field(2)
508
+ type: "NetType" = betterproto.enum_field(3)
509
+ apn: "MnetApnSetCfg" = betterproto.message_field(4)
510
+ auto_select: bool = betterproto.bool_field(5)
511
+
512
+
513
+ @dataclass(eq=False, repr=False)
514
+ class GetMnetCfgReq(betterproto.Message):
515
+ req_ids: int = betterproto.int32_field(1)
516
+
517
+
518
+ @dataclass(eq=False, repr=False)
519
+ class GetMnetCfgRsp(betterproto.Message):
520
+ req_ids: int = betterproto.int32_field(1)
521
+ result: int = betterproto.int32_field(2)
522
+ cfg: "MnetCfg" = betterproto.message_field(3)
523
+
524
+
525
+ @dataclass(eq=False, repr=False)
526
+ class SetMnetCfgReq(betterproto.Message):
527
+ req_ids: int = betterproto.int32_field(1)
528
+ cfg: "MnetCfg" = betterproto.message_field(2)
529
+
530
+
531
+ @dataclass(eq=False, repr=False)
532
+ class SetMnetCfgRsp(betterproto.Message):
533
+ req_ids: int = betterproto.int32_field(1)
534
+ result: int = betterproto.int32_field(2)
535
+
536
+
537
+ @dataclass(eq=False, repr=False)
538
+ class DrvDebugDdsZmq(betterproto.Message):
539
+ is_enable: bool = betterproto.bool_field(1)
540
+ rx_topic_name: str = betterproto.string_field(2)
541
+ tx_zmq_url: str = betterproto.string_field(3)
542
+
543
+
544
+ @dataclass(eq=False, repr=False)
545
+ class SetDrvBleMtu(betterproto.Message):
546
+ mtu_count: int = betterproto.int32_field(1)
547
+
548
+
549
+ @dataclass(eq=False, repr=False)
550
+ class DevNet(betterproto.Message):
551
+ todev_ble_sync: int = betterproto.int32_field(
552
+ 1, group="NetSubType"
553
+ )
554
+ todev_conf_type: "WifiConfType" = betterproto.enum_field(
555
+ 2, group="NetSubType"
556
+ )
557
+ todev_wifi_msg_upload: "DrvWifiUpload" = betterproto.message_field(
558
+ 3, group="NetSubType"
559
+ )
560
+ todev_wifi_list_upload: "DrvWifiList" = betterproto.message_field(
561
+ 4, group="NetSubType"
562
+ )
563
+ todev_wifi_configuration: "DrvWifiSet" = betterproto.message_field(
564
+ 5, group="NetSubType"
565
+ )
566
+ toapp_wifi_msg: "DrvWifiMsg" = betterproto.message_field(
567
+ 6, group="NetSubType"
568
+ )
569
+ toapp_wifi_conf: "DrvWifiConf" = betterproto.message_field(
570
+ 7, group="NetSubType"
571
+ )
572
+ toapp_list_upload: "DrvListUpload" = betterproto.message_field(
573
+ 8, group="NetSubType"
574
+ )
575
+ todev_req_log_info: "DrvUploadFileReq" = betterproto.message_field(
576
+ 9, group="NetSubType"
577
+ )
578
+ todev_log_data_cancel: "DrvUploadFileCancel" = betterproto.message_field(
579
+ 10, group="NetSubType"
580
+ )
581
+ todev_devinfo_req: "DrvDevInfoReq" = betterproto.message_field(
582
+ 11, group="NetSubType"
583
+ )
584
+ toapp_devinfo_resp: "DrvDevInfoResp" = betterproto.message_field(
585
+ 12, group="NetSubType"
586
+ )
587
+ toapp_upgrade_report: "DrvUpgradeReport" = betterproto.message_field(
588
+ 13, group="NetSubType"
589
+ )
590
+ toapp_wifi_iot_status: "WifiIotStatusReport" = betterproto.message_field(
591
+ 14, group="NetSubType"
592
+ )
593
+ todev_uploadfile_req: "DrvUploadFileToAppReq" = betterproto.message_field(
594
+ 15, group="NetSubType"
595
+ )
596
+ toapp_uploadfile_rsp: "DrvUploadFileToAppRsp" = betterproto.message_field(
597
+ 16, group="NetSubType"
598
+ )
599
+ todev_networkinfo_req: "GetNetworkInfoReq" = betterproto.message_field(
600
+ 17, group="NetSubType"
601
+ )
602
+ toapp_networkinfo_rsp: "GetNetworkInfoRsp" = betterproto.message_field(
603
+ 18, group="NetSubType"
604
+ )
605
+ bir_testdata: "BleTestBytes" = betterproto.message_field(
606
+ 19, group="NetSubType"
607
+ )
608
+ todev_mnet_info_req: "GetMnetInfoReq" = betterproto.message_field(
609
+ 20, group="NetSubType"
610
+ )
611
+ toapp_mnet_info_rsp: "GetMnetInfoRsp" = betterproto.message_field(
612
+ 21, group="NetSubType"
613
+ )
614
+ todev_get_mnet_cfg_req: "GetMnetCfgReq" = betterproto.message_field(
615
+ 22, group="NetSubType"
616
+ )
617
+ toapp_get_mnet_cfg_rsp: "GetMnetCfgRsp" = betterproto.message_field(
618
+ 23, group="NetSubType"
619
+ )
620
+ todev_set_mnet_cfg_req: "SetMnetCfgReq" = betterproto.message_field(
621
+ 24, group="NetSubType"
622
+ )
623
+ toapp_set_mnet_cfg_rsp: "SetMnetCfgRsp" = betterproto.message_field(
624
+ 25, group="NetSubType"
625
+ )
626
+ todev_set_dds2_zmq: "DrvDebugDdsZmq" = betterproto.message_field(
627
+ 26, group="NetSubType"
628
+ )
629
+ todev_set_ble_mtu: "SetDrvBleMtu" = betterproto.message_field(
630
+ 27, group="NetSubType"
631
+ )
632
+ todev_set_iot_offline_req: "IotConctrlType" = betterproto.enum_field(
633
+ 28, group="NetSubType"
634
+ )
635
+
636
+
637
+
638
+ @dataclass(eq=False, repr=False)
639
+ class DrvMotionCtrl(betterproto.Message):
640
+ set_linear_speed: int = betterproto.int32_field(1)
641
+ set_angular_speed: int = betterproto.int32_field(2)
642
+
643
+
644
+ @dataclass(eq=False, repr=False)
645
+ class DrvKnifeHeight(betterproto.Message):
646
+ knife_height: int = betterproto.int32_field(1)
647
+
648
+
649
+ @dataclass(eq=False, repr=False)
650
+ class DrvSrSpeed(betterproto.Message):
651
+ rw: int = betterproto.int32_field(1)
652
+ speed: float = betterproto.float_field(2)
653
+
654
+
655
+ @dataclass(eq=False, repr=False)
656
+ class DrvKnifeStatus(betterproto.Message):
657
+ knife_status: int = betterproto.int32_field(1)
658
+
659
+
660
+ @dataclass(eq=False, repr=False)
661
+ class DrvKnifeChangeReport(betterproto.Message):
662
+ is_start: int = betterproto.int32_field(1)
663
+ start_high: int = betterproto.int32_field(2)
664
+ end_high: int = betterproto.int32_field(3)
665
+
666
+
667
+ @dataclass(eq=False, repr=False)
668
+ class DrvMowCtrlByHand(betterproto.Message):
669
+ main_ctrl: int = betterproto.int32_field(1)
670
+ cut_knife_ctrl: int = betterproto.int32_field(2)
671
+ cut_knife_height: int = betterproto.int32_field(3)
672
+ max_run_speed: float = betterproto.float_field(4)
673
+
674
+
675
+ @dataclass(eq=False, repr=False)
676
+ class RtkCfgReqT(betterproto.Message):
677
+ cmd_length: int = betterproto.int32_field(1)
678
+ cmd_req: str = betterproto.string_field(2)
679
+
680
+
681
+ @dataclass(eq=False, repr=False)
682
+ class RtkCfgReqAckT(betterproto.Message):
683
+ cmd_length: int = betterproto.int32_field(1)
684
+ cmd_response: str = betterproto.string_field(2)
685
+
686
+
687
+ @dataclass(eq=False, repr=False)
688
+ class RtkSysMaskQueryT(betterproto.Message):
689
+ sat_system: int = betterproto.uint32_field(1)
690
+
691
+
692
+ @dataclass(eq=False, repr=False)
693
+ class RtkSysMaskQueryAckT(betterproto.Message):
694
+ sat_system: int = betterproto.uint32_field(1)
695
+ system_mask_bits: list[int] = betterproto.uint32_field(2)
696
+
697
+
698
+ @dataclass(eq=False, repr=False)
699
+ class MctlDriver(betterproto.Message):
700
+ todev_devmotion_ctrl: "DrvMotionCtrl" = betterproto.message_field(
701
+ 1, group="SubDrvMsg"
702
+ )
703
+ todev_knife_height_set: "DrvKnifeHeight" = betterproto.message_field(
704
+ 2, group="SubDrvMsg"
705
+ )
706
+ bidire_speed_read_set: "DrvSrSpeed" = betterproto.message_field(
707
+ 3, group="SubDrvMsg"
708
+ )
709
+ bidire_knife_height_report: "DrvKnifeHeight" = betterproto.message_field(
710
+ 4, group="SubDrvMsg"
711
+ )
712
+ toapp_knife_status: "DrvKnifeStatus" = betterproto.message_field(
713
+ 5, group="SubDrvMsg"
714
+ )
715
+ mow_ctrl_by_hand: "DrvMowCtrlByHand" = betterproto.message_field(
716
+ 6, group="SubDrvMsg"
717
+ )
718
+ rtk_cfg_req: "RtkCfgReqT" = betterproto.message_field(
719
+ 7, group="SubDrvMsg"
720
+ )
721
+ rtk_cfg_req_ack: "RtkCfgReqAckT" = betterproto.message_field(
722
+ 8, group="SubDrvMsg"
723
+ )
724
+ rtk_sys_mask_query: "RtkSysMaskQueryT" = betterproto.message_field(
725
+ 9, group="SubDrvMsg"
726
+ )
727
+ rtk_sys_mask_query_ack: "RtkSysMaskQueryAckT" = betterproto.message_field(
728
+ 10, group="SubDrvMsg"
729
+ )
730
+ toapp_knife_status_change: "DrvKnifeChangeReport" = (
731
+ betterproto.message_field(11, group="SubDrvMsg")
732
+ )
733
+
734
+
735
+
736
+ @dataclass(eq=False, repr=False)
737
+ class NavLatLonUp(betterproto.Message):
738
+ lat: float = betterproto.double_field(1)
739
+ lon: float = betterproto.double_field(2)
740
+
741
+
742
+ @dataclass(eq=False, repr=False)
743
+ class NavBorderState(betterproto.Message):
744
+ bdstate: int = betterproto.int32_field(1)
745
+
746
+
747
+ @dataclass(eq=False, repr=False)
748
+ class NavPosUp(betterproto.Message):
749
+ x: float = betterproto.float_field(1)
750
+ y: float = betterproto.float_field(2)
751
+ status: int = betterproto.int32_field(3)
752
+ toward: int = betterproto.int32_field(4)
753
+ stars: int = betterproto.int32_field(5)
754
+ age: float = betterproto.float_field(6)
755
+ lat_stddev: float = betterproto.float_field(7)
756
+ lon_stddev: float = betterproto.float_field(8)
757
+ l2_df_stars: int = betterproto.int32_field(9)
758
+ pos_type: int = betterproto.int32_field(10)
759
+ c_hash_id: int = betterproto.int64_field(11)
760
+ pos_level: int = betterproto.int32_field(12)
761
+
762
+
763
+ @dataclass(eq=False, repr=False)
764
+ class NavBorderDataGetAck(betterproto.Message):
765
+ job_id: int = betterproto.int32_field(1)
766
+ current_frame: int = betterproto.int32_field(2)
767
+
768
+
769
+ @dataclass(eq=False, repr=False)
770
+ class NavObstiBorderDataGet(betterproto.Message):
771
+ obstacle_index: int = betterproto.int32_field(1)
772
+ current_frame: int = betterproto.int32_field(2)
773
+ obstacles_len: int = betterproto.int32_field(3)
774
+
775
+
776
+ @dataclass(eq=False, repr=False)
777
+ class NavObstiBorderDataGetAck(betterproto.Message):
778
+ obstacle_index: int = betterproto.int32_field(1)
779
+ current_frame: int = betterproto.int32_field(2)
780
+
781
+
782
+ @dataclass(eq=False, repr=False)
783
+ class NavCHlLineData(betterproto.Message):
784
+ start_job_ri: int = betterproto.int32_field(1)
785
+ end_job_ri: int = betterproto.int32_field(2)
786
+ current_frame: int = betterproto.int32_field(3)
787
+ channel_line_len: int = betterproto.int32_field(4)
788
+
789
+
790
+ @dataclass(eq=False, repr=False)
791
+ class NavCHlLineDataAck(betterproto.Message):
792
+ start_job_ri: int = betterproto.int32_field(1)
793
+ end_job_ri: int = betterproto.int32_field(2)
794
+ current_frame: int = betterproto.int32_field(3)
795
+
796
+
797
+ @dataclass(eq=False, repr=False)
798
+ class NavTaskInfo(betterproto.Message):
799
+ area: int = betterproto.int32_field(1)
800
+ time: int = betterproto.int32_field(2)
801
+ all_frame: int = betterproto.int32_field(3)
802
+ current_frame: int = betterproto.int32_field(4)
803
+ pathlen: int = betterproto.int32_field(5)
804
+ dc: list["CommDataCouple"] = betterproto.message_field(6)
805
+
806
+
807
+ @dataclass(eq=False, repr=False)
808
+ class NavBorderDataGet(betterproto.Message):
809
+ job_id: int = betterproto.int32_field(1)
810
+ current_frame: int = betterproto.int32_field(2)
811
+ border_len: int = betterproto.int32_field(3)
812
+
813
+
814
+ @dataclass(eq=False, repr=False)
815
+ class NavOptLineUp(betterproto.Message):
816
+ start_job_ri: int = betterproto.int32_field(1)
817
+ end_job_ri: int = betterproto.int32_field(2)
818
+ all_frame: int = betterproto.int32_field(3)
819
+ current_frame: int = betterproto.int32_field(4)
820
+ channel_data_len: int = betterproto.int32_field(5)
821
+ dc: list["CommDataCouple"] = betterproto.message_field(6)
822
+
823
+
824
+ @dataclass(eq=False, repr=False)
825
+ class NavOptiBorderInfo(betterproto.Message):
826
+ job_id: int = betterproto.int32_field(1)
827
+ all_frame: int = betterproto.int32_field(2)
828
+ current_frame: int = betterproto.int32_field(3)
829
+ border_data_len: int = betterproto.int32_field(4)
830
+ dc: list["CommDataCouple"] = betterproto.message_field(5)
831
+
832
+
833
+ @dataclass(eq=False, repr=False)
834
+ class NavOptObsInfo(betterproto.Message):
835
+ obstacle_id: int = betterproto.int32_field(1)
836
+ all_frame: int = betterproto.int32_field(2)
837
+ current_frame: int = betterproto.int32_field(3)
838
+ obstacle_data_len: int = betterproto.int32_field(4)
839
+ dc: list["CommDataCouple"] = betterproto.message_field(5)
840
+
841
+
842
+ @dataclass(eq=False, repr=False)
843
+ class NavStartJob(betterproto.Message):
844
+ job_id: int = betterproto.int64_field(1)
845
+ job_ver: int = betterproto.int32_field(2)
846
+ job_mode: int = betterproto.int32_field(3)
847
+ rain_tactics: int = betterproto.int32_field(4)
848
+ knife_height: int = betterproto.int32_field(5)
849
+ speed: float = betterproto.float_field(6)
850
+ channel_width: int = betterproto.int32_field(7)
851
+ ultra_wave: int = betterproto.int32_field(8)
852
+ channel_mode: int = betterproto.int32_field(9)
853
+
854
+
855
+ @dataclass(eq=False, repr=False)
856
+ class NavTaskProgress(betterproto.Message):
857
+ task_progress: int = betterproto.int32_field(1)
858
+
859
+
860
+ @dataclass(eq=False, repr=False)
861
+ class NavResFrame(betterproto.Message):
862
+ frameid: int = betterproto.int32_field(1)
863
+
864
+
865
+ @dataclass(eq=False, repr=False)
866
+ class NavGetHashList(betterproto.Message):
867
+ pver: int = betterproto.int32_field(1)
868
+ sub_cmd: int = betterproto.int32_field(2)
869
+ total_frame: int = betterproto.int32_field(3)
870
+ current_frame: int = betterproto.int32_field(4)
871
+ data_hash: int = betterproto.fixed64_field(5)
872
+ reserved: str = betterproto.string_field(6)
873
+
874
+
875
+ @dataclass(eq=False, repr=False)
876
+ class NavGetHashListAck(betterproto.Message):
877
+ pver: int = betterproto.int32_field(1)
878
+ sub_cmd: int = betterproto.int32_field(2)
879
+ total_frame: int = betterproto.int32_field(3)
880
+ current_frame: int = betterproto.int32_field(4)
881
+ data_hash: int = betterproto.fixed64_field(5)
882
+ hash_len: int = betterproto.int32_field(6)
883
+ reserved: str = betterproto.string_field(7)
884
+ result: int = betterproto.int32_field(8)
885
+ data_couple: list[int] = betterproto.int64_field(13)
886
+
887
+
888
+ @dataclass(eq=False, repr=False)
889
+ class NavGetCommData(betterproto.Message):
890
+ pver: int = betterproto.int32_field(1)
891
+ sub_cmd: int = betterproto.int32_field(2)
892
+ action: int = betterproto.int32_field(3)
893
+ type: int = betterproto.int32_field(4)
894
+ hash: int = betterproto.fixed64_field(5)
895
+ paternal_hash_a: int = betterproto.int64_field(6)
896
+ paternal_hash_b: int = betterproto.int64_field(7)
897
+ total_frame: int = betterproto.int32_field(8)
898
+ current_frame: int = betterproto.int32_field(9)
899
+ data_hash: int = betterproto.fixed64_field(10)
900
+ reserved: str = betterproto.string_field(11)
901
+
902
+
903
+ @dataclass(eq=False, repr=False)
904
+ class AreaLabel(betterproto.Message):
905
+ label: str = betterproto.string_field(1)
906
+
907
+
908
+ @dataclass(eq=False, repr=False)
909
+ class NavGetCommDataAck(betterproto.Message):
910
+ pver: int = betterproto.int32_field(1)
911
+ sub_cmd: int = betterproto.int32_field(2)
912
+ result: int = betterproto.int32_field(3)
913
+ action: int = betterproto.int32_field(4)
914
+ type: int = betterproto.int32_field(5)
915
+ hash: int = betterproto.fixed64_field(6)
916
+ paternal_hash_a: int = betterproto.fixed64_field(7)
917
+ paternal_hash_b: int = betterproto.fixed64_field(8)
918
+ total_frame: int = betterproto.int32_field(9)
919
+ current_frame: int = betterproto.int32_field(10)
920
+ data_hash: int = betterproto.fixed64_field(11)
921
+ data_len: int = betterproto.int32_field(12)
922
+ data_couple: list["CommDataCouple"] = betterproto.message_field(13)
923
+ reserved: str = betterproto.string_field(14)
924
+ area_label: "AreaLabel" = betterproto.message_field(15)
925
+
926
+
927
+ @dataclass(eq=False, repr=False)
928
+ class NavReqCoverPath(betterproto.Message):
929
+ pver: int = betterproto.int32_field(1)
930
+ job_id: int = betterproto.fixed64_field(2)
931
+ job_ver: int = betterproto.int32_field(3)
932
+ job_mode: int = betterproto.int32_field(4)
933
+ sub_cmd: int = betterproto.int32_field(5)
934
+ edge_mode: int = betterproto.int32_field(6)
935
+ knife_height: int = betterproto.int32_field(7)
936
+ channel_width: int = betterproto.int32_field(8)
937
+ ultra_wave: int = betterproto.int32_field(9)
938
+ channel_mode: int = betterproto.int32_field(10)
939
+ toward: int = betterproto.int32_field(11)
940
+ speed: float = betterproto.float_field(12)
941
+ zone_hashs: list[int] = betterproto.fixed64_field(13)
942
+ path_hash: int = betterproto.fixed64_field(14)
943
+ reserved: str = betterproto.string_field(15)
944
+ result: int = betterproto.int32_field(16)
945
+ toward_mode: int = betterproto.int32_field(17)
946
+ toward_included_angle: int = betterproto.int32_field(18)
947
+
948
+
949
+ @dataclass(eq=False, repr=False)
950
+ class NavUploadZigZagResult(betterproto.Message):
951
+ pver: int = betterproto.int32_field(1)
952
+ job_id: int = betterproto.fixed64_field(2)
953
+ job_ver: int = betterproto.int32_field(3)
954
+ result: int = betterproto.int32_field(4)
955
+ area: int = betterproto.int32_field(5)
956
+ time: int = betterproto.int32_field(6)
957
+ total_zone_num: int = betterproto.int32_field(7)
958
+ current_zone_path_num: int = betterproto.int32_field(8)
959
+ current_zone_path_id: int = betterproto.int32_field(9)
960
+ current_zone: int = betterproto.int32_field(10)
961
+ current_hash: int = betterproto.fixed64_field(11)
962
+ total_frame: int = betterproto.int32_field(12)
963
+ current_frame: int = betterproto.int32_field(13)
964
+ channel_mode: int = betterproto.int32_field(14)
965
+ channel_mode_id: int = betterproto.int32_field(15)
966
+ data_hash: int = betterproto.fixed64_field(16)
967
+ data_len: int = betterproto.int32_field(17)
968
+ reserved: str = betterproto.string_field(18)
969
+ data_couple: list["CommDataCouple"] = betterproto.message_field(19)
970
+ sub_cmd: int = betterproto.int32_field(20)
971
+
972
+
973
+ @dataclass(eq=False, repr=False)
974
+ class NavUploadZigZagResultAck(betterproto.Message):
975
+ pver: int = betterproto.int32_field(1)
976
+ current_zone: int = betterproto.int32_field(2)
977
+ current_hash: int = betterproto.fixed64_field(3)
978
+ total_frame: int = betterproto.int32_field(4)
979
+ current_frame: int = betterproto.int32_field(5)
980
+ data_hash: int = betterproto.fixed64_field(6)
981
+ reserved: str = betterproto.string_field(7)
982
+ sub_cmd: int = betterproto.int32_field(8)
983
+
984
+
985
+ @dataclass(eq=False, repr=False)
986
+ class NavTaskCtrl(betterproto.Message):
987
+ type: int = betterproto.int32_field(1)
988
+ action: int = betterproto.int32_field(2)
989
+ result: int = betterproto.int32_field(3)
990
+ reserved: str = betterproto.string_field(4)
991
+
992
+
993
+ @dataclass(eq=False, repr=False)
994
+ class NavTaskIdRw(betterproto.Message):
995
+ pver: int = betterproto.int32_field(1)
996
+ sub_cmd: int = betterproto.int32_field(2)
997
+ task_name: str = betterproto.string_field(3)
998
+ task_id: str = betterproto.string_field(4)
999
+ result: int = betterproto.int32_field(5)
1000
+ reserved: str = betterproto.string_field(6)
1001
+
1002
+
1003
+ @dataclass(eq=False, repr=False)
1004
+ class NavSysHashOverview(betterproto.Message):
1005
+ commonhash_overview: int = betterproto.fixed64_field(1)
1006
+ path_hash_overview: int = betterproto.fixed64_field(2)
1007
+
1008
+
1009
+ @dataclass(eq=False, repr=False)
1010
+ class NavTaskBreakPoint(betterproto.Message):
1011
+ x: float = betterproto.float_field(1)
1012
+ y: float = betterproto.float_field(2)
1013
+ toward: int = betterproto.int32_field(3)
1014
+ flag: int = betterproto.int32_field(4)
1015
+ action: int = betterproto.int32_field(5)
1016
+ zone_hash: int = betterproto.fixed64_field(6)
1017
+
1018
+
1019
+ @dataclass(eq=False, repr=False)
1020
+ class NavPlanJobSet(betterproto.Message):
1021
+ pver: int = betterproto.int32_field(1)
1022
+ sub_cmd: int = betterproto.int32_field(2)
1023
+ area: int = betterproto.int32_field(3)
1024
+ work_time: int = betterproto.int32_field(4)
1025
+ version: str = betterproto.string_field(5)
1026
+ id: str = betterproto.string_field(6)
1027
+ user_id: str = betterproto.string_field(7)
1028
+ device_id: str = betterproto.string_field(8)
1029
+ plan_id: str = betterproto.string_field(9)
1030
+ task_id: str = betterproto.string_field(10)
1031
+ job_id: str = betterproto.string_field(11)
1032
+ start_time: str = betterproto.string_field(12)
1033
+ end_time: str = betterproto.string_field(13)
1034
+ week: int = betterproto.int32_field(14)
1035
+ knife_height: int = betterproto.int32_field(15)
1036
+ model: int = betterproto.int32_field(16)
1037
+ edge_mode: int = betterproto.int32_field(17)
1038
+ required_time: int = betterproto.int32_field(18)
1039
+ route_angle: int = betterproto.int32_field(19)
1040
+ route_model: int = betterproto.int32_field(20)
1041
+ route_spacing: int = betterproto.int32_field(21)
1042
+ ultrasonic_barrier: int = betterproto.int32_field(22)
1043
+ total_plan_num: int = betterproto.int32_field(23)
1044
+ plan_index: int = betterproto.int32_field(24)
1045
+ result: int = betterproto.int32_field(25)
1046
+ speed: float = betterproto.float_field(26)
1047
+ task_name: str = betterproto.string_field(27)
1048
+ job_name: str = betterproto.string_field(28)
1049
+ zone_hashs: list[int] = betterproto.fixed64_field(29)
1050
+ reserved: str = betterproto.string_field(30)
1051
+ start_date: str = betterproto.string_field(31)
1052
+ end_date: str = betterproto.string_field(32)
1053
+ trigger_type: int = betterproto.int32_field(33)
1054
+ day: int = betterproto.int32_field(34)
1055
+ weeks: list[int] = betterproto.fixed32_field(35)
1056
+ remained_seconds: int = betterproto.int64_field(36)
1057
+ toward_mode: int = betterproto.int32_field(37)
1058
+ toward_included_angle: int = betterproto.int32_field(38)
1059
+
1060
+
1061
+ @dataclass(eq=False, repr=False)
1062
+ class NavUnableTimeSet(betterproto.Message):
1063
+ sub_cmd: int = betterproto.int32_field(1)
1064
+ device_id: str = betterproto.string_field(2)
1065
+ unable_start_time: str = betterproto.string_field(3)
1066
+ unable_end_time: str = betterproto.string_field(4)
1067
+ result: int = betterproto.int32_field(5)
1068
+ reserved: str = betterproto.string_field(6)
1069
+
1070
+
1071
+ @dataclass(eq=False, repr=False)
1072
+ class ChargePileType(betterproto.Message):
1073
+ toward: int = betterproto.int32_field(1)
1074
+ x: float = betterproto.float_field(2)
1075
+ y: float = betterproto.float_field(3)
1076
+
1077
+
1078
+ @dataclass(eq=False, repr=False)
1079
+ class SimulationCmdData(betterproto.Message):
1080
+ sub_cmd: int = betterproto.int32_field(1)
1081
+ param_id: int = betterproto.int32_field(2)
1082
+ param_value: list[int] = betterproto.int32_field(3)
1083
+
1084
+
1085
+ @dataclass(eq=False, repr=False)
1086
+ class WorkReportUpdateCmd(betterproto.Message):
1087
+ sub_cmd: int = betterproto.int32_field(1)
1088
+
1089
+
1090
+ @dataclass(eq=False, repr=False)
1091
+ class WorkReportUpdateAck(betterproto.Message):
1092
+ update_flag: bool = betterproto.bool_field(1)
1093
+ info_num: int = betterproto.int32_field(2)
1094
+
1095
+
1096
+ @dataclass(eq=False, repr=False)
1097
+ class WorkReportCmdData(betterproto.Message):
1098
+ sub_cmd: int = betterproto.int32_field(1)
1099
+ get_info_num: int = betterproto.int32_field(2)
1100
+
1101
+
1102
+ @dataclass(eq=False, repr=False)
1103
+ class WorkReportInfoAck(betterproto.Message):
1104
+ interrupt_flag: bool = betterproto.bool_field(1)
1105
+ start_work_time: int = betterproto.int64_field(2)
1106
+ end_work_time: int = betterproto.int64_field(3)
1107
+ work_time_used: int = betterproto.int32_field(4)
1108
+ work_ares: float = betterproto.double_field(5)
1109
+ work_progress: int = betterproto.int32_field(6)
1110
+ height_of_knife: int = betterproto.int32_field(7)
1111
+ work_type: int = betterproto.int32_field(8)
1112
+ work_result: int = betterproto.int32_field(9)
1113
+ total_ack_num: int = betterproto.int32_field(10)
1114
+ current_ack_num: int = betterproto.int32_field(11)
1115
+
1116
+
1117
+ @dataclass(eq=False, repr=False)
1118
+ class AppRequestCoverPathsT(betterproto.Message):
1119
+ pver: int = betterproto.int32_field(1)
1120
+ sub_cmd: int = betterproto.int32_field(2)
1121
+ total_frame: int = betterproto.int32_field(3)
1122
+ current_frame: int = betterproto.int32_field(4)
1123
+ data_hash: int = betterproto.fixed64_field(5)
1124
+ transaction_id: int = betterproto.int64_field(6)
1125
+ reserved: list[int] = betterproto.int64_field(7)
1126
+ hash_list: list[int] = betterproto.fixed64_field(8)
1127
+
1128
+
1129
+ @dataclass(eq=False, repr=False)
1130
+ class CoverPathPacketT(betterproto.Message):
1131
+ path_hash: int = betterproto.fixed64_field(1)
1132
+ path_type: int = betterproto.int32_field(2)
1133
+ path_total: int = betterproto.int32_field(3)
1134
+ path_cur: int = betterproto.int32_field(4)
1135
+ zone_hash: int = betterproto.fixed64_field(5)
1136
+ data_couple: list["CommDataCouple"] = betterproto.message_field(6)
1137
+
1138
+
1139
+ @dataclass(eq=False, repr=False)
1140
+ class CoverPathUploadT(betterproto.Message):
1141
+ pver: int = betterproto.int32_field(1)
1142
+ result: int = betterproto.int32_field(2)
1143
+ sub_cmd: int = betterproto.int32_field(3)
1144
+ area: int = betterproto.int32_field(4)
1145
+ time: int = betterproto.int32_field(5)
1146
+ total_frame: int = betterproto.int32_field(6)
1147
+ current_frame: int = betterproto.int32_field(7)
1148
+ total_path_num: int = betterproto.int32_field(8)
1149
+ vaild_path_num: int = betterproto.int32_field(9)
1150
+ data_hash: int = betterproto.fixed64_field(10)
1151
+ transaction_id: int = betterproto.int64_field(11)
1152
+ reserved: list[int] = betterproto.int64_field(12)
1153
+ data_len: int = betterproto.int32_field(13)
1154
+ path_packets: list["CoverPathPacketT"] = betterproto.message_field(14)
1155
+
1156
+
1157
+ @dataclass(eq=False, repr=False)
1158
+ class ZoneStartPrecentT(betterproto.Message):
1159
+ data_hash: int = betterproto.fixed64_field(1)
1160
+ x: float = betterproto.float_field(2)
1161
+ y: float = betterproto.float_field(3)
1162
+ index: int = betterproto.int32_field(4)
1163
+
1164
+
1165
+ @dataclass(eq=False, repr=False)
1166
+ class VisionCtrlMsg(betterproto.Message):
1167
+ type: int = betterproto.int32_field(1)
1168
+ cmd: int = betterproto.int32_field(2)
1169
+
1170
+
1171
+ @dataclass(eq=False, repr=False)
1172
+ class NavSysParamMsg(betterproto.Message):
1173
+ rw: int = betterproto.int32_field(1)
1174
+ id: int = betterproto.int32_field(2)
1175
+ context: int = betterproto.int32_field(3)
1176
+
1177
+
1178
+ @dataclass(eq=False, repr=False)
1179
+ class NavPlanTaskExecute(betterproto.Message):
1180
+ sub_cmd: int = betterproto.int32_field(1)
1181
+ id: str = betterproto.string_field(2)
1182
+ name: str = betterproto.string_field(3)
1183
+ result: int = betterproto.int32_field(4)
1184
+
1185
+
1186
+ @dataclass(eq=False, repr=False)
1187
+ class CostmapT(betterproto.Message):
1188
+ width: int = betterproto.int32_field(1)
1189
+ height: int = betterproto.int32_field(2)
1190
+ center_x: float = betterproto.float_field(3)
1191
+ center_y: float = betterproto.float_field(4)
1192
+ yaw: float = betterproto.float_field(5)
1193
+ res: float = betterproto.float_field(6)
1194
+ costmap: list[int] = betterproto.int32_field(7)
1195
+
1196
+
1197
+ @dataclass(eq=False, repr=False)
1198
+ class PlanTaskNameIdT(betterproto.Message):
1199
+ id: str = betterproto.string_field(1)
1200
+ name: str = betterproto.string_field(2)
1201
+
1202
+
1203
+ @dataclass(eq=False, repr=False)
1204
+ class NavGetAllPlanTask(betterproto.Message):
1205
+ tasks: list["PlanTaskNameIdT"] = betterproto.message_field(1)
1206
+
1207
+
1208
+ @dataclass(eq=False, repr=False)
1209
+ class NavTaskCtrlAck(betterproto.Message):
1210
+ """Define the NavTaskCtrlAck message"""
1211
+
1212
+ type: int = betterproto.int32_field(1)
1213
+ action: int = betterproto.int32_field(2)
1214
+ result: int = betterproto.int32_field(3)
1215
+ nav_state: int = betterproto.int32_field(4)
1216
+ reserved: str = betterproto.string_field(5)
1217
+
1218
+
1219
+ @dataclass(eq=False, repr=False)
1220
+ class NavMapNameMsg(betterproto.Message):
1221
+ rw: int = betterproto.int32_field(1)
1222
+ hash: int = betterproto.fixed64_field(2)
1223
+ name: str = betterproto.string_field(3)
1224
+ result: int = betterproto.int32_field(4)
1225
+ device_id: str = betterproto.string_field(5)
1226
+
1227
+
1228
+ @dataclass(eq=False, repr=False)
1229
+ class SvgMessageT(betterproto.Message):
1230
+ x_move: float = betterproto.double_field(1)
1231
+ y_move: float = betterproto.double_field(2)
1232
+ scale: float = betterproto.double_field(3)
1233
+ rotate: float = betterproto.double_field(4)
1234
+ base_width_m: float = betterproto.double_field(5)
1235
+ base_width_pix: int = betterproto.int32_field(7)
1236
+ base_height_m: float = betterproto.double_field(6)
1237
+ base_height_pix: int = betterproto.int32_field(8)
1238
+ data_count: int = betterproto.int32_field(12)
1239
+ hide_svg: bool = betterproto.bool_field(13)
1240
+ name_count: int = betterproto.int32_field(11)
1241
+ svg_file_name: str = betterproto.string_field(9)
1242
+ svg_file_data: str = betterproto.string_field(10)
1243
+
1244
+
1245
+ @dataclass(eq=False, repr=False)
1246
+ class SvgMessageAckT(betterproto.Message):
1247
+ pver: int = betterproto.int32_field(1)
1248
+ sub_cmd: int = betterproto.int32_field(2)
1249
+ total_frame: int = betterproto.int32_field(3)
1250
+ current_frame: int = betterproto.int32_field(4)
1251
+ data_hash: int = betterproto.fixed64_field(5)
1252
+ paternal_hash_a: int = betterproto.fixed64_field(6)
1253
+ type: int = betterproto.int32_field(7)
1254
+ result: int = betterproto.int32_field(8)
1255
+ svg_message: "SvgMessageT" = betterproto.message_field(9)
1256
+
1257
+
1258
+ @dataclass(eq=False, repr=False)
1259
+ class AreaHashName(betterproto.Message):
1260
+ name: str = betterproto.string_field(2)
1261
+ hash: int = betterproto.fixed64_field(1)
1262
+
1263
+
1264
+ @dataclass(eq=False, repr=False)
1265
+ class AppGetAllAreaHashName(betterproto.Message):
1266
+ device_id: str = betterproto.string_field(1)
1267
+ hashnames: list["AreaHashName"] = betterproto.message_field(2)
1268
+
1269
+
1270
+ @dataclass(eq=False, repr=False)
1271
+ class MctlNav(betterproto.Message):
1272
+ toapp_lat_up: "NavLatLonUp" = betterproto.message_field(
1273
+ 1, group="SubNavMsg"
1274
+ )
1275
+ toapp_pos_up: "NavPosUp" = betterproto.message_field(
1276
+ 2, group="SubNavMsg"
1277
+ )
1278
+ todev_chl_line_data: "NavCHlLineData" = betterproto.message_field(
1279
+ 3, group="SubNavMsg"
1280
+ )
1281
+ toapp_task_info: "NavTaskInfo" = betterproto.message_field(
1282
+ 4, group="SubNavMsg"
1283
+ )
1284
+ toapp_opt_line_up: "NavOptLineUp" = betterproto.message_field(
1285
+ 5, group="SubNavMsg"
1286
+ )
1287
+ toapp_opt_border_info: "NavOptiBorderInfo" = betterproto.message_field(
1288
+ 6, group="SubNavMsg"
1289
+ )
1290
+ toapp_opt_obs_info: "NavOptObsInfo" = betterproto.message_field(
1291
+ 7, group="SubNavMsg"
1292
+ )
1293
+ todev_task_info_ack: "NavResFrame" = betterproto.message_field(
1294
+ 8, group="SubNavMsg"
1295
+ )
1296
+ todev_opt_border_info_ack: "NavResFrame" = betterproto.message_field(
1297
+ 9, group="SubNavMsg"
1298
+ )
1299
+ todev_opt_obs_info_ack: "NavResFrame" = betterproto.message_field(
1300
+ 10, group="SubNavMsg"
1301
+ )
1302
+ todev_opt_line_up_ack: "NavResFrame" = betterproto.message_field(
1303
+ 11, group="SubNavMsg"
1304
+ )
1305
+ toapp_chgpileto: "ChargePileType" = betterproto.message_field(
1306
+ 12, group="SubNavMsg"
1307
+ )
1308
+ todev_sustask: int = betterproto.int32_field(
1309
+ 13, group="SubNavMsg"
1310
+ )
1311
+ todev_rechgcmd: int = betterproto.int32_field(
1312
+ 14, group="SubNavMsg"
1313
+ )
1314
+ todev_edgecmd: int = betterproto.int32_field(
1315
+ 15, group="SubNavMsg"
1316
+ )
1317
+ todev_draw_border: int = betterproto.int32_field(
1318
+ 16, group="SubNavMsg"
1319
+ )
1320
+ todev_draw_border_end: int = betterproto.int32_field(
1321
+ 17, group="SubNavMsg"
1322
+ )
1323
+ todev_draw_obs: int = betterproto.int32_field(
1324
+ 18, group="SubNavMsg"
1325
+ )
1326
+ todev_draw_obs_end: int = betterproto.int32_field(
1327
+ 19, group="SubNavMsg"
1328
+ )
1329
+ todev_chl_line: int = betterproto.int32_field(
1330
+ 20, group="SubNavMsg"
1331
+ )
1332
+ todev_chl_line_end: int = betterproto.int32_field(
1333
+ 21, group="SubNavMsg"
1334
+ )
1335
+ todev_save_task: int = betterproto.int32_field(
1336
+ 22, group="SubNavMsg"
1337
+ )
1338
+ todev_cancel_suscmd: int = betterproto.int32_field(
1339
+ 23, group="SubNavMsg"
1340
+ )
1341
+ todev_reset_chg_pile: int = betterproto.int32_field(
1342
+ 24, group="SubNavMsg"
1343
+ )
1344
+ todev_cancel_draw_cmd: int = betterproto.int32_field(
1345
+ 25, group="SubNavMsg"
1346
+ )
1347
+ todev_one_touch_leave_pile: int = betterproto.int32_field(
1348
+ 26, group="SubNavMsg"
1349
+ )
1350
+ todev_mow_task: "NavStartJob" = betterproto.message_field(
1351
+ 27, group="SubNavMsg"
1352
+ )
1353
+ toapp_bstate: "NavBorderState" = betterproto.message_field(
1354
+ 28, group="SubNavMsg"
1355
+ )
1356
+ todev_lat_up_ack: int = betterproto.int32_field(
1357
+ 29, group="SubNavMsg"
1358
+ )
1359
+ todev_gethash: "NavGetHashList" = betterproto.message_field(
1360
+ 30, group="SubNavMsg"
1361
+ )
1362
+ toapp_gethash_ack: "NavGetHashListAck" = betterproto.message_field(
1363
+ 31, group="SubNavMsg"
1364
+ )
1365
+ todev_get_commondata: "NavGetCommData" = betterproto.message_field(
1366
+ 32, group="SubNavMsg"
1367
+ )
1368
+ toapp_get_commondata_ack: "NavGetCommDataAck" = betterproto.message_field(
1369
+ 33, group="SubNavMsg"
1370
+ )
1371
+ bidire_reqconver_path: "NavReqCoverPath" = betterproto.message_field(
1372
+ 34, group="SubNavMsg"
1373
+ )
1374
+ toapp_zigzag: "NavUploadZigZagResult" = betterproto.message_field(
1375
+ 35, group="SubNavMsg"
1376
+ )
1377
+ todev_zigzag_ack: "NavUploadZigZagResultAck" = betterproto.message_field(
1378
+ 36, group="SubNavMsg"
1379
+ )
1380
+ todev_taskctrl: "NavTaskCtrl" = betterproto.message_field(
1381
+ 37, group="SubNavMsg"
1382
+ )
1383
+ bidire_taskid: "NavTaskIdRw" = betterproto.message_field(
1384
+ 38, group="SubNavMsg"
1385
+ )
1386
+ toapp_bp: "NavTaskBreakPoint" = betterproto.message_field(
1387
+ 39, group="SubNavMsg"
1388
+ )
1389
+ todev_planjob_set: "NavPlanJobSet" = betterproto.message_field(
1390
+ 40, group="SubNavMsg"
1391
+ )
1392
+ todev_unable_time_set: "NavUnableTimeSet" = betterproto.message_field(
1393
+ 41, group="SubNavMsg"
1394
+ )
1395
+ simulation_cmd: "SimulationCmdData" = betterproto.message_field(
1396
+ 42, group="SubNavMsg"
1397
+ )
1398
+ todev_work_report_update_cmd: "WorkReportUpdateCmd" = (
1399
+ betterproto.message_field(43, group="SubNavMsg")
1400
+ )
1401
+ toapp_work_report_update_ack: "WorkReportUpdateAck" = (
1402
+ betterproto.message_field(44, group="SubNavMsg")
1403
+ )
1404
+ todev_work_report_cmd: "WorkReportCmdData" = betterproto.message_field(
1405
+ 45, group="SubNavMsg"
1406
+ )
1407
+ toapp_work_report_ack: "WorkReportInfoAck" = betterproto.message_field(
1408
+ 46, group="SubNavMsg"
1409
+ )
1410
+ toapp_work_report_upload: "WorkReportInfoAck" = betterproto.message_field(
1411
+ 47, group="SubNavMsg"
1412
+ )
1413
+ app_request_cover_paths: "AppRequestCoverPathsT" = (
1414
+ betterproto.message_field(48, group="SubNavMsg")
1415
+ )
1416
+ cover_path_upload: "CoverPathUploadT" = betterproto.message_field(
1417
+ 49, group="SubNavMsg"
1418
+ )
1419
+ zone_start_precent: "ZoneStartPrecentT" = betterproto.message_field(
1420
+ 50, group="SubNavMsg"
1421
+ )
1422
+ vision_ctrl: "VisionCtrlMsg" = betterproto.message_field(
1423
+ 51, group="SubNavMsg"
1424
+ )
1425
+ nav_sys_param_cmd: "NavSysParamMsg" = betterproto.message_field(
1426
+ 52, group="SubNavMsg"
1427
+ )
1428
+ plan_task_execute: "NavPlanTaskExecute" = betterproto.message_field(
1429
+ 53, group="SubNavMsg"
1430
+ )
1431
+ toapp_costmap: "CostmapT" = betterproto.message_field(
1432
+ 54, group="SubNavMsg"
1433
+ )
1434
+ plan_task_name_id: "PlanTaskNameIdT" = betterproto.message_field(
1435
+ 55, group="SubNavMsg"
1436
+ )
1437
+ all_plan_task: "NavGetAllPlanTask" = betterproto.message_field(
1438
+ 56, group="SubNavMsg"
1439
+ )
1440
+ todev_taskctrl_ack: "NavTaskCtrlAck" = betterproto.message_field(
1441
+ 57, group="SubNavMsg"
1442
+ )
1443
+ toapp_map_name_msg: "NavMapNameMsg" = betterproto.message_field(
1444
+ 58, group="SubNavMsg"
1445
+ )
1446
+ todev_svg_msg: "SvgMessageAckT" = betterproto.message_field(
1447
+ 59, group="SubNavMsg"
1448
+ )
1449
+ toapp_svg_msg: "SvgMessageAckT" = betterproto.message_field(
1450
+ 60, group="SubNavMsg"
1451
+ )
1452
+ toapp_all_hash_name: "AppGetAllAreaHashName" = betterproto.message_field(
1453
+ 61, group="SubNavMsg"
1454
+ )
1455
+
1456
+
1457
+
1458
+ @dataclass(eq=False, repr=False)
1459
+ class SysBatUp(betterproto.Message):
1460
+ bat_val: int = betterproto.int32_field(1)
1461
+
1462
+
1463
+ @dataclass(eq=False, repr=False)
1464
+ class SysWorkState(betterproto.Message):
1465
+ device_state: int = betterproto.int32_field(1)
1466
+ charge_state: int = betterproto.int32_field(2)
1467
+ cm_hash: int = betterproto.int64_field(3)
1468
+ path_hash: int = betterproto.int64_field(4)
1469
+
1470
+
1471
+ @dataclass(eq=False, repr=False)
1472
+ class SysSetTimeZone(betterproto.Message):
1473
+ time_stamp: int = betterproto.int32_field(1)
1474
+ time_area: int = betterproto.int32_field(2)
1475
+
1476
+
1477
+ @dataclass(eq=False, repr=False)
1478
+ class SysSetDateTime(betterproto.Message):
1479
+ year: int = betterproto.int32_field(1)
1480
+ month: int = betterproto.int32_field(2)
1481
+ date: int = betterproto.int32_field(3)
1482
+ week: int = betterproto.int32_field(4)
1483
+ hours: int = betterproto.int32_field(5)
1484
+ minutes: int = betterproto.int32_field(6)
1485
+ seconds: int = betterproto.int32_field(7)
1486
+ time_zone: int = betterproto.int32_field(8)
1487
+ daylight: int = betterproto.int32_field(9)
1488
+
1489
+
1490
+ @dataclass(eq=False, repr=False)
1491
+ class SysJobPlan(betterproto.Message):
1492
+ job_id: int = betterproto.int64_field(1)
1493
+ job_mode: int = betterproto.int32_field(2)
1494
+ rain_tactics: int = betterproto.int32_field(3)
1495
+ knife_height: int = betterproto.int32_field(4)
1496
+
1497
+
1498
+ @dataclass(eq=False, repr=False)
1499
+ class SysDevErrCode(betterproto.Message):
1500
+ error_code: int = betterproto.int32_field(1)
1501
+
1502
+
1503
+ @dataclass(eq=False, repr=False)
1504
+ class SysBoardType(betterproto.Message):
1505
+ board_type: int = betterproto.int32_field(1)
1506
+
1507
+
1508
+ @dataclass(eq=False, repr=False)
1509
+ class SysSwVersion(betterproto.Message):
1510
+ board_type: int = betterproto.int32_field(1)
1511
+ version_len: int = betterproto.int32_field(2)
1512
+
1513
+
1514
+ @dataclass(eq=False, repr=False)
1515
+ class SysDelJobPlan(betterproto.Message):
1516
+ device_id: str = betterproto.string_field(1)
1517
+ plan_id: str = betterproto.string_field(2)
1518
+
1519
+
1520
+ @dataclass(eq=False, repr=False)
1521
+ class SysJobPlanTime(betterproto.Message):
1522
+ plan_id: int = betterproto.int64_field(1)
1523
+ start_job_time: int = betterproto.int32_field(2)
1524
+ end_job_time: int = betterproto.int32_field(3)
1525
+ time_in_day: int = betterproto.int32_field(4)
1526
+ job_plan_mode: int = betterproto.int32_field(5)
1527
+ job_plan_enable: int = betterproto.int32_field(6)
1528
+ week_day: list[int] = betterproto.int32_field(7)
1529
+ time_in_week_day: list[int] = betterproto.int32_field(8)
1530
+ every_day: int = betterproto.int32_field(9)
1531
+ job_plan: "SysJobPlan" = betterproto.message_field(10)
1532
+
1533
+
1534
+ @dataclass(eq=False, repr=False)
1535
+ class SysMowInfo(betterproto.Message):
1536
+ device_state: int = betterproto.int32_field(1)
1537
+ bat_val: int = betterproto.int32_field(2)
1538
+ knife_height: int = betterproto.int32_field(3)
1539
+ rtk_status: int = betterproto.int32_field(4)
1540
+ rtk_stars: int = betterproto.int32_field(5)
1541
+
1542
+
1543
+ @dataclass(eq=False, repr=False)
1544
+ class SysOptiLineAck(betterproto.Message):
1545
+ respones_cmd: int = betterproto.int32_field(1)
1546
+ current_frame: int = betterproto.int32_field(2)
1547
+
1548
+
1549
+ @dataclass(eq=False, repr=False)
1550
+ class SysCommCmd(betterproto.Message):
1551
+ rw: int = betterproto.int32_field(1)
1552
+ id: int = betterproto.int32_field(2)
1553
+ context: int = betterproto.int32_field(3)
1554
+
1555
+
1556
+ @dataclass(eq=False, repr=False)
1557
+ class SysUploadFileProgress(betterproto.Message):
1558
+ biz_id: str = betterproto.string_field(1)
1559
+ result: int = betterproto.int32_field(2)
1560
+ progress: int = betterproto.int32_field(3)
1561
+
1562
+
1563
+ @dataclass(eq=False, repr=False)
1564
+ class SysErrorCode(betterproto.Message):
1565
+ code_no: int = betterproto.int32_field(1)
1566
+
1567
+
1568
+ @dataclass(eq=False, repr=False)
1569
+ class SysBorder(betterproto.Message):
1570
+ borderval: int = betterproto.int32_field(1)
1571
+
1572
+
1573
+ @dataclass(eq=False, repr=False)
1574
+ class SysPlanJobStatus(betterproto.Message):
1575
+ planjob_status: int = betterproto.int32_field(1)
1576
+
1577
+
1578
+ @dataclass(eq=False, repr=False)
1579
+ class SysKnifeControl(betterproto.Message):
1580
+ knife_status: int = betterproto.int32_field(1)
1581
+ knife_height: int = betterproto.int32_field(2)
1582
+
1583
+
1584
+ @dataclass(eq=False, repr=False)
1585
+ class SysResetSystemStatus(betterproto.Message):
1586
+ reset_staus: int = betterproto.int32_field(1)
1587
+
1588
+
1589
+ @dataclass(eq=False, repr=False)
1590
+ class TimeCtrlLight(betterproto.Message):
1591
+ operate: int = betterproto.int32_field(1)
1592
+ enable: int = betterproto.int32_field(2)
1593
+ start_hour: int = betterproto.int32_field(3)
1594
+ start_min: int = betterproto.int32_field(4)
1595
+ end_hour: int = betterproto.int32_field(5)
1596
+ end_min: int = betterproto.int32_field(6)
1597
+ action: int = betterproto.int32_field(7)
1598
+
1599
+
1600
+ @dataclass(eq=False, repr=False)
1601
+ class VisionPointMsg(betterproto.Message):
1602
+ x: float = betterproto.float_field(1)
1603
+ y: float = betterproto.float_field(2)
1604
+ z: float = betterproto.float_field(3)
1605
+
1606
+
1607
+ @dataclass(eq=False, repr=False)
1608
+ class VisionPointInfoMsg(betterproto.Message):
1609
+ label: int = betterproto.int32_field(1)
1610
+ num: int = betterproto.int32_field(2)
1611
+ vision_point: list["VisionPointMsg"] = betterproto.message_field(3)
1612
+
1613
+
1614
+ @dataclass(eq=False, repr=False)
1615
+ class VioToAppInfoMsg(betterproto.Message):
1616
+ x: float = betterproto.double_field(1)
1617
+ y: float = betterproto.double_field(2)
1618
+ heading: float = betterproto.double_field(3)
1619
+ vio_state: int = betterproto.int32_field(4)
1620
+ brightness: int = betterproto.int32_field(5)
1621
+ detect_feature_num: int = betterproto.int32_field(6)
1622
+ track_feature_num: int = betterproto.int32_field(7)
1623
+
1624
+
1625
+ @dataclass(eq=False, repr=False)
1626
+ class VisionStatisticMsg(betterproto.Message):
1627
+ mean: float = betterproto.float_field(1)
1628
+ var: float = betterproto.float_field(2)
1629
+
1630
+
1631
+ @dataclass(eq=False, repr=False)
1632
+ class VisionStatisticInfoMsg(betterproto.Message):
1633
+ timestamp: float = betterproto.double_field(1)
1634
+ num: int = betterproto.int32_field(2)
1635
+ vision_statistics: list["VisionStatisticMsg"] = betterproto.message_field(3)
1636
+
1637
+
1638
+ @dataclass(eq=False, repr=False)
1639
+ class SystemRapidStateTunnelMsg(betterproto.Message):
1640
+ rapid_state_data: list[int] = betterproto.int64_field(1)
1641
+ vision_point_info: list["VisionPointInfoMsg"] = betterproto.message_field(2)
1642
+ vio_to_app_info: "VioToAppInfoMsg" = betterproto.message_field(3)
1643
+ vision_statistic_info: "VisionStatisticInfoMsg" = betterproto.message_field(4)
1644
+
1645
+
1646
+ @dataclass(eq=False, repr=False)
1647
+ class SystemTardStateTunnelMsg(betterproto.Message):
1648
+ tard_state_data: list[int] = betterproto.int64_field(1)
1649
+
1650
+
1651
+ @dataclass(eq=False, repr=False)
1652
+ class SystemUpdateBufMsg(betterproto.Message):
1653
+ update_buf_data: list[int] = betterproto.int64_field(1)
1654
+
1655
+
1656
+ @dataclass(eq=False, repr=False)
1657
+ class SysOffChipFlash(betterproto.Message):
1658
+ op: "Operation" = betterproto.enum_field(1)
1659
+ id: "OffPartId" = betterproto.enum_field(2)
1660
+ start_addr: int = betterproto.uint32_field(3)
1661
+ offset: int = betterproto.uint32_field(4)
1662
+ length: int = betterproto.int32_field(5)
1663
+ data: bytes = betterproto.bytes_field(6)
1664
+ code: int = betterproto.int32_field(7)
1665
+ msg: str = betterproto.string_field(8)
1666
+
1667
+
1668
+ @dataclass(eq=False, repr=False)
1669
+ class SystemTmpCycleTxMsg(betterproto.Message):
1670
+ cycle_tx_data: list[int] = betterproto.int64_field(1)
1671
+
1672
+
1673
+ @dataclass(eq=False, repr=False)
1674
+ class LoraCfgReq(betterproto.Message):
1675
+ op: int = betterproto.int32_field(1)
1676
+ cfg: str = betterproto.string_field(2)
1677
+
1678
+
1679
+ @dataclass(eq=False, repr=False)
1680
+ class LoraCfgRsp(betterproto.Message):
1681
+ result: int = betterproto.int32_field(1)
1682
+ op: int = betterproto.int32_field(2)
1683
+ cfg: str = betterproto.string_field(3)
1684
+ fac_cfg: bytes = betterproto.bytes_field(4)
1685
+
1686
+
1687
+ @dataclass(eq=False, repr=False)
1688
+ class ModFwInfo(betterproto.Message):
1689
+ type: int = betterproto.int32_field(1)
1690
+ identify: str = betterproto.string_field(2)
1691
+ version: str = betterproto.string_field(3)
1692
+
1693
+
1694
+ @dataclass(eq=False, repr=False)
1695
+ class DeviceFwInfo(betterproto.Message):
1696
+ result: int = betterproto.int32_field(1)
1697
+ version: str = betterproto.string_field(2)
1698
+ mod: list["ModFwInfo"] = betterproto.message_field(3)
1699
+
1700
+
1701
+ @dataclass(eq=False, repr=False)
1702
+ class MowToAppInfoT(betterproto.Message):
1703
+ type: int = betterproto.int32_field(1)
1704
+ cmd: int = betterproto.int32_field(2)
1705
+ mow_data: list[int] = betterproto.int32_field(3)
1706
+
1707
+
1708
+ @dataclass(eq=False, repr=False)
1709
+ class DeviceProductTypeInfoT(betterproto.Message):
1710
+ result: int = betterproto.int32_field(1)
1711
+ main_product_type: str = betterproto.string_field(2)
1712
+ sub_product_type: str = betterproto.string_field(3)
1713
+
1714
+
1715
+ @dataclass(eq=False, repr=False)
1716
+ class QcAppTestExcept(betterproto.Message):
1717
+ except_type: str = betterproto.string_field(1)
1718
+ conditions: list["QcAppTestConditions"] = betterproto.message_field(2)
1719
+
1720
+
1721
+ @dataclass(eq=False, repr=False)
1722
+ class QcAppTestConditions(betterproto.Message):
1723
+ cond_type: str = betterproto.string_field(1)
1724
+ int_val: int = betterproto.int32_field(2)
1725
+ float_val: float = betterproto.float_field(3)
1726
+ double_val: float = betterproto.double_field(4)
1727
+ string_val: str = betterproto.string_field(5)
1728
+
1729
+
1730
+ @dataclass(eq=False, repr=False)
1731
+ class MowToAppQctoolsInfoT(betterproto.Message):
1732
+ type: "QcAppTestId" = betterproto.enum_field(1)
1733
+ time_of_duration: int = betterproto.int32_field(2)
1734
+ result: int = betterproto.int32_field(3)
1735
+ result_details: str = betterproto.string_field(4)
1736
+ except_: list["QcAppTestExcept"] = betterproto.message_field(5)
1737
+
1738
+
1739
+ @dataclass(eq=False, repr=False)
1740
+ class MCtrlSimulationCmdData(betterproto.Message):
1741
+ sub_cmd: int = betterproto.int32_field(1)
1742
+ param_id: int = betterproto.int32_field(2)
1743
+ param_value: list[int] = betterproto.int32_field(3)
1744
+
1745
+
1746
+ @dataclass(eq=False, repr=False)
1747
+ class RptLora(betterproto.Message):
1748
+ pair_code_scan: int = betterproto.int32_field(1)
1749
+ pair_code_channel: int = betterproto.int32_field(2)
1750
+ pair_code_locid: int = betterproto.int32_field(3)
1751
+ pair_code_netid: int = betterproto.int32_field(4)
1752
+ lora_connection_status: int = betterproto.int32_field(5)
1753
+
1754
+
1755
+ @dataclass(eq=False, repr=False)
1756
+ class MqttRtkConnect(betterproto.Message):
1757
+ rtk_switch: int = betterproto.int32_field(1)
1758
+ rtk_channel: int = betterproto.int32_field(2)
1759
+ rtk_base_num: str = betterproto.string_field(3)
1760
+
1761
+
1762
+ @dataclass(eq=False, repr=False)
1763
+ class RptRtk(betterproto.Message):
1764
+ status: int = betterproto.int32_field(1)
1765
+ pos_level: int = betterproto.int32_field(2)
1766
+ gps_stars: int = betterproto.int32_field(3)
1767
+ age: int = betterproto.int32_field(4)
1768
+ lat_std: int = betterproto.int32_field(5)
1769
+ lon_std: int = betterproto.int32_field(6)
1770
+ l2_stars: int = betterproto.int32_field(7)
1771
+ dis_status: int = betterproto.int64_field(8)
1772
+ top4_total_mean: int = betterproto.int64_field(9)
1773
+ co_view_stars: int = betterproto.int32_field(10)
1774
+ reset: int = betterproto.int32_field(11)
1775
+ lora_info: "RptLora" = betterproto.message_field(12)
1776
+ mqtt_rtk_info: "MqttRtkConnect" = betterproto.message_field(13)
1777
+
1778
+
1779
+ @dataclass(eq=False, repr=False)
1780
+ class RptDevLocation(betterproto.Message):
1781
+ real_pos_x: int = betterproto.int32_field(1)
1782
+ real_pos_y: int = betterproto.int32_field(2)
1783
+ real_toward: int = betterproto.int32_field(3)
1784
+ pos_type: int = betterproto.int32_field(4)
1785
+ zone_hash: int = betterproto.int64_field(5)
1786
+ bol_hash: int = betterproto.int64_field(6)
1787
+
1788
+
1789
+ @dataclass(eq=False, repr=False)
1790
+ class VioSurvivalInfoT(betterproto.Message):
1791
+ vio_survival_distance: float = betterproto.float_field(1)
1792
+
1793
+
1794
+ @dataclass(eq=False, repr=False)
1795
+ class CollectorStatusT(betterproto.Message):
1796
+ collector_installation_status: int = betterproto.int32_field(1)
1797
+
1798
+
1799
+ @dataclass(eq=False, repr=False)
1800
+ class LockStateT(betterproto.Message):
1801
+ lock_state: int = betterproto.uint32_field(1)
1802
+
1803
+
1804
+ @dataclass(eq=False, repr=False)
1805
+ class RptDevStatus(betterproto.Message):
1806
+ sys_status: int = betterproto.int32_field(1)
1807
+ charge_state: int = betterproto.int32_field(2)
1808
+ battery_val: int = betterproto.int32_field(3)
1809
+ sensor_status: int = betterproto.int32_field(4)
1810
+ last_status: int = betterproto.int32_field(5)
1811
+ sys_time_stamp: int = betterproto.int64_field(6)
1812
+ vslam_status: int = betterproto.int32_field(7)
1813
+ mnet_info: "MnetInfo" = betterproto.message_field(8)
1814
+ vio_survival_info: "VioSurvivalInfoT" = betterproto.message_field(9)
1815
+ collector_status: "CollectorStatusT" = betterproto.message_field(10)
1816
+ lock_state: "LockStateT" = betterproto.message_field(11)
1817
+
1818
+
1819
+ @dataclass(eq=False, repr=False)
1820
+ class RptConnectStatus(betterproto.Message):
1821
+ connect_type: int = betterproto.int32_field(1)
1822
+ ble_rssi: int = betterproto.int32_field(2)
1823
+ wifi_rssi: int = betterproto.int32_field(3)
1824
+ link_type: int = betterproto.int32_field(4)
1825
+ mnet_rssi: int = betterproto.int32_field(5)
1826
+ mnet_inet: int = betterproto.int32_field(6)
1827
+ used_net: "NetUsedType" = betterproto.enum_field(7)
1828
+ mnet_cfg: "MnetCfg" = betterproto.message_field(8)
1829
+
1830
+
1831
+ @dataclass(eq=False, repr=False)
1832
+ class NavHeadingStateT(betterproto.Message):
1833
+ heading_state: int = betterproto.int32_field(1)
1834
+
1835
+
1836
+ @dataclass(eq=False, repr=False)
1837
+ class RptWork(betterproto.Message):
1838
+ plan: int = betterproto.int32_field(1)
1839
+ path_hash: int = betterproto.int64_field(2)
1840
+ progress: int = betterproto.int32_field(3)
1841
+ area: int = betterproto.int32_field(4)
1842
+ bp_info: int = betterproto.int32_field(5)
1843
+ bp_hash: int = betterproto.int64_field(6)
1844
+ bp_pos_x: int = betterproto.int32_field(7)
1845
+ bp_pos_y: int = betterproto.int32_field(8)
1846
+ real_path_num: int = betterproto.int64_field(9)
1847
+ path_pos_x: int = betterproto.int32_field(10)
1848
+ path_pos_y: int = betterproto.int32_field(11)
1849
+ ub_zone_hash: int = betterproto.int64_field(12)
1850
+ ub_path_hash: int = betterproto.int64_field(13)
1851
+ init_cfg_hash: int = betterproto.int64_field(14)
1852
+ ub_ecode_hash: int = betterproto.int64_field(15)
1853
+ nav_run_mode: int = betterproto.int32_field(16)
1854
+ test_mode_status: int = betterproto.int64_field(17)
1855
+ man_run_speed: int = betterproto.int32_field(18)
1856
+ nav_edit_status: int = betterproto.int32_field(19)
1857
+ knife_height: int = betterproto.int32_field(20)
1858
+ nav_heading_state: "NavHeadingStateT" = betterproto.message_field(21)
1859
+
1860
+
1861
+ @dataclass(eq=False, repr=False)
1862
+ class RptMaintain(betterproto.Message):
1863
+ mileage: int = betterproto.int64_field(1)
1864
+ work_time: int = betterproto.int32_field(2)
1865
+ bat_cycles: int = betterproto.int32_field(3)
1866
+
1867
+
1868
+ @dataclass(eq=False, repr=False)
1869
+ class ReportInfoCfg(betterproto.Message):
1870
+ act: "RptAct" = betterproto.enum_field(1)
1871
+ timeout: int = betterproto.int32_field(2)
1872
+ period: int = betterproto.int32_field(3)
1873
+ no_change_period: int = betterproto.int32_field(4)
1874
+ count: int = betterproto.int32_field(5)
1875
+ sub: list["RptInfoType"] = betterproto.enum_field(6)
1876
+
1877
+
1878
+ @dataclass(eq=False, repr=False)
1879
+ class ReportInfoData(betterproto.Message):
1880
+ connect: "RptConnectStatus" = betterproto.message_field(1)
1881
+ dev: "RptDevStatus" = betterproto.message_field(2)
1882
+ rtk: "RptRtk" = betterproto.message_field(3)
1883
+ locations: list["RptDevLocation"] = betterproto.message_field(4)
1884
+ work: "RptWork" = betterproto.message_field(5)
1885
+ fw_info: "DeviceFwInfo" = betterproto.message_field(6)
1886
+ maintain: "RptMaintain" = betterproto.message_field(7)
1887
+ vision_point_info: list["VisionPointInfoMsg"] = betterproto.message_field(8)
1888
+ vio_to_app_info: "VioToAppInfoMsg" = betterproto.message_field(9)
1889
+ vision_statistic_info: "VisionStatisticInfoMsg" = betterproto.message_field(10)
1890
+
1891
+
1892
+ @dataclass(eq=False, repr=False)
1893
+ class MctlSys(betterproto.Message):
1894
+ toapp_batinfo: "SysBatUp" = betterproto.message_field(
1895
+ 1, group="SubSysMsg"
1896
+ )
1897
+ toapp_work_state: "SysWorkState" = betterproto.message_field(
1898
+ 2, group="SubSysMsg"
1899
+ )
1900
+ todev_time_zone: "SysSetTimeZone" = betterproto.message_field(
1901
+ 3, group="SubSysMsg"
1902
+ )
1903
+ todev_data_time: "SysSetDateTime" = betterproto.message_field(
1904
+ 4, group="SubSysMsg"
1905
+ )
1906
+ job_plan: "SysJobPlan" = betterproto.message_field(
1907
+ 6, group="SubSysMsg"
1908
+ )
1909
+ toapp_err_code: "SysDevErrCode" = betterproto.message_field(
1910
+ 7, group="SubSysMsg"
1911
+ )
1912
+ todev_job_plan_time: "SysJobPlanTime" = betterproto.message_field(
1913
+ 10, group="SubSysMsg"
1914
+ )
1915
+ toapp_mow_info: "SysMowInfo" = betterproto.message_field(
1916
+ 11, group="SubSysMsg"
1917
+ )
1918
+ bidire_comm_cmd: "SysCommCmd" = betterproto.message_field(
1919
+ 12, group="SubSysMsg"
1920
+ )
1921
+ plan_job_del: int = betterproto.int64_field(
1922
+ 14, group="SubSysMsg"
1923
+ )
1924
+ border: "SysBorder" = betterproto.message_field(
1925
+ 15, group="SubSysMsg"
1926
+ )
1927
+ toapp_plan_status: "SysPlanJobStatus" = betterproto.message_field(
1928
+ 18, group="SubSysMsg"
1929
+ )
1930
+ toapp_ul_fprogress: "SysUploadFileProgress" = betterproto.message_field(
1931
+ 19, group="SubSysMsg"
1932
+ )
1933
+ todev_deljobplan: "SysDelJobPlan" = betterproto.message_field(
1934
+ 20, group="SubSysMsg"
1935
+ )
1936
+ todev_mow_info_up: int = betterproto.int32_field(
1937
+ 21, group="SubSysMsg"
1938
+ )
1939
+ todev_knife_ctrl: "SysKnifeControl" = betterproto.message_field(
1940
+ 22, group="SubSysMsg"
1941
+ )
1942
+ todev_reset_system: int = betterproto.int32_field(
1943
+ 23, group="SubSysMsg"
1944
+ )
1945
+ todev_reset_system_status: "SysResetSystemStatus" = (
1946
+ betterproto.message_field(24, group="SubSysMsg")
1947
+ )
1948
+ system_rapid_state_tunnel: "SystemRapidStateTunnelMsg" = (
1949
+ betterproto.message_field(25, group="SubSysMsg")
1950
+ )
1951
+ system_tard_state_tunnel: "SystemTardStateTunnelMsg" = (
1952
+ betterproto.message_field(26, group="SubSysMsg")
1953
+ )
1954
+ system_update_buf: "SystemUpdateBufMsg" = betterproto.message_field(
1955
+ 27, group="SubSysMsg"
1956
+ )
1957
+ todev_time_ctrl_light: "TimeCtrlLight" = betterproto.message_field(
1958
+ 28, group="SubSysMsg"
1959
+ )
1960
+ system_tmp_cycle_tx: "SystemTmpCycleTxMsg" = betterproto.message_field(
1961
+ 29, group="SubSysMsg"
1962
+ )
1963
+ todev_off_chip_flash: "SysOffChipFlash" = betterproto.message_field(
1964
+ 30, group="SubSysMsg"
1965
+ )
1966
+ todev_get_dev_fw_info: int = betterproto.int32_field(
1967
+ 31, group="SubSysMsg"
1968
+ )
1969
+ toapp_dev_fw_info: "DeviceFwInfo" = betterproto.message_field(
1970
+ 32, group="SubSysMsg"
1971
+ )
1972
+ todev_lora_cfg_req: "LoraCfgReq" = betterproto.message_field(
1973
+ 33, group="SubSysMsg"
1974
+ )
1975
+ toapp_lora_cfg_rsp: "LoraCfgRsp" = betterproto.message_field(
1976
+ 34, group="SubSysMsg"
1977
+ )
1978
+ mow_to_app_info: "MowToAppInfoT" = betterproto.message_field(
1979
+ 35, group="SubSysMsg"
1980
+ )
1981
+ device_product_type_info: "DeviceProductTypeInfoT" = (
1982
+ betterproto.message_field(36, group="SubSysMsg")
1983
+ )
1984
+ mow_to_app_qctools_info: "MowToAppQctoolsInfoT" = (
1985
+ betterproto.message_field(37, group="SubSysMsg")
1986
+ )
1987
+ todev_report_cfg: "ReportInfoCfg" = betterproto.message_field(
1988
+ 38, group="SubSysMsg"
1989
+ )
1990
+ toapp_report_data: "ReportInfoData" = betterproto.message_field(
1991
+ 39, group="SubSysMsg"
1992
+ )
1993
+ simulation_cmd: "MCtrlSimulationCmdData" = betterproto.message_field(
1994
+ 42, group="SubSysMsg"
1995
+ )
1996
+
1997
+
1998
+
1999
+ @dataclass(eq=False, repr=False)
2000
+ class BaseInfo(betterproto.Message):
2001
+ dev_version: str = betterproto.string_field(1)
2002
+ dev_status: int = betterproto.int32_field(2)
2003
+ batt_val: int = betterproto.int32_field(3)
2004
+ init_status: int = betterproto.int32_field(4)
2005
+ is_tilt: int = betterproto.int32_field(5)
2006
+
2007
+
2008
+ @dataclass(eq=False, repr=False)
2009
+ class OtaInfo(betterproto.Message):
2010
+ otaid: str = betterproto.string_field(1)
2011
+ version: str = betterproto.string_field(2)
2012
+ progress: int = betterproto.int32_field(3)
2013
+ result: int = betterproto.int32_field(4)
2014
+ message: str = betterproto.string_field(5)
2015
+
2016
+
2017
+ @dataclass(eq=False, repr=False)
2018
+ class GetInfoReq(betterproto.Message):
2019
+ type: "InfoType" = betterproto.enum_field(1)
2020
+
2021
+
2022
+ @dataclass(eq=False, repr=False)
2023
+ class GetInfoRsp(betterproto.Message):
2024
+ result: int = betterproto.int32_field(1)
2025
+ type: "InfoType" = betterproto.enum_field(2)
2026
+ base: "BaseInfo" = betterproto.message_field(
2027
+ 3, group="info"
2028
+ )
2029
+ ota: "OtaInfo" = betterproto.message_field(4, group="info")
2030
+
2031
+
2032
+
2033
+ @dataclass(eq=False, repr=False)
2034
+ class MctlOta(betterproto.Message):
2035
+ todev_get_info_req: "GetInfoReq" = betterproto.message_field(
2036
+ 1, group="SubOtaMsg"
2037
+ )
2038
+ toapp_get_info_rsp: "GetInfoRsp" = betterproto.message_field(
2039
+ 2, group="SubOtaMsg"
2040
+ )
2041
+
2042
+
2043
+
2044
+ @dataclass(eq=False, repr=False)
2045
+ class MulSetAudio(betterproto.Message):
2046
+ at_switch: int = betterproto.int32_field(
2047
+ 1, group="AudioCfg_u"
2048
+ )
2049
+ au_language: "MulLanguage" = betterproto.enum_field(
2050
+ 2, group="AudioCfg_u"
2051
+ )
2052
+
2053
+
2054
+
2055
+ @dataclass(eq=False, repr=False)
2056
+ class MulSetVideo(betterproto.Message):
2057
+ position: "MulCameraPosition" = betterproto.enum_field(1)
2058
+ vi_switch: int = betterproto.int32_field(2)
2059
+
2060
+
2061
+ @dataclass(eq=False, repr=False)
2062
+ class MulSetVideoAck(betterproto.Message):
2063
+ error_code: "MulVideoErrorCode" = betterproto.enum_field(1)
2064
+
2065
+
2066
+ @dataclass(eq=False, repr=False)
2067
+ class MulAudioCfg(betterproto.Message):
2068
+ au_switch: int = betterproto.int32_field(1)
2069
+ au_language: "MulLanguage" = betterproto.enum_field(2)
2070
+
2071
+
2072
+ @dataclass(eq=False, repr=False)
2073
+ class MulSetWiper(betterproto.Message):
2074
+ round: int = betterproto.int32_field(1)
2075
+
2076
+
2077
+ @dataclass(eq=False, repr=False)
2078
+ class MulSetWiperAck(betterproto.Message):
2079
+ error_code: "MulWiperErrorCode" = betterproto.enum_field(1)
2080
+
2081
+
2082
+ @dataclass(eq=False, repr=False)
2083
+ class SocMul(betterproto.Message):
2084
+ set_audio: "MulSetAudio" = betterproto.message_field(
2085
+ 1, group="SubMul"
2086
+ )
2087
+ audio_cfg: "MulAudioCfg" = betterproto.message_field(
2088
+ 2, group="SubMul"
2089
+ )
2090
+ set_video: "MulSetVideo" = betterproto.message_field(
2091
+ 3, group="SubMul"
2092
+ )
2093
+ set_video_ack: "MulSetVideoAck" = betterproto.message_field(
2094
+ 4, group="SubMul"
2095
+ )
2096
+ set_wiper: "MulSetWiper" = betterproto.message_field(
2097
+ 5, group="SubMul"
2098
+ )
2099
+ set_wiper_ack: "MulSetWiperAck" = betterproto.message_field(
2100
+ 6, group="SubMul"
2101
+ )
2102
+
2103
+
2104
+
2105
+ @dataclass(eq=False, repr=False)
2106
+ class PerceptionObstaclesT(betterproto.Message):
2107
+ label: int = betterproto.int32_field(1)
2108
+ num: int = betterproto.int32_field(2)
2109
+ points_x: list[int] = betterproto.int32_field(3)
2110
+ points_y: list[int] = betterproto.int32_field(4)
2111
+
2112
+
2113
+ @dataclass(eq=False, repr=False)
2114
+ class PerceptionObstaclesVisualizationT(betterproto.Message):
2115
+ is_heart_beat: int = betterproto.int32_field(1)
2116
+ num: int = betterproto.int32_field(2)
2117
+ obstacles: list["PerceptionObstaclesT"] = betterproto.message_field(3)
2118
+ timestamp: float = betterproto.double_field(4)
2119
+ scale: float = betterproto.float_field(5)
2120
+
2121
+
2122
+ @dataclass(eq=False, repr=False)
2123
+ class PerceptionUniversalBuffT(betterproto.Message):
2124
+ perception_type: int = betterproto.int32_field(1)
2125
+ perception_len: int = betterproto.int32_field(2)
2126
+ universal_buff: list[int] = betterproto.int64_field(3)
2127
+
2128
+
2129
+ @dataclass(eq=False, repr=False)
2130
+ class MctlPept(betterproto.Message):
2131
+ perception_obstacles_visualization: "PerceptionObstaclesVisualizationT" = betterproto.message_field(1, group="SubPeptMsg")
2132
+ perception_universal_buff: "PerceptionUniversalBuffT" = (
2133
+ betterproto.message_field(2, group="SubPeptMsg")
2134
+ )
2135
+
2136
+
2137
+
2138
+ @dataclass(eq=False, repr=False)
2139
+ class MsgNull(betterproto.Message):
2140
+ pass
2141
+
2142
+
2143
+ @dataclass(eq=False, repr=False)
2144
+ class LubaMsg(betterproto.Message):
2145
+ msgtype: "MsgCmdType" = betterproto.enum_field(1)
2146
+ sender: "MsgDevice" = betterproto.enum_field(2)
2147
+ rcver: "MsgDevice" = betterproto.enum_field(3)
2148
+ msgattr: "MsgAttr" = betterproto.enum_field(4)
2149
+ seqs: int = betterproto.int32_field(5)
2150
+ version: int = betterproto.int32_field(6)
2151
+ subtype: int = betterproto.int32_field(7)
2152
+ net: "DevNet" = betterproto.message_field(
2153
+ 8, group="LubaSubMsg"
2154
+ )
2155
+ sys: "MctlSys" = betterproto.message_field(
2156
+ 10, group="LubaSubMsg"
2157
+ )
2158
+ nav: "MctlNav" = betterproto.message_field(
2159
+ 11, group="LubaSubMsg"
2160
+ )
2161
+ driver: "MctlDriver" = betterproto.message_field(
2162
+ 12, group="LubaSubMsg"
2163
+ )
2164
+ ota: "MctlOta" = betterproto.message_field(
2165
+ 13, group="LubaSubMsg"
2166
+ )
2167
+ mul: "SocMul" = betterproto.message_field(
2168
+ 14, group="LubaSubMsg"
2169
+ )
2170
+ null: "MsgNull" = betterproto.message_field(
2171
+ 16, group="LubaSubMsg"
2172
+ )
2173
+ pept: "MctlPept" = betterproto.message_field(
2174
+ 17, group="LubaSubMsg"
2175
+ )
2176
+ base: "BaseStation" = betterproto.message_field(
2177
+ 18, group="LubaSubMsg"
2178
+ )
2179
+ timestamp: int = betterproto.uint64_field(15)