pymammotion 0.0.37__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.

Potentially problematic release.


This version of pymammotion might be problematic. Click here for more details.

Files changed (106) hide show
  1. pymammotion/__init__.py +43 -0
  2. pymammotion/aliyun/cloud_gateway.py +549 -0
  3. pymammotion/aliyun/cloud_service.py +65 -0
  4. pymammotion/aliyun/dataclass/aep_response.py +18 -0
  5. pymammotion/aliyun/dataclass/connect_response.py +51 -0
  6. pymammotion/aliyun/dataclass/dev_by_account_response.py +43 -0
  7. pymammotion/aliyun/dataclass/login_by_oauth_response.py +65 -0
  8. pymammotion/aliyun/dataclass/regions_response.py +26 -0
  9. pymammotion/aliyun/dataclass/session_by_authcode_response.py +18 -0
  10. pymammotion/aliyun/tmp_constant.py +175 -0
  11. pymammotion/bluetooth/__init__.py +1 -0
  12. pymammotion/bluetooth/ble.py +74 -0
  13. pymammotion/bluetooth/ble_message.py +430 -0
  14. pymammotion/bluetooth/const.py +27 -0
  15. pymammotion/bluetooth/data/__init__.py +0 -0
  16. pymammotion/bluetooth/data/convert.py +26 -0
  17. pymammotion/bluetooth/data/framectrldata.py +40 -0
  18. pymammotion/bluetooth/data/notifydata.py +63 -0
  19. pymammotion/const.py +9 -0
  20. pymammotion/data/__init__.py +0 -0
  21. pymammotion/data/model/__init__.py +8 -0
  22. pymammotion/data/model/device.py +157 -0
  23. pymammotion/data/model/enums.py +67 -0
  24. pymammotion/data/model/excute_boarder_params.py +48 -0
  25. pymammotion/data/model/execute_boarder.py +36 -0
  26. pymammotion/data/model/generate_route_information.py +133 -0
  27. pymammotion/data/model/hash_list.py +17 -0
  28. pymammotion/data/model/mowing_modes.py +37 -0
  29. pymammotion/data/model/plan.py +58 -0
  30. pymammotion/data/model/rapid_state.py +45 -0
  31. pymammotion/data/model/region_data.py +99 -0
  32. pymammotion/data/mqtt/__init__.py +1 -0
  33. pymammotion/data/mqtt/event.py +90 -0
  34. pymammotion/data/mqtt/properties.py +140 -0
  35. pymammotion/data/mqtt/status.py +52 -0
  36. pymammotion/event/__init__.py +6 -0
  37. pymammotion/event/event.py +50 -0
  38. pymammotion/http/_init_.py +0 -0
  39. pymammotion/http/http.py +76 -0
  40. pymammotion/luba/_init_.py +0 -0
  41. pymammotion/luba/base.py +52 -0
  42. pymammotion/mammotion/__init__.py +0 -0
  43. pymammotion/mammotion/commands/__init__.py +0 -0
  44. pymammotion/mammotion/commands/abstract_message.py +7 -0
  45. pymammotion/mammotion/commands/mammotion_command.py +34 -0
  46. pymammotion/mammotion/commands/messages/__init__.py +0 -0
  47. pymammotion/mammotion/commands/messages/driver.py +108 -0
  48. pymammotion/mammotion/commands/messages/media.py +36 -0
  49. pymammotion/mammotion/commands/messages/navigation.py +535 -0
  50. pymammotion/mammotion/commands/messages/network.py +236 -0
  51. pymammotion/mammotion/commands/messages/ota.py +34 -0
  52. pymammotion/mammotion/commands/messages/system.py +266 -0
  53. pymammotion/mammotion/commands/messages/video.py +27 -0
  54. pymammotion/mammotion/control/__init__.py +0 -0
  55. pymammotion/mammotion/control/joystick.py +184 -0
  56. pymammotion/mammotion/devices/__init__.py +1 -0
  57. pymammotion/mammotion/devices/luba.py +564 -0
  58. pymammotion/mqtt/mqtt.py +230 -0
  59. pymammotion/proto/__init__.py +0 -0
  60. pymammotion/proto/common.proto +7 -0
  61. pymammotion/proto/common.py +12 -0
  62. pymammotion/proto/common_pb2.py +25 -0
  63. pymammotion/proto/common_pb2.pyi +13 -0
  64. pymammotion/proto/dev_net.proto +297 -0
  65. pymammotion/proto/dev_net.py +381 -0
  66. pymammotion/proto/dev_net_pb2.py +107 -0
  67. pymammotion/proto/dev_net_pb2.pyi +472 -0
  68. pymammotion/proto/luba_msg.proto +73 -0
  69. pymammotion/proto/luba_msg.py +80 -0
  70. pymammotion/proto/luba_msg_pb2.py +40 -0
  71. pymammotion/proto/luba_msg_pb2.pyi +93 -0
  72. pymammotion/proto/luba_mul.proto +68 -0
  73. pymammotion/proto/luba_mul.py +76 -0
  74. pymammotion/proto/luba_mul_pb2.py +45 -0
  75. pymammotion/proto/luba_mul_pb2.pyi +91 -0
  76. pymammotion/proto/mctrl_driver.proto +67 -0
  77. pymammotion/proto/mctrl_driver.py +100 -0
  78. pymammotion/proto/mctrl_driver_pb2.py +45 -0
  79. pymammotion/proto/mctrl_driver_pb2.pyi +112 -0
  80. pymammotion/proto/mctrl_nav.proto +485 -0
  81. pymammotion/proto/mctrl_nav.py +589 -0
  82. pymammotion/proto/mctrl_nav_pb2.py +116 -0
  83. pymammotion/proto/mctrl_nav_pb2.pyi +875 -0
  84. pymammotion/proto/mctrl_ota.proto +42 -0
  85. pymammotion/proto/mctrl_ota.py +48 -0
  86. pymammotion/proto/mctrl_ota_pb2.py +35 -0
  87. pymammotion/proto/mctrl_ota_pb2.pyi +65 -0
  88. pymammotion/proto/mctrl_pept.proto +29 -0
  89. pymammotion/proto/mctrl_pept.py +41 -0
  90. pymammotion/proto/mctrl_pept_pb2.py +31 -0
  91. pymammotion/proto/mctrl_pept_pb2.pyi +50 -0
  92. pymammotion/proto/mctrl_sys.proto +487 -0
  93. pymammotion/proto/mctrl_sys.py +574 -0
  94. pymammotion/proto/mctrl_sys_pb2.py +142 -0
  95. pymammotion/proto/mctrl_sys_pb2.pyi +787 -0
  96. pymammotion/py.typed +0 -0
  97. pymammotion/utility/constant/__init__.py +1 -0
  98. pymammotion/utility/constant/device_constant.py +238 -0
  99. pymammotion/utility/datatype_converter.py +80 -0
  100. pymammotion/utility/device_type.py +152 -0
  101. pymammotion/utility/periodic.py +41 -0
  102. pymammotion/utility/rocker_util.py +135 -0
  103. pymammotion-0.0.37.dist-info/LICENSE +674 -0
  104. pymammotion-0.0.37.dist-info/METADATA +92 -0
  105. pymammotion-0.0.37.dist-info/RECORD +106 -0
  106. pymammotion-0.0.37.dist-info/WHEEL +4 -0
