pymammotion 0.5.69__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 (154) hide show
  1. pymammotion/__init__.py +53 -0
  2. pymammotion/agora/__init__.py +0 -0
  3. pymammotion/agora/agora_api.py +755 -0
  4. pymammotion/agora/agora_rtc_capabilities.py +748 -0
  5. pymammotion/agora/agora_websockets.py +1175 -0
  6. pymammotion/aliyun/__init__.py +1 -0
  7. pymammotion/aliyun/client.py +235 -0
  8. pymammotion/aliyun/cloud_gateway.py +982 -0
  9. pymammotion/aliyun/model/aep_response.py +21 -0
  10. pymammotion/aliyun/model/connect_response.py +51 -0
  11. pymammotion/aliyun/model/dev_by_account_response.py +195 -0
  12. pymammotion/aliyun/model/login_by_oauth_response.py +64 -0
  13. pymammotion/aliyun/model/regions_response.py +29 -0
  14. pymammotion/aliyun/model/session_by_authcode_response.py +19 -0
  15. pymammotion/aliyun/model/thing_response.py +12 -0
  16. pymammotion/aliyun/regions.py +62 -0
  17. pymammotion/aliyun/tea/core.py +297 -0
  18. pymammotion/aliyun/tmp_constant.py +171 -0
  19. pymammotion/bluetooth/__init__.py +1 -0
  20. pymammotion/bluetooth/ble.py +62 -0
  21. pymammotion/bluetooth/ble_message.py +676 -0
  22. pymammotion/bluetooth/const.py +27 -0
  23. pymammotion/bluetooth/data/__init__.py +0 -0
  24. pymammotion/bluetooth/data/convert.py +25 -0
  25. pymammotion/bluetooth/data/framectrldata.py +40 -0
  26. pymammotion/bluetooth/data/notifydata.py +62 -0
  27. pymammotion/bluetooth/model/__init__.py +0 -0
  28. pymammotion/bluetooth/model/atomic_integer.py +54 -0
  29. pymammotion/const.py +13 -0
  30. pymammotion/data/__init__.py +0 -0
  31. pymammotion/data/model/__init__.py +8 -0
  32. pymammotion/data/model/account.py +8 -0
  33. pymammotion/data/model/device.py +192 -0
  34. pymammotion/data/model/device_config.py +72 -0
  35. pymammotion/data/model/device_info.py +60 -0
  36. pymammotion/data/model/device_limits.py +49 -0
  37. pymammotion/data/model/enums.py +77 -0
  38. pymammotion/data/model/errors.py +12 -0
  39. pymammotion/data/model/events.py +14 -0
  40. pymammotion/data/model/generate_geojson.py +565 -0
  41. pymammotion/data/model/generate_route_information.py +26 -0
  42. pymammotion/data/model/hash_list.py +475 -0
  43. pymammotion/data/model/location.py +36 -0
  44. pymammotion/data/model/mowing_modes.py +77 -0
  45. pymammotion/data/model/rapid_state.py +45 -0
  46. pymammotion/data/model/raw_data.py +215 -0
  47. pymammotion/data/model/region_data.py +102 -0
  48. pymammotion/data/model/report_info.py +182 -0
  49. pymammotion/data/model/work.py +27 -0
  50. pymammotion/data/mower_state_manager.py +369 -0
  51. pymammotion/data/mqtt/__init__.py +1 -0
  52. pymammotion/data/mqtt/event.py +227 -0
  53. pymammotion/data/mqtt/mammotion_properties.py +276 -0
  54. pymammotion/data/mqtt/properties.py +203 -0
  55. pymammotion/data/mqtt/status.py +57 -0
  56. pymammotion/event/__init__.py +6 -0
  57. pymammotion/event/event.py +96 -0
  58. pymammotion/homeassistant/__init__.py +3 -0
  59. pymammotion/homeassistant/mower_api.py +514 -0
  60. pymammotion/homeassistant/rtk_api.py +54 -0
  61. pymammotion/http/__init__.py +0 -0
  62. pymammotion/http/encryption.py +220 -0
  63. pymammotion/http/http.py +673 -0
  64. pymammotion/http/model/__init__.py +0 -0
  65. pymammotion/http/model/camera_stream.py +31 -0
  66. pymammotion/http/model/http.py +249 -0
  67. pymammotion/http/model/response_factory.py +61 -0
  68. pymammotion/http/model/rtk.py +16 -0
  69. pymammotion/mammotion/__init__.py +0 -0
  70. pymammotion/mammotion/commands/__init__.py +0 -0
  71. pymammotion/mammotion/commands/abstract_message.py +24 -0
  72. pymammotion/mammotion/commands/mammotion_command.py +81 -0
  73. pymammotion/mammotion/commands/messages/__init__.py +0 -0
  74. pymammotion/mammotion/commands/messages/basestation.py +43 -0
  75. pymammotion/mammotion/commands/messages/driver.py +122 -0
  76. pymammotion/mammotion/commands/messages/media.py +87 -0
  77. pymammotion/mammotion/commands/messages/navigation.py +564 -0
  78. pymammotion/mammotion/commands/messages/network.py +205 -0
  79. pymammotion/mammotion/commands/messages/ota.py +38 -0
  80. pymammotion/mammotion/commands/messages/system.py +330 -0
  81. pymammotion/mammotion/commands/messages/video.py +33 -0
  82. pymammotion/mammotion/control/__init__.py +0 -0
  83. pymammotion/mammotion/control/joystick.py +145 -0
  84. pymammotion/mammotion/devices/__init__.py +29 -0
  85. pymammotion/mammotion/devices/base.py +163 -0
  86. pymammotion/mammotion/devices/mammotion.py +571 -0
  87. pymammotion/mammotion/devices/mammotion_bluetooth.py +496 -0
  88. pymammotion/mammotion/devices/mammotion_cloud.py +355 -0
  89. pymammotion/mammotion/devices/mammotion_mower_ble.py +48 -0
  90. pymammotion/mammotion/devices/mammotion_mower_cloud.py +39 -0
  91. pymammotion/mammotion/devices/managers/managers.py +81 -0
  92. pymammotion/mammotion/devices/mower_device.py +120 -0
  93. pymammotion/mammotion/devices/mower_manager.py +107 -0
  94. pymammotion/mammotion/devices/rtk_ble.py +89 -0
  95. pymammotion/mammotion/devices/rtk_cloud.py +115 -0
  96. pymammotion/mammotion/devices/rtk_device.py +50 -0
  97. pymammotion/mammotion/devices/rtk_manager.py +125 -0
  98. pymammotion/mqtt/__init__.py +6 -0
  99. pymammotion/mqtt/aliyun_mqtt.py +237 -0
  100. pymammotion/mqtt/linkkit/__init__.py +5 -0
  101. pymammotion/mqtt/linkkit/h2client.py +585 -0
  102. pymammotion/mqtt/linkkit/linkkit.py +3025 -0
  103. pymammotion/mqtt/mammotion_future.py +26 -0
  104. pymammotion/mqtt/mammotion_mqtt.py +214 -0
  105. pymammotion/mqtt/mqtt_models.py +66 -0
  106. pymammotion/proto/__init__.py +4841 -0
  107. pymammotion/proto/basestation.proto +51 -0
  108. pymammotion/proto/basestation_pb2.py +35 -0
  109. pymammotion/proto/basestation_pb2.pyi +89 -0
  110. pymammotion/proto/common.proto +7 -0
  111. pymammotion/proto/common_pb2.py +25 -0
  112. pymammotion/proto/common_pb2.pyi +13 -0
  113. pymammotion/proto/dev_net.proto +321 -0
  114. pymammotion/proto/dev_net_pb2.py +111 -0
  115. pymammotion/proto/dev_net_pb2.pyi +515 -0
  116. pymammotion/proto/luba_msg.proto +76 -0
  117. pymammotion/proto/luba_msg_pb2.py +41 -0
  118. pymammotion/proto/luba_msg_pb2.pyi +97 -0
  119. pymammotion/proto/luba_mul.proto +129 -0
  120. pymammotion/proto/luba_mul_pb2.py +61 -0
  121. pymammotion/proto/luba_mul_pb2.pyi +178 -0
  122. pymammotion/proto/mctrl_driver.proto +107 -0
  123. pymammotion/proto/mctrl_driver_pb2.py +57 -0
  124. pymammotion/proto/mctrl_driver_pb2.pyi +167 -0
  125. pymammotion/proto/mctrl_nav.proto +591 -0
  126. pymammotion/proto/mctrl_nav_pb2.py +136 -0
  127. pymammotion/proto/mctrl_nav_pb2.pyi +1067 -0
  128. pymammotion/proto/mctrl_ota.proto +80 -0
  129. pymammotion/proto/mctrl_ota_pb2.py +45 -0
  130. pymammotion/proto/mctrl_ota_pb2.pyi +128 -0
  131. pymammotion/proto/mctrl_pept.proto +34 -0
  132. pymammotion/proto/mctrl_pept_pb2.py +33 -0
  133. pymammotion/proto/mctrl_pept_pb2.pyi +58 -0
  134. pymammotion/proto/mctrl_sys.proto +741 -0
  135. pymammotion/proto/mctrl_sys_pb2.py +206 -0
  136. pymammotion/proto/mctrl_sys_pb2.pyi +1213 -0
  137. pymammotion/proto/message_pool.py +3 -0
  138. pymammotion/proto/py.typed +0 -0
  139. pymammotion/py.typed +0 -0
  140. pymammotion/utility/constant/__init__.py +3 -0
  141. pymammotion/utility/constant/device_constant.py +315 -0
  142. pymammotion/utility/conversions.py +5 -0
  143. pymammotion/utility/datatype_converter.py +124 -0
  144. pymammotion/utility/device_config.py +755 -0
  145. pymammotion/utility/device_type.py +489 -0
  146. pymammotion/utility/map.py +259 -0
  147. pymammotion/utility/movement.py +18 -0
  148. pymammotion/utility/mur_mur_hash.py +159 -0
  149. pymammotion/utility/periodic.py +106 -0
  150. pymammotion/utility/rocker_util.py +194 -0
  151. pymammotion-0.5.69.dist-info/METADATA +93 -0
  152. pymammotion-0.5.69.dist-info/RECORD +154 -0
  153. pymammotion-0.5.69.dist-info/WHEEL +4 -0
  154. pymammotion-0.5.69.dist-info/licenses/LICENSE +674 -0
