pymammotion 0.2.62__py3-none-any.whl → 0.5.51__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 (135) hide show
  1. pymammotion/__init__.py +9 -6
  2. pymammotion/aliyun/client.py +235 -0
  3. pymammotion/aliyun/cloud_gateway.py +320 -69
  4. pymammotion/aliyun/model/aep_response.py +1 -2
  5. pymammotion/aliyun/model/dev_by_account_response.py +170 -23
  6. pymammotion/aliyun/model/login_by_oauth_response.py +2 -3
  7. pymammotion/aliyun/model/regions_response.py +3 -3
  8. pymammotion/aliyun/model/session_by_authcode_response.py +2 -2
  9. pymammotion/aliyun/model/thing_response.py +12 -0
  10. pymammotion/aliyun/regions.py +62 -0
  11. pymammotion/aliyun/tea/core.py +297 -0
  12. pymammotion/bluetooth/ble.py +11 -15
  13. pymammotion/bluetooth/ble_message.py +389 -106
  14. pymammotion/bluetooth/model/atomic_integer.py +54 -0
  15. pymammotion/const.py +3 -0
  16. pymammotion/data/model/__init__.py +1 -2
  17. pymammotion/data/model/device.py +92 -240
  18. pymammotion/data/model/device_config.py +10 -24
  19. pymammotion/data/model/device_info.py +35 -0
  20. pymammotion/data/model/device_limits.py +49 -0
  21. pymammotion/data/model/enums.py +12 -2
  22. pymammotion/data/model/errors.py +12 -0
  23. pymammotion/data/model/events.py +14 -0
  24. pymammotion/data/model/generate_geojson.py +521 -0
  25. pymammotion/data/model/generate_route_information.py +3 -4
  26. pymammotion/data/model/hash_list.py +384 -48
  27. pymammotion/data/model/location.py +4 -4
  28. pymammotion/data/model/mowing_modes.py +24 -1
  29. pymammotion/data/model/raw_data.py +215 -0
  30. pymammotion/data/model/region_data.py +10 -11
  31. pymammotion/data/model/report_info.py +62 -6
  32. pymammotion/data/model/work.py +27 -0
  33. pymammotion/data/mower_state_manager.py +316 -0
  34. pymammotion/data/mqtt/event.py +73 -28
  35. pymammotion/data/mqtt/mammotion_properties.py +257 -0
  36. pymammotion/data/mqtt/properties.py +93 -78
  37. pymammotion/data/mqtt/status.py +18 -17
  38. pymammotion/event/event.py +32 -8
  39. pymammotion/homeassistant/__init__.py +3 -0
  40. pymammotion/homeassistant/mower_api.py +484 -0
  41. pymammotion/homeassistant/rtk_api.py +54 -0
  42. pymammotion/http/__init__.py +0 -0
  43. pymammotion/http/encryption.py +220 -0
  44. pymammotion/http/http.py +652 -44
  45. pymammotion/http/model/__init__.py +0 -0
  46. pymammotion/{aliyun/model/stream_subscription_response.py → http/model/camera_stream.py} +14 -2
  47. pymammotion/http/model/http.py +160 -9
  48. pymammotion/http/model/response_factory.py +61 -0
  49. pymammotion/http/model/rtk.py +16 -0
  50. pymammotion/mammotion/commands/abstract_message.py +7 -5
  51. pymammotion/mammotion/commands/mammotion_command.py +32 -3
  52. pymammotion/mammotion/commands/messages/basestation.py +43 -0
  53. pymammotion/mammotion/commands/messages/driver.py +61 -29
  54. pymammotion/mammotion/commands/messages/media.py +68 -15
  55. pymammotion/mammotion/commands/messages/navigation.py +61 -25
  56. pymammotion/mammotion/commands/messages/network.py +93 -100
  57. pymammotion/mammotion/commands/messages/ota.py +18 -18
  58. pymammotion/mammotion/commands/messages/system.py +97 -72
  59. pymammotion/mammotion/commands/messages/video.py +17 -12
  60. pymammotion/mammotion/devices/__init__.py +27 -3
  61. pymammotion/mammotion/devices/base.py +50 -127
  62. pymammotion/mammotion/devices/mammotion.py +447 -212
  63. pymammotion/mammotion/devices/mammotion_bluetooth.py +105 -60
  64. pymammotion/mammotion/devices/mammotion_cloud.py +157 -105
  65. pymammotion/mammotion/devices/mammotion_mower_ble.py +49 -0
  66. pymammotion/mammotion/devices/mammotion_mower_cloud.py +39 -0
  67. pymammotion/mammotion/devices/managers/managers.py +81 -0
  68. pymammotion/mammotion/devices/mower_device.py +124 -0
  69. pymammotion/mammotion/devices/mower_manager.py +107 -0
  70. pymammotion/mammotion/devices/rtk_ble.py +89 -0
  71. pymammotion/mammotion/devices/rtk_cloud.py +113 -0
  72. pymammotion/mammotion/devices/rtk_device.py +50 -0
  73. pymammotion/mammotion/devices/rtk_manager.py +122 -0
  74. pymammotion/mqtt/__init__.py +2 -1
  75. pymammotion/mqtt/aliyun_mqtt.py +232 -0
  76. pymammotion/mqtt/linkkit/__init__.py +5 -0
  77. pymammotion/mqtt/linkkit/h2client.py +585 -0
  78. pymammotion/mqtt/linkkit/linkkit.py +3023 -0
  79. pymammotion/mqtt/mammotion_mqtt.py +176 -169
  80. pymammotion/mqtt/mqtt_models.py +66 -0
  81. pymammotion/proto/__init__.py +4839 -4
  82. pymammotion/proto/basestation.proto +8 -0
  83. pymammotion/proto/basestation_pb2.py +11 -9
  84. pymammotion/proto/basestation_pb2.pyi +16 -2
  85. pymammotion/proto/dev_net.proto +79 -55
  86. pymammotion/proto/dev_net_pb2.py +60 -56
  87. pymammotion/proto/dev_net_pb2.pyi +49 -6
  88. pymammotion/proto/luba_msg.proto +2 -1
  89. pymammotion/proto/luba_msg_pb2.py +6 -6
  90. pymammotion/proto/luba_msg_pb2.pyi +1 -0
  91. pymammotion/proto/luba_mul.proto +62 -1
  92. pymammotion/proto/luba_mul_pb2.py +38 -22
  93. pymammotion/proto/luba_mul_pb2.pyi +94 -7
  94. pymammotion/proto/mctrl_driver.proto +44 -4
  95. pymammotion/proto/mctrl_driver_pb2.py +26 -14
  96. pymammotion/proto/mctrl_driver_pb2.pyi +66 -11
  97. pymammotion/proto/mctrl_nav.proto +97 -51
  98. pymammotion/proto/mctrl_nav_pb2.py +75 -67
  99. pymammotion/proto/mctrl_nav_pb2.pyi +142 -56
  100. pymammotion/proto/mctrl_ota.proto +40 -2
  101. pymammotion/proto/mctrl_ota_pb2.py +23 -13
  102. pymammotion/proto/mctrl_ota_pb2.pyi +67 -4
  103. pymammotion/proto/mctrl_pept.proto +8 -3
  104. pymammotion/proto/mctrl_pept_pb2.py +8 -6
  105. pymammotion/proto/mctrl_pept_pb2.pyi +14 -6
  106. pymammotion/proto/mctrl_sys.proto +325 -86
  107. pymammotion/proto/mctrl_sys_pb2.py +162 -98
  108. pymammotion/proto/mctrl_sys_pb2.pyi +451 -25
  109. pymammotion/proto/message_pool.py +3 -0
  110. pymammotion/proto/py.typed +0 -0
  111. pymammotion/utility/constant/device_constant.py +65 -21
  112. pymammotion/utility/datatype_converter.py +13 -12
  113. pymammotion/utility/device_config.py +755 -0
  114. pymammotion/utility/device_type.py +218 -21
  115. pymammotion/utility/map.py +238 -51
  116. pymammotion/utility/mur_mur_hash.py +159 -0
  117. {pymammotion-0.2.62.dist-info → pymammotion-0.5.51.dist-info}/METADATA +27 -31
  118. pymammotion-0.5.51.dist-info/RECORD +152 -0
  119. {pymammotion-0.2.62.dist-info → pymammotion-0.5.51.dist-info}/WHEEL +1 -1
  120. pymammotion/aliyun/cloud_service.py +0 -65
  121. pymammotion/data/model/plan.py +0 -58
  122. pymammotion/data/state_manager.py +0 -130
  123. pymammotion/proto/basestation.py +0 -59
  124. pymammotion/proto/common.py +0 -12
  125. pymammotion/proto/dev_net.py +0 -381
  126. pymammotion/proto/luba_msg.py +0 -81
  127. pymammotion/proto/luba_mul.py +0 -76
  128. pymammotion/proto/mctrl_driver.py +0 -100
  129. pymammotion/proto/mctrl_nav.py +0 -660
  130. pymammotion/proto/mctrl_ota.py +0 -48
  131. pymammotion/proto/mctrl_pept.py +0 -41
  132. pymammotion/proto/mctrl_sys.py +0 -574
  133. pymammotion-0.2.62.dist-info/RECORD +0 -125
  134. /pymammotion/{http/_init_.py → bluetooth/model/__init__.py} +0 -0
  135. {pymammotion-0.2.62.dist-info → pymammotion-0.5.51.dist-info/licenses}/LICENSE +0 -0