@@ -0,0 +1,589 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # sources: pyluba/proto/mctrl_nav.proto
3
+ # plugin: python-betterproto
4
+ from dataclasses import dataclass
5
+
6
+
7
+ import betterproto
8
+
9
+ from .common import *
10
+
11
+
12
+ @dataclass
13
+ class NavLatLonUp(betterproto.Message):
14
+ lat: float = betterproto.double_field(1)
15
+ lon: float = betterproto.double_field(2)
16
+
17
+
18
+ @dataclass
19
+ class NavBorderState(betterproto.Message):
20
+ bdstate: int = betterproto.int32_field(1)
21
+
22
+
23
+ @dataclass
24
+ class NavPosUp(betterproto.Message):
25
+ x: float = betterproto.float_field(1)
26
+ y: float = betterproto.float_field(2)
27
+ status: int = betterproto.int32_field(3)
28
+ toward: int = betterproto.int32_field(4)
29
+ stars: int = betterproto.int32_field(5)
30
+ age: float = betterproto.float_field(6)
31
+ lat_stddev: float = betterproto.float_field(7)
32
+ lon_stddev: float = betterproto.float_field(8)
33
+ l2df_stars: int = betterproto.int32_field(9)
34
+ pos_type: int = betterproto.int32_field(10)
35
+ c_hash_id: int = betterproto.int64_field(11)
36
+ pos_level: int = betterproto.int32_field(12)
37
+
38
+
39
+ @dataclass
40
+ class NavBorderDataGetAck(betterproto.Message):
41
+ job_id: int = betterproto.int32_field(1)
42
+ current_frame: int = betterproto.int32_field(2)
43
+
44
+
45
+ @dataclass
46
+ class NavObstiBorderDataGet(betterproto.Message):
47
+ obstacle_index: int = betterproto.int32_field(1)
48
+ current_frame: int = betterproto.int32_field(2)
49
+ obstacles_len: int = betterproto.int32_field(3)
50
+
51
+
52
+ @dataclass
53
+ class NavObstiBorderDataGetAck(betterproto.Message):
54
+ obstacle_index: int = betterproto.int32_field(1)
55
+ current_frame: int = betterproto.int32_field(2)
56
+
57
+
58
+ @dataclass
59
+ class NavCHlLineData(betterproto.Message):
60
+ start_job_r_i: int = betterproto.int32_field(1)
61
+ end_job_r_i: int = betterproto.int32_field(2)
62
+ current_frame: int = betterproto.int32_field(3)
63
+ channel_line_len: int = betterproto.int32_field(4)
64
+
65
+
66
+ @dataclass
67
+ class NavCHlLineDataAck(betterproto.Message):
68
+ start_job_r_i: int = betterproto.int32_field(1)
69
+ end_job_r_i: int = betterproto.int32_field(2)
70
+ current_frame: int = betterproto.int32_field(3)
71
+
72
+
73
+ @dataclass
74
+ class NavTaskInfo(betterproto.Message):
75
+ area: int = betterproto.int32_field(1)
76
+ time: int = betterproto.int32_field(2)
77
+ all_frame: int = betterproto.int32_field(3)
78
+ current_frame: int = betterproto.int32_field(4)
79
+ pathlen: int = betterproto.int32_field(5)
80
+ dc: list["CommDataCouple"] = betterproto.message_field(6)
81
+
82
+
83
+ @dataclass
84
+ class NavBorderDataGet(betterproto.Message):
85
+ job_id: int = betterproto.int32_field(1)
86
+ current_frame: int = betterproto.int32_field(2)
87
+ border_len: int = betterproto.int32_field(3)
88
+
89
+
90
+ @dataclass
91
+ class NavOptLineUp(betterproto.Message):
92
+ start_job_r_i: int = betterproto.int32_field(1)
93
+ end_job_r_i: int = betterproto.int32_field(2)
94
+ all_frame: int = betterproto.int32_field(3)
95
+ current_frame: int = betterproto.int32_field(4)
96
+ channel_data_len: int = betterproto.int32_field(5)
97
+ dc: list["CommDataCouple"] = betterproto.message_field(6)
98
+
99
+
100
+ @dataclass
101
+ class NavOptiBorderInfo(betterproto.Message):
102
+ job_id: int = betterproto.int32_field(1)
103
+ all_frame: int = betterproto.int32_field(2)
104
+ current_frame: int = betterproto.int32_field(3)
105
+ border_data_len: int = betterproto.int32_field(4)
106
+ dc: list["CommDataCouple"] = betterproto.message_field(5)
107
+
108
+
109
+ @dataclass
110
+ class NavOptObsInfo(betterproto.Message):
111
+ obstacle_id: int = betterproto.int32_field(1)
112
+ all_frame: int = betterproto.int32_field(2)
113
+ current_frame: int = betterproto.int32_field(3)
114
+ obstacle_data_len: int = betterproto.int32_field(4)
115
+ dc: list["CommDataCouple"] = betterproto.message_field(5)
116
+
117
+
118
+ @dataclass
119
+ class NavStartJob(betterproto.Message):
120
+ job_id: int = betterproto.int64_field(1)
121
+ job_ver: int = betterproto.int32_field(2)
122
+ job_mode: int = betterproto.int32_field(3)
123
+ rain_tactics: int = betterproto.int32_field(4)
124
+ knife_height: int = betterproto.int32_field(5)
125
+ speed: float = betterproto.float_field(6)
126
+ channel_width: int = betterproto.int32_field(7)
127
+ ultra_wave: int = betterproto.int32_field(8)
128
+ channel_mode: int = betterproto.int32_field(9)
129
+
130
+
131
+ @dataclass
132
+ class NavTaskProgress(betterproto.Message):
133
+ task_progress: int = betterproto.int32_field(1)
134
+
135
+
136
+ @dataclass
137
+ class NavResFrame(betterproto.Message):
138
+ frameid: int = betterproto.int32_field(1)
139
+
140
+
141
+ @dataclass
142
+ class NavGetHashList(betterproto.Message):
143
+ pver: int = betterproto.int32_field(1)
144
+ sub_cmd: int = betterproto.int32_field(2)
145
+ total_frame: int = betterproto.int32_field(3)
146
+ current_frame: int = betterproto.int32_field(4)
147
+ data_hash: float = betterproto.fixed64_field(5)
148
+ reserved: str = betterproto.string_field(6)
149
+
150
+
151
+ @dataclass
152
+ class NavGetHashListAck(betterproto.Message):
153
+ pver: int = betterproto.int32_field(1)
154
+ sub_cmd: int = betterproto.int32_field(2)
155
+ total_frame: int = betterproto.int32_field(3)
156
+ current_frame: int = betterproto.int32_field(4)
157
+ data_hash: float = betterproto.fixed64_field(5)
158
+ hash_len: int = betterproto.int32_field(6)
159
+ reserved: str = betterproto.string_field(7)
160
+ result: int = betterproto.int32_field(8)
161
+ data_couple: list[int] = betterproto.int64_field(13)
162
+
163
+
164
+ @dataclass
165
+ class NavGetCommData(betterproto.Message):
166
+ pver: int = betterproto.int32_field(1)
167
+ sub_cmd: int = betterproto.int32_field(2)
168
+ action: int = betterproto.int32_field(3)
169
+ type: int = betterproto.int32_field(4)
170
+ hash: int = betterproto.int64_field(5)
171
+ paternal_hash_a: int = betterproto.int64_field(6)
172
+ paternal_hash_b: int = betterproto.int64_field(7)
173
+ total_frame: int = betterproto.int32_field(8)
174
+ current_frame: int = betterproto.int32_field(9)
175
+ data_hash: float = betterproto.fixed64_field(10)
176
+ reserved: str = betterproto.string_field(11)
177
+
178
+
179
+ @dataclass
180
+ class NavGetCommDataAck(betterproto.Message):
181
+ pver: int = betterproto.int32_field(1)
182
+ sub_cmd: int = betterproto.int32_field(2)
183
+ result: int = betterproto.int32_field(3)
184
+ action: int = betterproto.int32_field(4)
185
+ type: int = betterproto.int32_field(5)
186
+ hash: float = betterproto.fixed64_field(6)
187
+ paternal_hash_a: float = betterproto.fixed64_field(7)
188
+ paternal_hash_b: float = betterproto.fixed64_field(8)
189
+ total_frame: int = betterproto.int32_field(9)
190
+ current_frame: int = betterproto.int32_field(10)
191
+ data_hash: float = betterproto.fixed64_field(11)
192
+ data_len: int = betterproto.int32_field(12)
193
+ data_couple: list["CommDataCouple"] = betterproto.message_field(13)
194
+ reserved: str = betterproto.string_field(14)
195
+
196
+
197
+ @dataclass
198
+ class NavReqCoverPath(betterproto.Message):
199
+ pver: int = betterproto.int32_field(1)
200
+ job_id: int = betterproto.int64_field(2)
201
+ job_ver: int = betterproto.int32_field(3)
202
+ job_mode: int = betterproto.int32_field(4)
203
+ sub_cmd: int = betterproto.int32_field(5)
204
+ edge_mode: int = betterproto.int32_field(6)
205
+ knife_height: int = betterproto.int32_field(7)
206
+ channel_width: int = betterproto.int32_field(8)
207
+ ultra_wave: int = betterproto.int32_field(9)
208
+ channel_mode: int = betterproto.int32_field(10)
209
+ toward: int = betterproto.int32_field(11)
210
+ speed: float = betterproto.float_field(12)
211
+ zone_hashs: list[float] = betterproto.fixed64_field(13)
212
+ path_hash: float = betterproto.fixed64_field(14)
213
+ reserved: str = betterproto.string_field(15)
214
+ result: int = betterproto.int32_field(16)
215
+ toward_mode: int = betterproto.int32_field(17)
216
+ toward_included_angle: int = betterproto.int32_field(18)
217
+
218
+
219
+ @dataclass
220
+ class NavUploadZigZagResult(betterproto.Message):
221
+ pver: int = betterproto.int32_field(1)
222
+ job_id: int = betterproto.int64_field(2)
223
+ job_ver: int = betterproto.int32_field(3)
224
+ result: int = betterproto.int32_field(4)
225
+ area: int = betterproto.int32_field(5)
226
+ time: int = betterproto.int32_field(6)
227
+ total_zone_num: int = betterproto.int32_field(7)
228
+ current_zone_path_num: int = betterproto.int32_field(8)
229
+ current_zone_path_id: int = betterproto.int32_field(9)
230
+ current_zone: int = betterproto.int32_field(10)
231
+ current_hash: float = betterproto.fixed64_field(11)
232
+ total_frame: int = betterproto.int32_field(12)
233
+ current_frame: int = betterproto.int32_field(13)
234
+ channel_mode: int = betterproto.int32_field(14)
235
+ channel_mode_id: int = betterproto.int32_field(15)
236
+ data_hash: float = betterproto.fixed64_field(16)
237
+ data_len: int = betterproto.int32_field(17)
238
+ reserved: str = betterproto.string_field(18)
239
+ data_couple: list["CommDataCouple"] = betterproto.message_field(19)
240
+ sub_cmd: int = betterproto.int32_field(20)
241
+
242
+
243
+ @dataclass
244
+ class NavUploadZigZagResultAck(betterproto.Message):
245
+ pver: int = betterproto.int32_field(1)
246
+ current_zone: int = betterproto.int32_field(2)
247
+ current_hash: float = betterproto.fixed64_field(3)
248
+ total_frame: int = betterproto.int32_field(4)
249
+ current_frame: int = betterproto.int32_field(5)
250
+ data_hash: float = betterproto.fixed64_field(6)
251
+ reserved: str = betterproto.string_field(7)
252
+ sub_cmd: int = betterproto.int32_field(8)
253
+
254
+
255
+ @dataclass
256
+ class NavTaskCtrl(betterproto.Message):
257
+ type: int = betterproto.int32_field(1)
258
+ action: int = betterproto.int32_field(2)
259
+ result: int = betterproto.int32_field(3)
260
+ reserved: str = betterproto.string_field(4)
261
+
262
+
263
+ @dataclass
264
+ class NavTaskIdRw(betterproto.Message):
265
+ pver: int = betterproto.int32_field(1)
266
+ sub_cmd: int = betterproto.int32_field(2)
267
+ task_name: str = betterproto.string_field(3)
268
+ task_id: str = betterproto.string_field(4)
269
+ result: int = betterproto.int32_field(5)
270
+ reserved: str = betterproto.string_field(6)
271
+
272
+
273
+ @dataclass
274
+ class NavSysHashOverview(betterproto.Message):
275
+ commonhash_overview: float = betterproto.fixed64_field(1)
276
+ path_hash_overview: float = betterproto.fixed64_field(2)
277
+
278
+
279
+ @dataclass
280
+ class NavTaskBreakPoint(betterproto.Message):
281
+ x: float = betterproto.float_field(1)
282
+ y: float = betterproto.float_field(2)
283
+ toward: int = betterproto.int32_field(3)
284
+ flag: int = betterproto.int32_field(4)
285
+ action: int = betterproto.int32_field(5)
286
+ zone_hash: float = betterproto.fixed64_field(6)
287
+
288
+
289
+ @dataclass
290
+ class NavPlanJobSet(betterproto.Message):
291
+ pver: int = betterproto.int32_field(1)
292
+ sub_cmd: int = betterproto.int32_field(2)
293
+ area: int = betterproto.int32_field(3)
294
+ work_time: int = betterproto.int32_field(4)
295
+ version: str = betterproto.string_field(5)
296
+ id: str = betterproto.string_field(6)
297
+ user_id: str = betterproto.string_field(7)
298
+ device_id: str = betterproto.string_field(8)
299
+ plan_id: str = betterproto.string_field(9)
300
+ task_id: str = betterproto.string_field(10)
301
+ job_id: str = betterproto.string_field(11)
302
+ start_time: str = betterproto.string_field(12)
303
+ end_time: str = betterproto.string_field(13)
304
+ week: int = betterproto.int32_field(14)
305
+ knife_height: int = betterproto.int32_field(15)
306
+ model: int = betterproto.int32_field(16)
307
+ edge_mode: int = betterproto.int32_field(17)
308
+ required_time: int = betterproto.int32_field(18)
309
+ route_angle: int = betterproto.int32_field(19)
310
+ route_model: int = betterproto.int32_field(20)
311
+ route_spacing: int = betterproto.int32_field(21)
312
+ ultrasonic_barrier: int = betterproto.int32_field(22)
313
+ total_plan_num: int = betterproto.int32_field(23)
314
+ plan_index: int = betterproto.int32_field(24)
315
+ result: int = betterproto.int32_field(25)
316
+ speed: float = betterproto.float_field(26)
317
+ task_name: str = betterproto.string_field(27)
318
+ job_name: str = betterproto.string_field(28)
319
+ zone_hashs: list[float] = betterproto.fixed64_field(29)
320
+ reserved: str = betterproto.string_field(30)
321
+ start_date: str = betterproto.string_field(31)
322
+ end_date: str = betterproto.string_field(32)
323
+ trigger_type: int = betterproto.int32_field(33)
324
+ day: int = betterproto.int32_field(34)
325
+ weeks: list[float] = betterproto.fixed32_field(35)
326
+ remained_seconds: int = betterproto.int64_field(36)
327
+ toward_mode: int = betterproto.int32_field(37)
328
+ toward_included_angle: int = betterproto.int32_field(38)
329
+
330
+
331
+ @dataclass
332
+ class NavUnableTimeSet(betterproto.Message):
333
+ sub_cmd: int = betterproto.int32_field(1)
334
+ device_id: str = betterproto.string_field(2)
335
+ unable_start_time: str = betterproto.string_field(3)
336
+ unable_end_time: str = betterproto.string_field(4)
337
+ result: int = betterproto.int32_field(5)
338
+ reserved: str = betterproto.string_field(6)
339
+
340
+
341
+ @dataclass
342
+ class ChargePileType(betterproto.Message):
343
+ toward: int = betterproto.int32_field(1)
344
+ x: float = betterproto.float_field(2)
345
+ y: float = betterproto.float_field(3)
346
+
347
+
348
+ @dataclass
349
+ class SimulationCmdData(betterproto.Message):
350
+ sub_cmd: int = betterproto.int32_field(1)
351
+ param_id: int = betterproto.int32_field(2)
352
+ param_value: list[int] = betterproto.int32_field(3)
353
+
354
+
355
+ @dataclass
356
+ class WorkReportUpdateCmd(betterproto.Message):
357
+ sub_cmd: int = betterproto.int32_field(1)
358
+
359
+
360
+ @dataclass
361
+ class WorkReportUpdateAck(betterproto.Message):
362
+ update_flag: bool = betterproto.bool_field(1)
363
+ info_num: int = betterproto.int32_field(2)
364
+
365
+
366
+ @dataclass
367
+ class WorkReportCmdData(betterproto.Message):
368
+ sub_cmd: int = betterproto.int32_field(1)
369
+ get_info_num: int = betterproto.int32_field(2)
370
+
371
+
372
+ @dataclass
373
+ class WorkReportInfoAck(betterproto.Message):
374
+ interrupt_flag: bool = betterproto.bool_field(1)
375
+ start_work_time: int = betterproto.int64_field(2)
376
+ end_work_time: int = betterproto.int64_field(3)
377
+ work_time_used: int = betterproto.int32_field(4)
378
+ work_ares: float = betterproto.double_field(5)
379
+ work_progress: int = betterproto.int32_field(6)
380
+ height_of_knife: int = betterproto.int32_field(7)
381
+ work_type: int = betterproto.int32_field(8)
382
+ work_result: int = betterproto.int32_field(9)
383
+ total_ack_num: int = betterproto.int32_field(10)
384
+ current_ack_num: int = betterproto.int32_field(11)
385
+
386
+
387
+ @dataclass
388
+ class AppRequestCoverPathsT(betterproto.Message):
389
+ pver: int = betterproto.int32_field(1)
390
+ sub_cmd: int = betterproto.int32_field(2)
391
+ total_frame: int = betterproto.int32_field(3)
392
+ current_frame: int = betterproto.int32_field(4)
393
+ data_hash: float = betterproto.fixed64_field(5)
394
+ transaction_id: int = betterproto.int64_field(6)
395
+ reserved: list[int] = betterproto.int64_field(7)
396
+ hash_list: list[float] = betterproto.fixed64_field(8)
397
+
398
+
399
+ @dataclass
400
+ class CoverPathPacketT(betterproto.Message):
401
+ path_hash: float = betterproto.fixed64_field(1)
402
+ path_type: int = betterproto.int32_field(2)
403
+ path_total: int = betterproto.int32_field(3)
404
+ path_cur: int = betterproto.int32_field(4)
405
+ zone_hash: float = betterproto.fixed64_field(5)
406
+ data_couple: list["CommDataCouple"] = betterproto.message_field(6)
407
+
408
+
409
+ @dataclass
410
+ class CoverPathUploadT(betterproto.Message):
411
+ pver: int = betterproto.int32_field(1)
412
+ result: int = betterproto.int32_field(2)
413
+ sub_cmd: int = betterproto.int32_field(3)
414
+ area: int = betterproto.int32_field(4)
415
+ time: int = betterproto.int32_field(5)
416
+ total_frame: int = betterproto.int32_field(6)
417
+ current_frame: int = betterproto.int32_field(7)
418
+ total_path_num: int = betterproto.int32_field(8)
419
+ vaild_path_num: int = betterproto.int32_field(9)
420
+ data_hash: float = betterproto.fixed64_field(10)
421
+ transaction_id: int = betterproto.int64_field(11)
422
+ reserved: list[int] = betterproto.int64_field(12)
423
+ data_len: int = betterproto.int32_field(13)
424
+ path_packets: list["CoverPathPacketT"] = betterproto.message_field(14)
425
+
426
+
427
+ @dataclass
428
+ class ZoneStartPrecentT(betterproto.Message):
429
+ data_hash: float = betterproto.fixed64_field(1)
430
+ x: float = betterproto.float_field(2)
431
+ y: float = betterproto.float_field(3)
432
+ index: int = betterproto.int32_field(4)
433
+
434
+
435
+ @dataclass
436
+ class VisionCtrlMsg(betterproto.Message):
437
+ type: int = betterproto.int32_field(1)
438
+ cmd: int = betterproto.int32_field(2)
439
+
440
+
441
+ @dataclass
442
+ class NavSysParamMsg(betterproto.Message):
443
+ rw: int = betterproto.int32_field(1)
444
+ id: int = betterproto.int32_field(2)
445
+ context: int = betterproto.int32_field(3)
446
+
447
+
448
+ @dataclass
449
+ class NavPlanTaskExecute(betterproto.Message):
450
+ sub_cmd: int = betterproto.int32_field(1)
451
+ id: str = betterproto.string_field(2)
452
+ name: str = betterproto.string_field(3)
453
+ result: int = betterproto.int32_field(4)
454
+
455
+
456
+ @dataclass
457
+ class CostmapT(betterproto.Message):
458
+ width: int = betterproto.int32_field(1)
459
+ height: int = betterproto.int32_field(2)
460
+ center_x: float = betterproto.float_field(3)
461
+ center_y: float = betterproto.float_field(4)
462
+ yaw: float = betterproto.float_field(5)
463
+ res: float = betterproto.float_field(6)
464
+ costmap: list[int] = betterproto.int32_field(7)
465
+
466
+
467
+ @dataclass
468
+ class PlanTaskNameIdT(betterproto.Message):
469
+ id: str = betterproto.string_field(1)
470
+ name: str = betterproto.string_field(2)
471
+
472
+
473
+ @dataclass
474
+ class NavGetAllPlanTask(betterproto.Message):
475
+ tasks: list["PlanTaskNameIdT"] = betterproto.message_field(1)
476
+
477
+
478
+ @dataclass
479
+ class MctlNav(betterproto.Message):
480
+ toapp_lat_up: "NavLatLonUp" = betterproto.message_field(1, group="SubNavMsg")
481
+ toapp_pos_up: "NavPosUp" = betterproto.message_field(2, group="SubNavMsg")
482
+ todev_chl_line_data: "NavCHlLineData" = betterproto.message_field(
483
+ 3, group="SubNavMsg"
484
+ )
485
+ toapp_task_info: "NavTaskInfo" = betterproto.message_field(4, group="SubNavMsg")
486
+ toapp_opt_line_up: "NavOptLineUp" = betterproto.message_field(5, group="SubNavMsg")
487
+ toapp_opt_border_info: "NavOptiBorderInfo" = betterproto.message_field(
488
+ 6, group="SubNavMsg"
489
+ )
490
+ toapp_opt_obs_info: "NavOptObsInfo" = betterproto.message_field(
491
+ 7, group="SubNavMsg"
492
+ )
493
+ todev_task_info_ack: "NavResFrame" = betterproto.message_field(8, group="SubNavMsg")
494
+ todev_opt_border_info_ack: "NavResFrame" = betterproto.message_field(
495
+ 9, group="SubNavMsg"
496
+ )
497
+ todev_opt_obs_info_ack: "NavResFrame" = betterproto.message_field(
498
+ 10, group="SubNavMsg"
499
+ )
500
+ todev_opt_line_up_ack: "NavResFrame" = betterproto.message_field(
501
+ 11, group="SubNavMsg"
502
+ )
503
+ toapp_chgpileto: "ChargePileType" = betterproto.message_field(12, group="SubNavMsg")
504
+ todev_sustask: int = betterproto.int32_field(13, group="SubNavMsg")
505
+ todev_rechgcmd: int = betterproto.int32_field(14, group="SubNavMsg")
506
+ todev_edgecmd: int = betterproto.int32_field(15, group="SubNavMsg")
507
+ todev_draw_border: int = betterproto.int32_field(16, group="SubNavMsg")
508
+ todev_draw_border_end: int = betterproto.int32_field(17, group="SubNavMsg")
509
+ todev_draw_obs: int = betterproto.int32_field(18, group="SubNavMsg")
510
+ todev_draw_obs_end: int = betterproto.int32_field(19, group="SubNavMsg")
511
+ todev_chl_line: int = betterproto.int32_field(20, group="SubNavMsg")
512
+ todev_chl_line_end: int = betterproto.int32_field(21, group="SubNavMsg")
513
+ todev_save_task: int = betterproto.int32_field(22, group="SubNavMsg")
514
+ todev_cancel_suscmd: int = betterproto.int32_field(23, group="SubNavMsg")
515
+ todev_reset_chg_pile: int = betterproto.int32_field(24, group="SubNavMsg")
516
+ todev_cancel_draw_cmd: int = betterproto.int32_field(25, group="SubNavMsg")
517
+ todev_one_touch_leave_pile: int = betterproto.int32_field(26, group="SubNavMsg")
518
+ todev_mow_task: "NavStartJob" = betterproto.message_field(27, group="SubNavMsg")
519
+ toapp_bstate: "NavBorderState" = betterproto.message_field(28, group="SubNavMsg")
520
+ todev_lat_up_ack: int = betterproto.int32_field(29, group="SubNavMsg")
521
+ todev_gethash: "NavGetHashList" = betterproto.message_field(30, group="SubNavMsg")
522
+ toapp_gethash_ack: "NavGetHashListAck" = betterproto.message_field(
523
+ 31, group="SubNavMsg"
524
+ )
525
+ todev_get_commondata: "NavGetCommData" = betterproto.message_field(
526
+ 32, group="SubNavMsg"
527
+ )
528
+ toapp_get_commondata_ack: "NavGetCommDataAck" = betterproto.message_field(
529
+ 33, group="SubNavMsg"
530
+ )
531
+ bidire_reqconver_path: "NavReqCoverPath" = betterproto.message_field(
532
+ 34, group="SubNavMsg"
533
+ )
534
+ toapp_zigzag: "NavUploadZigZagResult" = betterproto.message_field(
535
+ 35, group="SubNavMsg"
536
+ )
537
+ todev_zigzag_ack: "NavUploadZigZagResultAck" = betterproto.message_field(
538
+ 36, group="SubNavMsg"
539
+ )
540
+ todev_taskctrl: "NavTaskCtrl" = betterproto.message_field(37, group="SubNavMsg")
541
+ bidire_taskid: "NavTaskIdRw" = betterproto.message_field(38, group="SubNavMsg")
542
+ toapp_bp: "NavTaskBreakPoint" = betterproto.message_field(39, group="SubNavMsg")
543
+ todev_planjob_set: "NavPlanJobSet" = betterproto.message_field(
544
+ 40, group="SubNavMsg"
545
+ )
546
+ todev_unable_time_set: "NavUnableTimeSet" = betterproto.message_field(
547
+ 41, group="SubNavMsg"
548
+ )
549
+ simulation_cmd: "SimulationCmdData" = betterproto.message_field(
550
+ 42, group="SubNavMsg"
551
+ )
552
+ todev_work_report_update_cmd: "WorkReportUpdateCmd" = betterproto.message_field(
553
+ 43, group="SubNavMsg"
554
+ )
555
+ toapp_work_report_update_ack: "WorkReportUpdateAck" = betterproto.message_field(
556
+ 44, group="SubNavMsg"
557
+ )
558
+ todev_work_report_cmd: "WorkReportCmdData" = betterproto.message_field(
559
+ 45, group="SubNavMsg"
560
+ )
561
+ toapp_work_report_ack: "WorkReportInfoAck" = betterproto.message_field(
562
+ 46, group="SubNavMsg"
563
+ )
564
+ toapp_work_report_upload: "WorkReportInfoAck" = betterproto.message_field(
565
+ 47, group="SubNavMsg"
566
+ )
567
+ app_request_cover_paths: "AppRequestCoverPathsT" = betterproto.message_field(
568
+ 48, group="SubNavMsg"
569
+ )
570
+ cover_path_upload: "CoverPathUploadT" = betterproto.message_field(
571
+ 49, group="SubNavMsg"
572
+ )
573
+ zone_start_precent: "ZoneStartPrecentT" = betterproto.message_field(
574
+ 50, group="SubNavMsg"
575
+ )
576
+ vision_ctrl: "VisionCtrlMsg" = betterproto.message_field(51, group="SubNavMsg")
577
+ nav_sys_param_cmd: "NavSysParamMsg" = betterproto.message_field(
578
+ 52, group="SubNavMsg"
579
+ )
580
+ plan_task_execute: "NavPlanTaskExecute" = betterproto.message_field(
581
+ 53, group="SubNavMsg"
582
+ )
583
+ toapp_costmap: "CostmapT" = betterproto.message_field(54, group="SubNavMsg")
584
+ plan_task_name_id: "PlanTaskNameIdT" = betterproto.message_field(
585
+ 55, group="SubNavMsg"
586
+ )
587
+ all_plan_task: "NavGetAllPlanTask" = betterproto.message_field(
588
+ 56, group="SubNavMsg"
589
+ )