@@ -0,0 +1,80 @@
1
+ syntax = "proto3";
2
+
3
+ enum infoType {
4
+ IT_BASE = 0;
5
+ IT_OTA = 1;
6
+ }
7
+
8
+ message uplink_t {
9
+ int32 pkg_seq = 1;
10
+ int32 status = 2;
11
+ }
12
+
13
+ message downlink_t {
14
+ int32 fw_id = 1;
15
+ int32 pkg_seq = 2;
16
+ repeated int32 data = 3;
17
+ }
18
+
19
+ message fwDownloadCtrl {
20
+ oneof SubFwDownloadCtrl {
21
+ uplink_t uplink = 2;
22
+ downlink_t downlink = 3;
23
+ }
24
+ int32 cmd = 1;
25
+ }
26
+
27
+ message baseInfo {
28
+ string dev_version = 1;
29
+ int32 dev_status = 2;
30
+ int32 batt_val = 3;
31
+ int32 init_status = 4;
32
+ int32 is_tilt = 5;
33
+ }
34
+
35
+ message otaInfo {
36
+ string otaid = 1;
37
+ string version = 2;
38
+ int32 progress = 3;
39
+ int32 result = 4;
40
+ string message = 5;
41
+ }
42
+
43
+ message getInfoReq {
44
+ infoType type = 1;
45
+ }
46
+
47
+ message getInfoRsp {
48
+ oneof info {
49
+ baseInfo base = 3;
50
+ otaInfo ota = 4;
51
+ }
52
+ int32 result = 1;
53
+ infoType type = 2;
54
+ }
55
+
56
+ message FotaInfo_t {
57
+ int32 need_ota_num = 1;
58
+ int32 need_ota_img_size = 2;
59
+ int32 ota_otype = 3;
60
+ string ota_oid = 4;
61
+ string ota_version = 5;
62
+ }
63
+
64
+ message FotaSubInfo_t {
65
+ int32 sub_mod_ota_flag = 1;
66
+ int32 sub_mod_id = 2;
67
+ int32 sub_img_size = 3;
68
+ string sub_mod_version = 4;
69
+ string sub_img_url = 5;
70
+ }
71
+
72
+ message MctlOta {
73
+ oneof SubOtaMsg {
74
+ getInfoReq todev_get_info_req = 1;
75
+ getInfoRsp toapp_get_info_rsp = 2;
76
+ fwDownloadCtrl fw_download_ctrl = 3;
77
+ FotaInfo_t fota_info = 4;
78
+ FotaSubInfo_t fota_sub_info = 5;
79
+ }
80
+ }
@@ -0,0 +1,45 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: pymammotion/proto/mctrl_ota.proto
4
+ """Generated protocol buffer code."""
5
+ from google.protobuf.internal import builder as _builder
6
+ from google.protobuf import descriptor as _descriptor
7
+ from google.protobuf import descriptor_pool as _descriptor_pool
8
+ from google.protobuf import symbol_database as _symbol_database
9
+ # @@protoc_insertion_point(imports)
10
+
11
+ _sym_db = _symbol_database.Default()
12
+
13
+
14
+
15
+
16
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!pymammotion/proto/mctrl_ota.proto\"+\n\x08uplink_t\x12\x0f\n\x07pkg_seq\x18\x01 \x01(\x05\x12\x0e\n\x06status\x18\x02 \x01(\x05\":\n\ndownlink_t\x12\r\n\x05\x66w_id\x18\x01 \x01(\x05\x12\x0f\n\x07pkg_seq\x18\x02 \x01(\x05\x12\x0c\n\x04\x64\x61ta\x18\x03 \x03(\x05\"p\n\x0e\x66wDownloadCtrl\x12\x1b\n\x06uplink\x18\x02 \x01(\x0b\x32\t.uplink_tH\x00\x12\x1f\n\x08\x64ownlink\x18\x03 \x01(\x0b\x32\x0b.downlink_tH\x00\x12\x0b\n\x03\x63md\x18\x01 \x01(\x05\x42\x13\n\x11SubFwDownloadCtrl\"k\n\x08\x62\x61seInfo\x12\x13\n\x0b\x64\x65v_version\x18\x01 \x01(\t\x12\x12\n\ndev_status\x18\x02 \x01(\x05\x12\x10\n\x08\x62\x61tt_val\x18\x03 \x01(\x05\x12\x13\n\x0binit_status\x18\x04 \x01(\x05\x12\x0f\n\x07is_tilt\x18\x05 \x01(\x05\"\\\n\x07otaInfo\x12\r\n\x05otaid\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x10\n\x08progress\x18\x03 \x01(\x05\x12\x0e\n\x06result\x18\x04 \x01(\x05\x12\x0f\n\x07message\x18\x05 \x01(\t\"%\n\ngetInfoReq\x12\x17\n\x04type\x18\x01 \x01(\x0e\x32\t.infoType\"q\n\ngetInfoRsp\x12\x19\n\x04\x62\x61se\x18\x03 \x01(\x0b\x32\t.baseInfoH\x00\x12\x17\n\x03ota\x18\x04 \x01(\x0b\x32\x08.otaInfoH\x00\x12\x0e\n\x06result\x18\x01 \x01(\x05\x12\x17\n\x04type\x18\x02 \x01(\x0e\x32\t.infoTypeB\x06\n\x04info\"v\n\nFotaInfo_t\x12\x14\n\x0cneed_ota_num\x18\x01 \x01(\x05\x12\x19\n\x11need_ota_img_size\x18\x02 \x01(\x05\x12\x11\n\tota_otype\x18\x03 \x01(\x05\x12\x0f\n\x07ota_oid\x18\x04 \x01(\t\x12\x13\n\x0bota_version\x18\x05 \x01(\t\"\x81\x01\n\rFotaSubInfo_t\x12\x18\n\x10sub_mod_ota_flag\x18\x01 \x01(\x05\x12\x12\n\nsub_mod_id\x18\x02 \x01(\x05\x12\x14\n\x0csub_img_size\x18\x03 \x01(\x05\x12\x17\n\x0fsub_mod_version\x18\x04 \x01(\t\x12\x13\n\x0bsub_img_url\x18\x05 \x01(\t\"\xe4\x01\n\x07MctlOta\x12)\n\x12todev_get_info_req\x18\x01 \x01(\x0b\x32\x0b.getInfoReqH\x00\x12)\n\x12toapp_get_info_rsp\x18\x02 \x01(\x0b\x32\x0b.getInfoRspH\x00\x12+\n\x10\x66w_download_ctrl\x18\x03 \x01(\x0b\x32\x0f.fwDownloadCtrlH\x00\x12 \n\tfota_info\x18\x04 \x01(\x0b\x32\x0b.FotaInfo_tH\x00\x12\'\n\rfota_sub_info\x18\x05 \x01(\x0b\x32\x0e.FotaSubInfo_tH\x00\x42\x0b\n\tSubOtaMsg*#\n\x08infoType\x12\x0b\n\x07IT_BASE\x10\x00\x12\n\n\x06IT_OTA\x10\x01\x62\x06proto3')
17
+
18
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
19
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'pymammotion.proto.mctrl_ota_pb2', globals())
20
+ if _descriptor._USE_C_DESCRIPTORS == False:
21
+
22
+ DESCRIPTOR._options = None
23
+ _INFOTYPE._serialized_start=1096
24
+ _INFOTYPE._serialized_end=1131
25
+ _UPLINK_T._serialized_start=37
26
+ _UPLINK_T._serialized_end=80
27
+ _DOWNLINK_T._serialized_start=82
28
+ _DOWNLINK_T._serialized_end=140
29
+ _FWDOWNLOADCTRL._serialized_start=142
30
+ _FWDOWNLOADCTRL._serialized_end=254
31
+ _BASEINFO._serialized_start=256
32
+ _BASEINFO._serialized_end=363
33
+ _OTAINFO._serialized_start=365
34
+ _OTAINFO._serialized_end=457
35
+ _GETINFOREQ._serialized_start=459
36
+ _GETINFOREQ._serialized_end=496
37
+ _GETINFORSP._serialized_start=498
38
+ _GETINFORSP._serialized_end=611
39
+ _FOTAINFO_T._serialized_start=613
40
+ _FOTAINFO_T._serialized_end=731
41
+ _FOTASUBINFO_T._serialized_start=734
42
+ _FOTASUBINFO_T._serialized_end=863
43
+ _MCTLOTA._serialized_start=866
44
+ _MCTLOTA._serialized_end=1094
45
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,128 @@
1
+ from google.protobuf.internal import containers as _containers
2
+ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
3
+ from google.protobuf import descriptor as _descriptor
4
+ from google.protobuf import message as _message
5
+ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union
6
+
7
+ DESCRIPTOR: _descriptor.FileDescriptor
8
+ IT_BASE: infoType
9
+ IT_OTA: infoType
10
+
11
+ class FotaInfo_t(_message.Message):
12
+ __slots__ = ["need_ota_img_size", "need_ota_num", "ota_oid", "ota_otype", "ota_version"]
13
+ NEED_OTA_IMG_SIZE_FIELD_NUMBER: _ClassVar[int]
14
+ NEED_OTA_NUM_FIELD_NUMBER: _ClassVar[int]
15
+ OTA_OID_FIELD_NUMBER: _ClassVar[int]
16
+ OTA_OTYPE_FIELD_NUMBER: _ClassVar[int]
17
+ OTA_VERSION_FIELD_NUMBER: _ClassVar[int]
18
+ need_ota_img_size: int
19
+ need_ota_num: int
20
+ ota_oid: str
21
+ ota_otype: int
22
+ ota_version: str
23
+ def __init__(self, need_ota_num: _Optional[int] = ..., need_ota_img_size: _Optional[int] = ..., ota_otype: _Optional[int] = ..., ota_oid: _Optional[str] = ..., ota_version: _Optional[str] = ...) -> None: ...
24
+
25
+ class FotaSubInfo_t(_message.Message):
26
+ __slots__ = ["sub_img_size", "sub_img_url", "sub_mod_id", "sub_mod_ota_flag", "sub_mod_version"]
27
+ SUB_IMG_SIZE_FIELD_NUMBER: _ClassVar[int]
28
+ SUB_IMG_URL_FIELD_NUMBER: _ClassVar[int]
29
+ SUB_MOD_ID_FIELD_NUMBER: _ClassVar[int]
30
+ SUB_MOD_OTA_FLAG_FIELD_NUMBER: _ClassVar[int]
31
+ SUB_MOD_VERSION_FIELD_NUMBER: _ClassVar[int]
32
+ sub_img_size: int
33
+ sub_img_url: str
34
+ sub_mod_id: int
35
+ sub_mod_ota_flag: int
36
+ sub_mod_version: str
37
+ def __init__(self, sub_mod_ota_flag: _Optional[int] = ..., sub_mod_id: _Optional[int] = ..., sub_img_size: _Optional[int] = ..., sub_mod_version: _Optional[str] = ..., sub_img_url: _Optional[str] = ...) -> None: ...
38
+
39
+ class MctlOta(_message.Message):
40
+ __slots__ = ["fota_info", "fota_sub_info", "fw_download_ctrl", "toapp_get_info_rsp", "todev_get_info_req"]
41
+ FOTA_INFO_FIELD_NUMBER: _ClassVar[int]
42
+ FOTA_SUB_INFO_FIELD_NUMBER: _ClassVar[int]
43
+ FW_DOWNLOAD_CTRL_FIELD_NUMBER: _ClassVar[int]
44
+ TOAPP_GET_INFO_RSP_FIELD_NUMBER: _ClassVar[int]
45
+ TODEV_GET_INFO_REQ_FIELD_NUMBER: _ClassVar[int]
46
+ fota_info: FotaInfo_t
47
+ fota_sub_info: FotaSubInfo_t
48
+ fw_download_ctrl: fwDownloadCtrl
49
+ toapp_get_info_rsp: getInfoRsp
50
+ todev_get_info_req: getInfoReq
51
+ def __init__(self, todev_get_info_req: _Optional[_Union[getInfoReq, _Mapping]] = ..., toapp_get_info_rsp: _Optional[_Union[getInfoRsp, _Mapping]] = ..., fw_download_ctrl: _Optional[_Union[fwDownloadCtrl, _Mapping]] = ..., fota_info: _Optional[_Union[FotaInfo_t, _Mapping]] = ..., fota_sub_info: _Optional[_Union[FotaSubInfo_t, _Mapping]] = ...) -> None: ...
52
+
53
+ class baseInfo(_message.Message):
54
+ __slots__ = ["batt_val", "dev_status", "dev_version", "init_status", "is_tilt"]
55
+ BATT_VAL_FIELD_NUMBER: _ClassVar[int]
56
+ DEV_STATUS_FIELD_NUMBER: _ClassVar[int]
57
+ DEV_VERSION_FIELD_NUMBER: _ClassVar[int]
58
+ INIT_STATUS_FIELD_NUMBER: _ClassVar[int]
59
+ IS_TILT_FIELD_NUMBER: _ClassVar[int]
60
+ batt_val: int
61
+ dev_status: int
62
+ dev_version: str
63
+ init_status: int
64
+ is_tilt: int
65
+ def __init__(self, dev_version: _Optional[str] = ..., dev_status: _Optional[int] = ..., batt_val: _Optional[int] = ..., init_status: _Optional[int] = ..., is_tilt: _Optional[int] = ...) -> None: ...
66
+
67
+ class downlink_t(_message.Message):
68
+ __slots__ = ["data", "fw_id", "pkg_seq"]
69
+ DATA_FIELD_NUMBER: _ClassVar[int]
70
+ FW_ID_FIELD_NUMBER: _ClassVar[int]
71
+ PKG_SEQ_FIELD_NUMBER: _ClassVar[int]
72
+ data: _containers.RepeatedScalarFieldContainer[int]
73
+ fw_id: int
74
+ pkg_seq: int
75
+ def __init__(self, fw_id: _Optional[int] = ..., pkg_seq: _Optional[int] = ..., data: _Optional[_Iterable[int]] = ...) -> None: ...
76
+
77
+ class fwDownloadCtrl(_message.Message):
78
+ __slots__ = ["cmd", "downlink", "uplink"]
79
+ CMD_FIELD_NUMBER: _ClassVar[int]
80
+ DOWNLINK_FIELD_NUMBER: _ClassVar[int]
81
+ UPLINK_FIELD_NUMBER: _ClassVar[int]
82
+ cmd: int
83
+ downlink: downlink_t
84
+ uplink: uplink_t
85
+ def __init__(self, uplink: _Optional[_Union[uplink_t, _Mapping]] = ..., downlink: _Optional[_Union[downlink_t, _Mapping]] = ..., cmd: _Optional[int] = ...) -> None: ...
86
+
87
+ class getInfoReq(_message.Message):
88
+ __slots__ = ["type"]
89
+ TYPE_FIELD_NUMBER: _ClassVar[int]
90
+ type: infoType
91
+ def __init__(self, type: _Optional[_Union[infoType, str]] = ...) -> None: ...
92
+
93
+ class getInfoRsp(_message.Message):
94
+ __slots__ = ["base", "ota", "result", "type"]
95
+ BASE_FIELD_NUMBER: _ClassVar[int]
96
+ OTA_FIELD_NUMBER: _ClassVar[int]
97
+ RESULT_FIELD_NUMBER: _ClassVar[int]
98
+ TYPE_FIELD_NUMBER: _ClassVar[int]
99
+ base: baseInfo
100
+ ota: otaInfo
101
+ result: int
102
+ type: infoType
103
+ def __init__(self, base: _Optional[_Union[baseInfo, _Mapping]] = ..., ota: _Optional[_Union[otaInfo, _Mapping]] = ..., result: _Optional[int] = ..., type: _Optional[_Union[infoType, str]] = ...) -> None: ...
104
+
105
+ class otaInfo(_message.Message):
106
+ __slots__ = ["message", "otaid", "progress", "result", "version"]
107
+ MESSAGE_FIELD_NUMBER: _ClassVar[int]
108
+ OTAID_FIELD_NUMBER: _ClassVar[int]
109
+ PROGRESS_FIELD_NUMBER: _ClassVar[int]
110
+ RESULT_FIELD_NUMBER: _ClassVar[int]
111
+ VERSION_FIELD_NUMBER: _ClassVar[int]
112
+ message: str
113
+ otaid: str
114
+ progress: int
115
+ result: int
116
+ version: str
117
+ def __init__(self, otaid: _Optional[str] = ..., version: _Optional[str] = ..., progress: _Optional[int] = ..., result: _Optional[int] = ..., message: _Optional[str] = ...) -> None: ...
118
+
119
+ class uplink_t(_message.Message):
120
+ __slots__ = ["pkg_seq", "status"]
121
+ PKG_SEQ_FIELD_NUMBER: _ClassVar[int]
122
+ STATUS_FIELD_NUMBER: _ClassVar[int]
123
+ pkg_seq: int
124
+ status: int
125
+ def __init__(self, pkg_seq: _Optional[int] = ..., status: _Optional[int] = ...) -> None: ...
126
+
127
+ class infoType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
128
+ __slots__ = []
@@ -0,0 +1,34 @@
1
+ syntax = "proto3";
2
+
3
+ message perception_obstacles_t {
4
+ int32 label = 1;
5
+ int32 num = 2;
6
+ repeated sint32 points_x = 3;
7
+ repeated sint32 points_y = 4;
8
+ }
9
+
10
+ message perception_obstacles_visualization_t {
11
+ int32 status = 1;
12
+ int32 num = 2;
13
+ repeated perception_obstacles_t obstacles = 3;
14
+ double timestamp = 4;
15
+ float scale = 5;
16
+ }
17
+
18
+ message perception_universal_buff_t {
19
+ int32 perception_type = 1;
20
+ int32 perception_len = 2;
21
+ repeated int64 universal_buff = 3;
22
+ }
23
+
24
+ message perception_local_map_visualization_t {
25
+ bytes map = 1;
26
+ }
27
+
28
+ message MctlPept {
29
+ oneof SubPeptMsg {
30
+ perception_obstacles_visualization_t perception_obstacles_visualization = 1;
31
+ perception_universal_buff_t perception_universal_buff = 2;
32
+ perception_local_map_visualization_t perception_local_map_visualization = 3;
33
+ }
34
+ }
@@ -0,0 +1,33 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: pymammotion/proto/mctrl_pept.proto
4
+ """Generated protocol buffer code."""
5
+ from google.protobuf.internal import builder as _builder
6
+ from google.protobuf import descriptor as _descriptor
7
+ from google.protobuf import descriptor_pool as _descriptor_pool
8
+ from google.protobuf import symbol_database as _symbol_database
9
+ # @@protoc_insertion_point(imports)
10
+
11
+ _sym_db = _symbol_database.Default()
12
+
13
+
14
+
15
+
16
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"pymammotion/proto/mctrl_pept.proto\"X\n\x16perception_obstacles_t\x12\r\n\x05label\x18\x01 \x01(\x05\x12\x0b\n\x03num\x18\x02 \x01(\x05\x12\x10\n\x08points_x\x18\x03 \x03(\x11\x12\x10\n\x08points_y\x18\x04 \x03(\x11\"\x91\x01\n$perception_obstacles_visualization_t\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x0b\n\x03num\x18\x02 \x01(\x05\x12*\n\tobstacles\x18\x03 \x03(\x0b\x32\x17.perception_obstacles_t\x12\x11\n\ttimestamp\x18\x04 \x01(\x01\x12\r\n\x05scale\x18\x05 \x01(\x02\"f\n\x1bperception_universal_buff_t\x12\x17\n\x0fperception_type\x18\x01 \x01(\x05\x12\x16\n\x0eperception_len\x18\x02 \x01(\x05\x12\x16\n\x0euniversal_buff\x18\x03 \x03(\x03\"3\n$perception_local_map_visualization_t\x12\x0b\n\x03map\x18\x01 \x01(\x0c\"\x85\x02\n\x08MctlPept\x12S\n\"perception_obstacles_visualization\x18\x01 \x01(\x0b\x32%.perception_obstacles_visualization_tH\x00\x12\x41\n\x19perception_universal_buff\x18\x02 \x01(\x0b\x32\x1c.perception_universal_buff_tH\x00\x12S\n\"perception_local_map_visualization\x18\x03 \x01(\x0b\x32%.perception_local_map_visualization_tH\x00\x42\x0c\n\nSubPeptMsgb\x06proto3')
17
+
18
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
19
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'pymammotion.proto.mctrl_pept_pb2', globals())
20
+ if _descriptor._USE_C_DESCRIPTORS == False:
21
+
22
+ DESCRIPTOR._options = None
23
+ _PERCEPTION_OBSTACLES_T._serialized_start=38
24
+ _PERCEPTION_OBSTACLES_T._serialized_end=126
25
+ _PERCEPTION_OBSTACLES_VISUALIZATION_T._serialized_start=129
26
+ _PERCEPTION_OBSTACLES_VISUALIZATION_T._serialized_end=274
27
+ _PERCEPTION_UNIVERSAL_BUFF_T._serialized_start=276
28
+ _PERCEPTION_UNIVERSAL_BUFF_T._serialized_end=378
29
+ _PERCEPTION_LOCAL_MAP_VISUALIZATION_T._serialized_start=380
30
+ _PERCEPTION_LOCAL_MAP_VISUALIZATION_T._serialized_end=431
31
+ _MCTLPEPT._serialized_start=434
32
+ _MCTLPEPT._serialized_end=695
33
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,58 @@
1
+ from google.protobuf.internal import containers as _containers
2
+ from google.protobuf import descriptor as _descriptor
3
+ from google.protobuf import message as _message
4
+ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union
5
+
6
+ DESCRIPTOR: _descriptor.FileDescriptor
7
+
8
+ class MctlPept(_message.Message):
9
+ __slots__ = ["perception_local_map_visualization", "perception_obstacles_visualization", "perception_universal_buff"]
10
+ PERCEPTION_LOCAL_MAP_VISUALIZATION_FIELD_NUMBER: _ClassVar[int]
11
+ PERCEPTION_OBSTACLES_VISUALIZATION_FIELD_NUMBER: _ClassVar[int]
12
+ PERCEPTION_UNIVERSAL_BUFF_FIELD_NUMBER: _ClassVar[int]
13
+ perception_local_map_visualization: perception_local_map_visualization_t
14
+ perception_obstacles_visualization: perception_obstacles_visualization_t
15
+ perception_universal_buff: perception_universal_buff_t
16
+ def __init__(self, perception_obstacles_visualization: _Optional[_Union[perception_obstacles_visualization_t, _Mapping]] = ..., perception_universal_buff: _Optional[_Union[perception_universal_buff_t, _Mapping]] = ..., perception_local_map_visualization: _Optional[_Union[perception_local_map_visualization_t, _Mapping]] = ...) -> None: ...
17
+
18
+ class perception_local_map_visualization_t(_message.Message):
19
+ __slots__ = ["map"]
20
+ MAP_FIELD_NUMBER: _ClassVar[int]
21
+ map: bytes
22
+ def __init__(self, map: _Optional[bytes] = ...) -> None: ...
23
+
24
+ class perception_obstacles_t(_message.Message):
25
+ __slots__ = ["label", "num", "points_x", "points_y"]
26
+ LABEL_FIELD_NUMBER: _ClassVar[int]
27
+ NUM_FIELD_NUMBER: _ClassVar[int]
28
+ POINTS_X_FIELD_NUMBER: _ClassVar[int]
29
+ POINTS_Y_FIELD_NUMBER: _ClassVar[int]
30
+ label: int
31
+ num: int
32
+ points_x: _containers.RepeatedScalarFieldContainer[int]
33
+ points_y: _containers.RepeatedScalarFieldContainer[int]
34
+ def __init__(self, label: _Optional[int] = ..., num: _Optional[int] = ..., points_x: _Optional[_Iterable[int]] = ..., points_y: _Optional[_Iterable[int]] = ...) -> None: ...
35
+
36
+ class perception_obstacles_visualization_t(_message.Message):
37
+ __slots__ = ["num", "obstacles", "scale", "status", "timestamp"]
38
+ NUM_FIELD_NUMBER: _ClassVar[int]
39
+ OBSTACLES_FIELD_NUMBER: _ClassVar[int]
40
+ SCALE_FIELD_NUMBER: _ClassVar[int]
41
+ STATUS_FIELD_NUMBER: _ClassVar[int]
42
+ TIMESTAMP_FIELD_NUMBER: _ClassVar[int]
43
+ num: int
44
+ obstacles: _containers.RepeatedCompositeFieldContainer[perception_obstacles_t]
45
+ scale: float
46
+ status: int
47
+ timestamp: float
48
+ def __init__(self, status: _Optional[int] = ..., num: _Optional[int] = ..., obstacles: _Optional[_Iterable[_Union[perception_obstacles_t, _Mapping]]] = ..., timestamp: _Optional[float] = ..., scale: _Optional[float] = ...) -> None: ...
49
+
50
+ class perception_universal_buff_t(_message.Message):
51
+ __slots__ = ["perception_len", "perception_type", "universal_buff"]
52
+ PERCEPTION_LEN_FIELD_NUMBER: _ClassVar[int]
53
+ PERCEPTION_TYPE_FIELD_NUMBER: _ClassVar[int]
54
+ UNIVERSAL_BUFF_FIELD_NUMBER: _ClassVar[int]
55
+ perception_len: int
56
+ perception_type: int
57
+ universal_buff: _containers.RepeatedScalarFieldContainer[int]
58
+ def __init__(self, perception_type: _Optional[int] = ..., perception_len: _Optional[int] = ..., universal_buff: _Optional[_Iterable[int]] = ...) -> None: ...