@@ -1,41 +0,0 @@
1
- # Generated by the protocol buffer compiler. DO NOT EDIT!
2
- # sources: pymammotion/proto/mctrl_pept.proto
3
- # plugin: python-betterproto
4
- from dataclasses import dataclass
5
-
6
-
7
- import betterproto
8
-
9
-
10
- @dataclass
11
- class PerceptionObstaclesT(betterproto.Message):
12
- label: int = betterproto.int32_field(1)
13
- num: int = betterproto.int32_field(2)
14
- points_x: list[int] = betterproto.int32_field(3)
15
- points_y: list[int] = betterproto.int32_field(4)
16
-
17
-
18
- @dataclass
19
- class PerceptionObstaclesVisualizationT(betterproto.Message):
20
- is_heart_beat: int = betterproto.int32_field(1)
21
- num: int = betterproto.int32_field(2)
22
- obstacles: list["PerceptionObstaclesT"] = betterproto.message_field(3)
23
- timestamp: float = betterproto.double_field(4)
24
- scale: float = betterproto.float_field(5)
25
-
26
-
27
- @dataclass
28
- class PerceptionUniversalBuffT(betterproto.Message):
29
- perception_type: int = betterproto.int32_field(1)
30
- perception_len: int = betterproto.int32_field(2)
31
- universal_buff: list[int] = betterproto.int64_field(3)
32
-
33
-
34
- @dataclass
35
- class MctlPept(betterproto.Message):
36
- perception_obstacles_visualization: "PerceptionObstaclesVisualizationT" = (
37
- betterproto.message_field(1, group="SubPeptMsg")
38
- )
39
- perception_universal_buff: "PerceptionUniversalBuffT" = betterproto.message_field(
40
- 2, group="SubPeptMsg"
41
- )
@@ -1,574 +0,0 @@
1
- # Generated by the protocol buffer compiler. DO NOT EDIT!
2
- # sources: pymammotion/proto/mctrl_sys.proto
3
- # plugin: python-betterproto
4
- from dataclasses import dataclass
5
-
6
- from .dev_net import *
7
-
8
- import betterproto
9
-
10
-
11
- class Operation(betterproto.Enum):
12
- WRITE = 0
13
- READ = 1
14
- ERASE = 2
15
-
16
-
17
- class OffPartId(betterproto.Enum):
18
- OFF_PART_DL_IMG = 0
19
- OFF_PART_UPDINFO_BACK = 1
20
- OFF_PART_UPDINFO = 2
21
- OFF_PART_NAKEDB = 3
22
- OFF_PART_FLASHDB = 4
23
- OFF_PART_UPD_APP_IMG = 5
24
- OFF_PART_UPD_BMS_IMG = 6
25
- OFF_PART_UPD_TMP_IMG = 7
26
- OFF_PART_DEV_INFO = 8
27
- OFF_PART_NAKEDB_BACK = 9
28
- OFF_PART_MAX = 10
29
-
30
-
31
- class QCAppTestId(betterproto.Enum):
32
- QC_APP_ITEM_ON_CHARGESATSTION = 0
33
- QC_APP_TEST_X3_SPEAKER = 1
34
- QC_APP_TEST_STATIC_OBSTACLE_DETECTION = 2
35
- QC_APP_TEST_CHARGESTATION_TEMP = 3
36
- QC_APP_ITEM_KEY = 4
37
- QC_APP_TEST_BUMPER_FRONTLEFT = 5
38
- QC_APP_TEST_BUMPER_FRONTRIGHT = 6
39
- QC_APP_TEST_STOP = 7
40
- QC_APP_TEST_UNLOCK = 8
41
- QC_APP_TEST_BUZZ = 9
42
- QC_APP_TEST_LIFT = 10
43
- QC_APP_ITEM_SENEOR = 11
44
- QC_APP_TEST_ROLL_LEFT = 12
45
- QC_APP_TEST_ROLL_RIGHT = 13
46
- QC_APP_TEST_ULTRA_UNCOVER = 14
47
- QC_APP_TEST_ULTRA0_COVER = 15
48
- QC_APP_TEST_ULTRA1_COVER = 16
49
- QC_APP_TEST_ULTRA2_COVER = 17
50
- QC_APP_TEST_RAIN = 18
51
- QC_APP_ITEM_SQ = 19
52
- QC_APP_TEST_BLE_RSSI = 20
53
- QC_APP_TEST_SATELLITES_ROVER = 21
54
- QC_APP_TEST_SATELLITES_REF_STATION_L1 = 22
55
- QC_APP_TEST_SATELLITES_REF_STATION_L2 = 23
56
- QC_APP_TEST_SATELLITES_COMMON_VIEW = 24
57
- QC_APP_TEST_CNO_ROVER = 25
58
- QC_APP_TEST_CNO_REF_STATION = 26
59
- QC_APP_TEST_REF_STATION_LINK_STATUS = 27
60
- QC_APP_TEST_LOCATION_STATE = 28
61
- QC_APP_TEST_MAX = 29
62
-
63
-
64
- class NetUsedType(betterproto.Enum):
65
- NET_USED_TYPE_NONE = 0
66
- NET_USED_TYPE_WIFI = 1
67
- NET_USED_TYPE_MNET = 2
68
-
69
-
70
- class RptInfoType(betterproto.Enum):
71
- RIT_CONNECT = 0
72
- RIT_DEV_STA = 1
73
- RIT_RTK = 2
74
- RIT_DEV_LOCAL = 3
75
- RIT_WORK = 4
76
- RIT_FW_INFO = 5
77
- RIT_MAINTAIN = 6
78
- RIT_VISION_POINT = 7
79
- RIT_VIO = 8
80
- RIT_VISION_STATISTIC = 9
81
- RIT_BASESTATION_INFO = 10
82
-
83
-
84
- class RptAct(betterproto.Enum):
85
- RPT_START = 0
86
- RPT_STOP = 1
87
- RPT_KEEP = 2
88
-
89
-
90
- @dataclass
91
- class SysBatUp(betterproto.Message):
92
- bat_val: int = betterproto.int32_field(1)
93
-
94
-
95
- @dataclass
96
- class SysWorkState(betterproto.Message):
97
- device_state: int = betterproto.int32_field(1)
98
- charge_state: int = betterproto.int32_field(2)
99
- cm_hash: int = betterproto.int64_field(3)
100
- path_hash: int = betterproto.int64_field(4)
101
-
102
-
103
- @dataclass
104
- class SysSetTimeZone(betterproto.Message):
105
- time_stamp: int = betterproto.int32_field(1)
106
- time_area: int = betterproto.int32_field(2)
107
-
108
-
109
- @dataclass
110
- class SysSetDateTime(betterproto.Message):
111
- year: int = betterproto.int32_field(1)
112
- month: int = betterproto.int32_field(2)
113
- date: int = betterproto.int32_field(3)
114
- week: int = betterproto.int32_field(4)
115
- hours: int = betterproto.int32_field(5)
116
- minutes: int = betterproto.int32_field(6)
117
- seconds: int = betterproto.int32_field(7)
118
- time_zone: int = betterproto.int32_field(8)
119
- daylight: int = betterproto.int32_field(9)
120
-
121
-
122
- @dataclass
123
- class SysJobPlan(betterproto.Message):
124
- job_id: int = betterproto.int64_field(1)
125
- job_mode: int = betterproto.int32_field(2)
126
- rain_tactics: int = betterproto.int32_field(3)
127
- knife_height: int = betterproto.int32_field(4)
128
-
129
-
130
- @dataclass
131
- class SysDevErrCode(betterproto.Message):
132
- error_code: int = betterproto.int32_field(1)
133
-
134
-
135
- @dataclass
136
- class SysBoardType(betterproto.Message):
137
- board_type: int = betterproto.int32_field(1)
138
-
139
-
140
- @dataclass
141
- class SysSwVersion(betterproto.Message):
142
- board_type: int = betterproto.int32_field(1)
143
- version_len: int = betterproto.int32_field(2)
144
-
145
-
146
- @dataclass
147
- class SysDelJobPlan(betterproto.Message):
148
- device_id: str = betterproto.string_field(1)
149
- plan_id: str = betterproto.string_field(2)
150
-
151
-
152
- @dataclass
153
- class SysJobPlanTime(betterproto.Message):
154
- plan_id: int = betterproto.int64_field(1)
155
- start_job_time: int = betterproto.int32_field(2)
156
- end_job_time: int = betterproto.int32_field(3)
157
- time_in_day: int = betterproto.int32_field(4)
158
- job_plan_mode: int = betterproto.int32_field(5)
159
- job_plan_enable: int = betterproto.int32_field(6)
160
- week_day: list[int] = betterproto.int32_field(7)
161
- time_in_week_day: list[int] = betterproto.int32_field(8)
162
- every_day: int = betterproto.int32_field(9)
163
- job_plan: "SysJobPlan" = betterproto.message_field(10)
164
-
165
-
166
- @dataclass
167
- class SysMowInfo(betterproto.Message):
168
- device_state: int = betterproto.int32_field(1)
169
- bat_val: int = betterproto.int32_field(2)
170
- knife_height: int = betterproto.int32_field(3)
171
- rtk_status: int = betterproto.int32_field(4)
172
- rtk_stars: int = betterproto.int32_field(5)
173
-
174
-
175
- @dataclass
176
- class SysOptiLineAck(betterproto.Message):
177
- respones_cmd: int = betterproto.int32_field(1)
178
- current_frame: int = betterproto.int32_field(2)
179
-
180
-
181
- @dataclass
182
- class SysCommCmd(betterproto.Message):
183
- rw: int = betterproto.int32_field(1)
184
- id: int = betterproto.int32_field(2)
185
- context: int = betterproto.int32_field(3)
186
-
187
-
188
- @dataclass
189
- class SysUploadFileProgress(betterproto.Message):
190
- biz_id: str = betterproto.string_field(1)
191
- result: int = betterproto.int32_field(2)
192
- progress: int = betterproto.int32_field(3)
193
-
194
-
195
- @dataclass
196
- class SysErrorCode(betterproto.Message):
197
- code_no: int = betterproto.int32_field(1)
198
-
199
-
200
- @dataclass
201
- class SysBorder(betterproto.Message):
202
- borderval: int = betterproto.int32_field(1)
203
-
204
-
205
- @dataclass
206
- class SysPlanJobStatus(betterproto.Message):
207
- planjob_status: int = betterproto.int32_field(1)
208
-
209
-
210
- @dataclass
211
- class SysKnifeControl(betterproto.Message):
212
- knife_status: int = betterproto.int32_field(1)
213
- knife_height: int = betterproto.int32_field(2)
214
-
215
-
216
- @dataclass
217
- class SysResetSystemStatus(betterproto.Message):
218
- reset_staus: int = betterproto.int32_field(1)
219
-
220
-
221
- @dataclass
222
- class TimeCtrlLight(betterproto.Message):
223
- operate: int = betterproto.int32_field(1)
224
- enable: int = betterproto.int32_field(2)
225
- start_hour: int = betterproto.int32_field(3)
226
- start_min: int = betterproto.int32_field(4)
227
- end_hour: int = betterproto.int32_field(5)
228
- end_min: int = betterproto.int32_field(6)
229
- action: int = betterproto.int32_field(7)
230
-
231
-
232
- @dataclass
233
- class VisionPointMsg(betterproto.Message):
234
- x: float = betterproto.float_field(1)
235
- y: float = betterproto.float_field(2)
236
- z: float = betterproto.float_field(3)
237
-
238
-
239
- @dataclass
240
- class VisionPointInfoMsg(betterproto.Message):
241
- lable: int = betterproto.int32_field(1)
242
- num: int = betterproto.int32_field(2)
243
- vision_point: list["VisionPointMsg"] = betterproto.message_field(3)
244
-
245
-
246
- @dataclass
247
- class VioToAppInfoMsg(betterproto.Message):
248
- x: float = betterproto.double_field(1)
249
- y: float = betterproto.double_field(2)
250
- heading: float = betterproto.double_field(3)
251
- vio_state: int = betterproto.int32_field(4)
252
- brightness: int = betterproto.int32_field(5)
253
- detect_feature_num: int = betterproto.int32_field(6)
254
- track_feature_num: int = betterproto.int32_field(7)
255
-
256
-
257
- @dataclass
258
- class VisionStatisticMsg(betterproto.Message):
259
- mean: float = betterproto.float_field(1)
260
- var: float = betterproto.float_field(2)
261
-
262
-
263
- @dataclass
264
- class VisionStatisticInfoMsg(betterproto.Message):
265
- timestamp: float = betterproto.double_field(1)
266
- num: int = betterproto.int32_field(2)
267
- vision_statistics: list["VisionStatisticMsg"] = betterproto.message_field(3)
268
-
269
-
270
- @dataclass
271
- class SystemRapidStateTunnelMsg(betterproto.Message):
272
- rapid_state_data: list[int] = betterproto.int64_field(1)
273
- vision_point_info: list["VisionPointInfoMsg"] = betterproto.message_field(2)
274
- vio_to_app_info: "VioToAppInfoMsg" = betterproto.message_field(3)
275
- vision_statistic_info: "VisionStatisticInfoMsg" = betterproto.message_field(4)
276
-
277
-
278
- @dataclass
279
- class SystemTardStateTunnelMsg(betterproto.Message):
280
- tard_state_data: list[int] = betterproto.int64_field(1)
281
-
282
-
283
- @dataclass
284
- class SystemUpdateBufMsg(betterproto.Message):
285
- update_buf_data: list[int] = betterproto.int64_field(1)
286
-
287
-
288
- @dataclass
289
- class SysOffChipFlash(betterproto.Message):
290
- op: "Operation" = betterproto.enum_field(1)
291
- id: "OffPartId" = betterproto.enum_field(2)
292
- start_addr: int = betterproto.uint32_field(3)
293
- offset: int = betterproto.uint32_field(4)
294
- length: int = betterproto.int32_field(5)
295
- data: bytes = betterproto.bytes_field(6)
296
- code: int = betterproto.int32_field(7)
297
- msg: str = betterproto.string_field(8)
298
-
299
-
300
- @dataclass
301
- class SystemTmpCycleTxMsg(betterproto.Message):
302
- cycle_tx_data: list[int] = betterproto.int64_field(1)
303
-
304
-
305
- @dataclass
306
- class LoraCfgReq(betterproto.Message):
307
- op: int = betterproto.int32_field(1)
308
- cfg: str = betterproto.string_field(2)
309
-
310
-
311
- @dataclass
312
- class LoraCfgRsp(betterproto.Message):
313
- result: int = betterproto.int32_field(1)
314
- op: int = betterproto.int32_field(2)
315
- cfg: str = betterproto.string_field(3)
316
- fac_cfg: bytes = betterproto.bytes_field(4)
317
-
318
-
319
- @dataclass
320
- class ModFwInfo(betterproto.Message):
321
- type: int = betterproto.int32_field(1)
322
- identify: str = betterproto.string_field(2)
323
- version: str = betterproto.string_field(3)
324
-
325
-
326
- @dataclass
327
- class DeviceFwInfo(betterproto.Message):
328
- result: int = betterproto.int32_field(1)
329
- version: str = betterproto.string_field(2)
330
- mod: list["ModFwInfo"] = betterproto.message_field(3)
331
-
332
-
333
- @dataclass
334
- class MowToAppInfoT(betterproto.Message):
335
- type: int = betterproto.int32_field(1)
336
- cmd: int = betterproto.int32_field(2)
337
- mow_data: list[int] = betterproto.int32_field(3)
338
-
339
-
340
- @dataclass
341
- class DeviceProductTypeInfoT(betterproto.Message):
342
- result: int = betterproto.int32_field(1)
343
- main_product_type: str = betterproto.string_field(2)
344
- sub_product_type: str = betterproto.string_field(3)
345
-
346
-
347
- @dataclass
348
- class QCAppTestExcept(betterproto.Message):
349
- except_type: str = betterproto.string_field(1)
350
- conditions: list["QCAppTestConditions"] = betterproto.message_field(2)
351
-
352
-
353
- @dataclass
354
- class QCAppTestConditions(betterproto.Message):
355
- cond_type: str = betterproto.string_field(1)
356
- int_val: int = betterproto.int32_field(2)
357
- float_val: float = betterproto.float_field(3)
358
- double_val: float = betterproto.double_field(4)
359
- string_val: str = betterproto.string_field(5)
360
-
361
-
362
- @dataclass
363
- class MowToAppQctoolsInfoT(betterproto.Message):
364
- type: "QCAppTestId" = betterproto.enum_field(1)
365
- time_of_duration: int = betterproto.int32_field(2)
366
- result: int = betterproto.int32_field(3)
367
- result_details: str = betterproto.string_field(4)
368
- except_: list["QCAppTestExcept"] = betterproto.message_field(5)
369
-
370
-
371
- @dataclass
372
- class MCtrlSimulationCmdData(betterproto.Message):
373
- sub_cmd: int = betterproto.int32_field(1)
374
- param_id: int = betterproto.int32_field(2)
375
- param_value: list[int] = betterproto.int32_field(3)
376
-
377
-
378
- @dataclass
379
- class RptLora(betterproto.Message):
380
- pair_code_scan: int = betterproto.int32_field(1)
381
- pair_code_channel: int = betterproto.int32_field(2)
382
- pair_code_locid: int = betterproto.int32_field(3)
383
- pair_code_netid: int = betterproto.int32_field(4)
384
- lora_connection_status: int = betterproto.int32_field(5)
385
-
386
-
387
- @dataclass
388
- class RptRtk(betterproto.Message):
389
- status: int = betterproto.int32_field(1)
390
- pos_level: int = betterproto.int32_field(2)
391
- gps_stars: int = betterproto.int32_field(3)
392
- age: int = betterproto.int32_field(4)
393
- lat_std: int = betterproto.int32_field(5)
394
- lon_std: int = betterproto.int32_field(6)
395
- l2_stars: int = betterproto.int32_field(7)
396
- dis_status: int = betterproto.int64_field(8)
397
- top4_total_mean: int = betterproto.int64_field(9)
398
- co_view_stars: int = betterproto.int32_field(10)
399
- reset: int = betterproto.int32_field(11)
400
- lora_info: "RptLora" = betterproto.message_field(12)
401
-
402
-
403
- @dataclass
404
- class RptDevLocation(betterproto.Message):
405
- real_pos_x: int = betterproto.int32_field(1)
406
- real_pos_y: int = betterproto.int32_field(2)
407
- real_toward: int = betterproto.int32_field(3)
408
- pos_type: int = betterproto.int32_field(4)
409
- zone_hash: int = betterproto.int64_field(5)
410
- bol_hash: int = betterproto.int64_field(6)
411
-
412
-
413
- @dataclass
414
- class VioSurvivalInfoT(betterproto.Message):
415
- vio_survival_distance: float = betterproto.float_field(1)
416
-
417
-
418
- @dataclass
419
- class CollectorStatusT(betterproto.Message):
420
- collector_installation_status: int = betterproto.int32_field(1)
421
-
422
-
423
- @dataclass
424
- class LockStateT(betterproto.Message):
425
- lock_state: int = betterproto.uint32_field(1)
426
-
427
-
428
- @dataclass
429
- class RptDevStatus(betterproto.Message):
430
- sys_status: int = betterproto.int32_field(1)
431
- charge_state: int = betterproto.int32_field(2)
432
- battery_val: int = betterproto.int32_field(3)
433
- sensor_status: int = betterproto.int32_field(4)
434
- last_status: int = betterproto.int32_field(5)
435
- sys_time_stamp: int = betterproto.int64_field(6)
436
- vslam_status: int = betterproto.int32_field(7)
437
- mnet_info: "MnetInfo" = betterproto.message_field(8)
438
- vio_survival_info: "VioSurvivalInfoT" = betterproto.message_field(9)
439
- collector_status: "CollectorStatusT" = betterproto.message_field(10)
440
- lock_state: "LockStateT" = betterproto.message_field(11)
441
-
442
-
443
- @dataclass
444
- class RptConnectStatus(betterproto.Message):
445
- connect_type: int = betterproto.int32_field(1)
446
- ble_rssi: int = betterproto.int32_field(2)
447
- wifi_rssi: int = betterproto.int32_field(3)
448
- link_type: int = betterproto.int32_field(4)
449
- mnet_rssi: int = betterproto.int32_field(5)
450
- mnet_inet: int = betterproto.int32_field(6)
451
- used_net: "NetUsedType" = betterproto.enum_field(7)
452
-
453
-
454
- @dataclass
455
- class RptWork(betterproto.Message):
456
- plan: int = betterproto.int32_field(1)
457
- path_hash: int = betterproto.int64_field(2)
458
- progress: int = betterproto.int32_field(3)
459
- area: int = betterproto.int32_field(4)
460
- bp_info: int = betterproto.int32_field(5)
461
- bp_hash: int = betterproto.int64_field(6)
462
- bp_pos_x: int = betterproto.int32_field(7)
463
- bp_pos_y: int = betterproto.int32_field(8)
464
- real_path_num: int = betterproto.int64_field(9)
465
- path_pos_x: int = betterproto.int32_field(10)
466
- path_pos_y: int = betterproto.int32_field(11)
467
- ub_zone_hash: int = betterproto.int64_field(12)
468
- ub_path_hash: int = betterproto.int64_field(13)
469
- init_cfg_hash: int = betterproto.int64_field(14)
470
- ub_ecode_hash: int = betterproto.int64_field(15)
471
- nav_run_mode: int = betterproto.int32_field(16)
472
- test_mode_status: int = betterproto.int64_field(17)
473
- man_run_speed: int = betterproto.int32_field(18)
474
- nav_edit_status: int = betterproto.int32_field(19)
475
- knife_height: int = betterproto.int32_field(20)
476
-
477
-
478
- @dataclass
479
- class RptMaintain(betterproto.Message):
480
- mileage: int = betterproto.int64_field(1)
481
- work_time: int = betterproto.int32_field(2)
482
- bat_cycles: int = betterproto.int32_field(3)
483
-
484
-
485
- @dataclass
486
- class ReportInfoCfg(betterproto.Message):
487
- act: "RptAct" = betterproto.enum_field(1)
488
- timeout: int = betterproto.int32_field(2)
489
- period: int = betterproto.int32_field(3)
490
- no_change_period: int = betterproto.int32_field(4)
491
- count: int = betterproto.int32_field(5)
492
- sub: list["RptInfoType"] = betterproto.enum_field(6)
493
-
494
-
495
- @dataclass
496
- class ReportInfoData(betterproto.Message):
497
- connect: "RptConnectStatus" = betterproto.message_field(1)
498
- dev: "RptDevStatus" = betterproto.message_field(2)
499
- rtk: "RptRtk" = betterproto.message_field(3)
500
- locations: list["RptDevLocation"] = betterproto.message_field(4)
501
- work: "RptWork" = betterproto.message_field(5)
502
- fw_info: "DeviceFwInfo" = betterproto.message_field(6)
503
- maintain: "RptMaintain" = betterproto.message_field(7)
504
- vision_point_info: list["VisionPointInfoMsg"] = betterproto.message_field(8)
505
- vio_to_app_info: "VioToAppInfoMsg" = betterproto.message_field(9)
506
- vision_statistic_info: "VisionStatisticInfoMsg" = betterproto.message_field(10)
507
-
508
-
509
- @dataclass
510
- class MctlSys(betterproto.Message):
511
- toapp_batinfo: "SysBatUp" = betterproto.message_field(1, group="SubSysMsg")
512
- toapp_work_state: "SysWorkState" = betterproto.message_field(2, group="SubSysMsg")
513
- todev_time_zone: "SysSetTimeZone" = betterproto.message_field(3, group="SubSysMsg")
514
- todev_data_time: "SysSetDateTime" = betterproto.message_field(4, group="SubSysMsg")
515
- job_plan: "SysJobPlan" = betterproto.message_field(6, group="SubSysMsg")
516
- toapp_err_code: "SysDevErrCode" = betterproto.message_field(7, group="SubSysMsg")
517
- todev_job_plan_time: "SysJobPlanTime" = betterproto.message_field(
518
- 10, group="SubSysMsg"
519
- )
520
- toapp_mow_info: "SysMowInfo" = betterproto.message_field(11, group="SubSysMsg")
521
- bidire_comm_cmd: "SysCommCmd" = betterproto.message_field(12, group="SubSysMsg")
522
- plan_job_del: int = betterproto.int64_field(14, group="SubSysMsg")
523
- border: "SysBorder" = betterproto.message_field(15, group="SubSysMsg")
524
- toapp_plan_status: "SysPlanJobStatus" = betterproto.message_field(
525
- 18, group="SubSysMsg"
526
- )
527
- toapp_ul_fprogress: "SysUploadFileProgress" = betterproto.message_field(
528
- 19, group="SubSysMsg"
529
- )
530
- todev_deljobplan: "SysDelJobPlan" = betterproto.message_field(20, group="SubSysMsg")
531
- todev_mow_info_up: int = betterproto.int32_field(21, group="SubSysMsg")
532
- todev_knife_ctrl: "SysKnifeControl" = betterproto.message_field(
533
- 22, group="SubSysMsg"
534
- )
535
- todev_reset_system: int = betterproto.int32_field(23, group="SubSysMsg")
536
- todev_reset_system_status: "SysResetSystemStatus" = betterproto.message_field(
537
- 24, group="SubSysMsg"
538
- )
539
- system_rapid_state_tunnel: "SystemRapidStateTunnelMsg" = betterproto.message_field(
540
- 25, group="SubSysMsg"
541
- )
542
- system_tard_state_tunnel: "SystemTardStateTunnelMsg" = betterproto.message_field(
543
- 26, group="SubSysMsg"
544
- )
545
- system_update_buf: "SystemUpdateBufMsg" = betterproto.message_field(
546
- 27, group="SubSysMsg"
547
- )
548
- todev_time_ctrl_light: "TimeCtrlLight" = betterproto.message_field(
549
- 28, group="SubSysMsg"
550
- )
551
- system_tmp_cycle_tx: "SystemTmpCycleTxMsg" = betterproto.message_field(
552
- 29, group="SubSysMsg"
553
- )
554
- todev_off_chip_flash: "SysOffChipFlash" = betterproto.message_field(
555
- 30, group="SubSysMsg"
556
- )
557
- todev_get_dev_fw_info: int = betterproto.int32_field(31, group="SubSysMsg")
558
- toapp_dev_fw_info: "DeviceFwInfo" = betterproto.message_field(32, group="SubSysMsg")
559
- todev_lora_cfg_req: "LoraCfgReq" = betterproto.message_field(33, group="SubSysMsg")
560
- toapp_lora_cfg_rsp: "LoraCfgRsp" = betterproto.message_field(34, group="SubSysMsg")
561
- mow_to_app_info: "MowToAppInfoT" = betterproto.message_field(35, group="SubSysMsg")
562
- device_product_type_info: "DeviceProductTypeInfoT" = betterproto.message_field(
563
- 36, group="SubSysMsg"
564
- )
565
- mow_to_app_qctools_info: "MowToAppQctoolsInfoT" = betterproto.message_field(
566
- 37, group="SubSysMsg"
567
- )
568
- todev_report_cfg: "ReportInfoCfg" = betterproto.message_field(38, group="SubSysMsg")
569
- toapp_report_data: "ReportInfoData" = betterproto.message_field(
570
- 39, group="SubSysMsg"
571
- )
572
- simulation_cmd: "MCtrlSimulationCmdData" = betterproto.message_field(
573
- 42, group="SubSysMsg"
574
- )