pymammotion 0.4.41__tar.gz → 0.4.43__tar.gz

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 (131) hide show
  1. {pymammotion-0.4.41 → pymammotion-0.4.43}/PKG-INFO +1 -1
  2. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/mammotion/commands/messages/media.py +8 -2
  3. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/mammotion/devices/mammotion.py +1 -1
  4. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/proto/__init__.py +83 -45
  5. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/proto/dev_net_pb2.pyi +42 -4
  6. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/proto/luba_mul.proto +56 -1
  7. pymammotion-0.4.43/pymammotion/proto/luba_mul_pb2.py +59 -0
  8. pymammotion-0.4.43/pymammotion/proto/luba_mul_pb2.pyi +170 -0
  9. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/proto/mctrl_sys_pb2.pyi +54 -6
  10. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/utility/device_type.py +19 -0
  11. {pymammotion-0.4.41 → pymammotion-0.4.43}/pyproject.toml +2 -2
  12. pymammotion-0.4.41/pymammotion/proto/luba_mul_pb2.py +0 -45
  13. pymammotion-0.4.41/pymammotion/proto/luba_mul_pb2.pyi +0 -92
  14. {pymammotion-0.4.41 → pymammotion-0.4.43}/LICENSE +0 -0
  15. {pymammotion-0.4.41 → pymammotion-0.4.43}/README.md +0 -0
  16. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/__init__.py +0 -0
  17. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/aliyun/__init__.py +0 -0
  18. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/aliyun/client.py +0 -0
  19. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/aliyun/cloud_gateway.py +0 -0
  20. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/aliyun/model/aep_response.py +0 -0
  21. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/aliyun/model/connect_response.py +0 -0
  22. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/aliyun/model/dev_by_account_response.py +0 -0
  23. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/aliyun/model/login_by_oauth_response.py +0 -0
  24. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/aliyun/model/regions_response.py +0 -0
  25. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/aliyun/model/session_by_authcode_response.py +0 -0
  26. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/aliyun/regions.py +0 -0
  27. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/aliyun/tea/core.py +0 -0
  28. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/aliyun/tmp_constant.py +0 -0
  29. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/bluetooth/__init__.py +0 -0
  30. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/bluetooth/ble.py +0 -0
  31. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/bluetooth/ble_message.py +0 -0
  32. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/bluetooth/const.py +0 -0
  33. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/bluetooth/data/__init__.py +0 -0
  34. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/bluetooth/data/convert.py +0 -0
  35. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/bluetooth/data/framectrldata.py +0 -0
  36. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/bluetooth/data/notifydata.py +0 -0
  37. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/bluetooth/model/__init__.py +0 -0
  38. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/bluetooth/model/atomic_integer.py +0 -0
  39. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/const.py +0 -0
  40. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/data/__init__.py +0 -0
  41. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/data/model/__init__.py +0 -0
  42. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/data/model/account.py +0 -0
  43. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/data/model/device.py +0 -0
  44. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/data/model/device_config.py +0 -0
  45. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/data/model/device_info.py +0 -0
  46. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/data/model/device_limits.py +0 -0
  47. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/data/model/enums.py +0 -0
  48. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/data/model/excute_boarder_params.py +0 -0
  49. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/data/model/execute_boarder.py +0 -0
  50. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/data/model/generate_route_information.py +0 -0
  51. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/data/model/hash_list.py +0 -0
  52. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/data/model/location.py +0 -0
  53. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/data/model/mowing_modes.py +0 -0
  54. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/data/model/rapid_state.py +0 -0
  55. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/data/model/raw_data.py +0 -0
  56. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/data/model/region_data.py +0 -0
  57. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/data/model/report_info.py +0 -0
  58. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/data/model/work.py +0 -0
  59. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/data/mqtt/__init__.py +0 -0
  60. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/data/mqtt/event.py +0 -0
  61. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/data/mqtt/properties.py +0 -0
  62. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/data/mqtt/status.py +0 -0
  63. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/data/state_manager.py +0 -0
  64. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/event/__init__.py +0 -0
  65. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/event/event.py +0 -0
  66. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/http/__init__.py +0 -0
  67. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/http/_init_.py +0 -0
  68. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/http/encryption.py +0 -0
  69. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/http/http.py +0 -0
  70. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/http/model/__init__.py +0 -0
  71. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/http/model/camera_stream.py +0 -0
  72. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/http/model/http.py +0 -0
  73. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/mammotion/__init__.py +0 -0
  74. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/mammotion/commands/__init__.py +0 -0
  75. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/mammotion/commands/abstract_message.py +0 -0
  76. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/mammotion/commands/mammotion_command.py +0 -0
  77. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/mammotion/commands/messages/__init__.py +0 -0
  78. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/mammotion/commands/messages/driver.py +0 -0
  79. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/mammotion/commands/messages/navigation.py +0 -0
  80. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/mammotion/commands/messages/network.py +0 -0
  81. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/mammotion/commands/messages/ota.py +0 -0
  82. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/mammotion/commands/messages/system.py +0 -0
  83. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/mammotion/commands/messages/video.py +0 -0
  84. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/mammotion/control/__init__.py +0 -0
  85. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/mammotion/control/joystick.py +0 -0
  86. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/mammotion/devices/__init__.py +0 -0
  87. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/mammotion/devices/base.py +0 -0
  88. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/mammotion/devices/mammotion_bluetooth.py +0 -0
  89. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/mammotion/devices/mammotion_cloud.py +0 -0
  90. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/mqtt/__init__.py +0 -0
  91. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/mqtt/linkkit/__init__.py +0 -0
  92. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/mqtt/linkkit/h2client.py +0 -0
  93. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/mqtt/linkkit/linkkit.py +0 -0
  94. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/mqtt/mammotion_future.py +0 -0
  95. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/mqtt/mammotion_mqtt.py +0 -0
  96. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/proto/basestation.proto +0 -0
  97. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/proto/basestation_pb2.py +0 -0
  98. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/proto/basestation_pb2.pyi +0 -0
  99. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/proto/common.proto +0 -0
  100. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/proto/common_pb2.py +0 -0
  101. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/proto/common_pb2.pyi +0 -0
  102. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/proto/dev_net.proto +0 -0
  103. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/proto/dev_net_pb2.py +0 -0
  104. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/proto/luba_msg.proto +0 -0
  105. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/proto/luba_msg_pb2.py +0 -0
  106. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/proto/luba_msg_pb2.pyi +0 -0
  107. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/proto/mctrl_driver.proto +0 -0
  108. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/proto/mctrl_driver_pb2.py +0 -0
  109. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/proto/mctrl_driver_pb2.pyi +0 -0
  110. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/proto/mctrl_nav.proto +0 -0
  111. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/proto/mctrl_nav_pb2.py +0 -0
  112. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/proto/mctrl_nav_pb2.pyi +0 -0
  113. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/proto/mctrl_ota.proto +0 -0
  114. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/proto/mctrl_ota_pb2.py +0 -0
  115. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/proto/mctrl_ota_pb2.pyi +0 -0
  116. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/proto/mctrl_pept.proto +0 -0
  117. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/proto/mctrl_pept_pb2.py +0 -0
  118. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/proto/mctrl_pept_pb2.pyi +0 -0
  119. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/proto/mctrl_sys.proto +0 -0
  120. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/proto/mctrl_sys_pb2.py +0 -0
  121. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/py.typed +0 -0
  122. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/utility/constant/__init__.py +0 -0
  123. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/utility/constant/device_constant.py +0 -0
  124. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/utility/conversions.py +0 -0
  125. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/utility/datatype_converter.py +0 -0
  126. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/utility/device_config.py +0 -0
  127. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/utility/map.py +0 -0
  128. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/utility/movement.py +0 -0
  129. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/utility/mur_mur_hash.py +0 -0
  130. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/utility/periodic.py +0 -0
  131. {pymammotion-0.4.41 → pymammotion-0.4.43}/pymammotion/utility/rocker_util.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pymammotion
3
- Version: 0.4.41
3
+ Version: 0.4.43
4
4
  Summary:
5
5
  License: GPL-3.0
6
6
  Author: Michael Arthur
@@ -2,7 +2,8 @@
2
2
  from abc import ABC
3
3
 
4
4
  from pymammotion.mammotion.commands.abstract_message import AbstractMessage
5
- from pymammotion.proto import LubaMsg, MsgAttr, MsgCmdType, MsgDevice, MulLanguage, MulSetAudio, MulSetWiper, SocMul
5
+ from pymammotion.proto import (LubaMsg, MsgAttr, MsgCmdType, MsgDevice, MulSetAudio, MulSetWiper, SocMul,
6
+ MUL_SEX, MUL_LANGUAGE)
6
7
 
7
8
 
8
9
  class MessageMedia(AbstractMessage, ABC):
@@ -24,10 +25,15 @@ class MessageMedia(AbstractMessage, ABC):
24
25
  """Set the car volume. 0 - 100"""
25
26
  return self.send_order_msg_media(SocMul(set_audio=MulSetAudio(at_switch=volume)))
26
27
 
27
- def set_car_voice_language(self, language_type: MulLanguage | str | None):
28
+ def set_car_voice_language(self, language_type: MUL_LANGUAGE | str | None):
28
29
  return self.send_order_msg_media(SocMul(set_audio=MulSetAudio(au_language=language_type)))
29
30
 
31
+ def set_car_volume_sex(self, sex: MUL_SEX):
32
+ return self.send_order_msg_media(SocMul(set_audio=MulSetAudio(sex=sex)))
33
+
30
34
  def set_car_wiper(self, round_num: int):
31
35
  """Set mower wiper."""
32
36
  # 2
33
37
  return self.send_order_msg_media(SocMul(set_wiper=MulSetWiper(round=round_num)))
38
+
39
+ # TODO add lamp methods
@@ -301,7 +301,7 @@ class Mammotion:
301
301
  device = self.get_device_by_name(name)
302
302
  if DeviceType.is_mini_or_x_series(name):
303
303
  _stream_response = await device.mammotion_http.get_stream_subscription_mini_or_x_series(
304
- iot_id, DeviceType.is_yuka(name)
304
+ iot_id, DeviceType.is_yuka(name) and not DeviceType.is_yuka_mini(name)
305
305
  )
306
306
  _LOGGER.debug(_stream_response)
307
307
  return _stream_response
@@ -169,23 +169,31 @@ class InfoType(betterproto.Enum):
169
169
  IT_OTA = 1
170
170
 
171
171
 
172
-
173
- class MulLanguage(betterproto.Enum):
172
+ class MUL_LANGUAGE(betterproto.Enum):
174
173
  ENGLISH = 0
175
174
  GERMAN = 1
176
- UNRECOGNIZED = -1
175
+ FRENCH = 2
176
+ ITALIAN = 3
177
+ SPANISH = 4
178
+ PORTUGUESE = 5
179
+ DUTCH = 6
180
+ NONE_LAN = 7
181
+
177
182
 
183
+ class MUL_SEX(betterproto.Enum):
184
+ MAN = 0
185
+ WOMAN = 1
186
+ NONE_SEX = 2
178
187
 
179
188
 
180
- class MulCameraPosition(betterproto.Enum):
189
+ class MUL_CAMERA_POSITION(betterproto.Enum):
181
190
  LEFT = 0
182
191
  RIGHT = 1
183
192
  REAR = 2
184
193
  ALL = 3
185
194
 
186
195
 
187
-
188
- class MulVideoErrorCode(betterproto.Enum):
196
+ class MUL_VIDEO_ERROR_CODE(betterproto.Enum):
189
197
  SUCCESS = 0
190
198
  ACTIVATION_FAILED = 1
191
199
  NETWORK_NOT_AVAILABLE = 2
@@ -194,13 +202,24 @@ class MulVideoErrorCode(betterproto.Enum):
194
202
  CELLULAR_RESTRICTION = 5
195
203
 
196
204
 
197
-
198
- class MulWiperErrorCode(betterproto.Enum):
205
+ class MUL_WIPER_ERROR_CODE(betterproto.Enum):
199
206
  SET_SUCCESS = 0
200
207
  HW_ERROR = 1
201
208
  NAVIGATION_WORK_FORBID = 2
202
209
 
203
210
 
211
+ class LampCtrlSta(betterproto.Enum):
212
+ power_off = 0
213
+ power_on = 1
214
+ power_ctrl_on = 2
215
+
216
+
217
+ class LampManualCtrlSta(betterproto.Enum):
218
+ manual_power_off = 0
219
+ manual_power_on = 1
220
+
221
+
222
+
204
223
 
205
224
  class MsgCmdType(betterproto.Enum):
206
225
  START = 0
@@ -2049,65 +2068,84 @@ class MctlOta(betterproto.Message):
2049
2068
  )
2050
2069
 
2051
2070
 
2052
-
2053
- @dataclass(eq=False, repr=False)
2071
+ @dataclass
2054
2072
  class MulSetAudio(betterproto.Message):
2055
- at_switch: int = betterproto.int32_field(
2056
- 1, group="AudioCfg_u"
2057
- )
2058
- au_language: "MulLanguage" = betterproto.enum_field(
2059
- 2, group="AudioCfg_u"
2060
- )
2073
+ at_switch: int = betterproto.int32_field(1, group="AudioCfg_u")
2074
+ au_language: "MUL_LANGUAGE" = betterproto.enum_field(2, group="AudioCfg_u")
2075
+ sex: "MUL_SEX" = betterproto.enum_field(3, group="AudioCfg_u")
2061
2076
 
2062
2077
 
2063
-
2064
- @dataclass(eq=False, repr=False)
2078
+ @dataclass
2065
2079
  class MulSetVideo(betterproto.Message):
2066
- position: "MulCameraPosition" = betterproto.enum_field(1)
2080
+ position: "MUL_CAMERA_POSITION" = betterproto.enum_field(1)
2067
2081
  vi_switch: int = betterproto.int32_field(2)
2068
2082
 
2069
2083
 
2070
- @dataclass(eq=False, repr=False)
2084
+ @dataclass
2071
2085
  class MulSetVideoAck(betterproto.Message):
2072
- error_code: "MulVideoErrorCode" = betterproto.enum_field(1)
2086
+ error_code: "MUL_VIDEO_ERROR_CODE" = betterproto.enum_field(1)
2073
2087
 
2074
2088
 
2075
- @dataclass(eq=False, repr=False)
2089
+ @dataclass
2076
2090
  class MulAudioCfg(betterproto.Message):
2077
2091
  au_switch: int = betterproto.int32_field(1)
2078
- au_language: "MulLanguage" = betterproto.enum_field(2)
2092
+ au_language: "MUL_LANGUAGE" = betterproto.enum_field(2)
2093
+ sex: "MUL_SEX" = betterproto.enum_field(3)
2079
2094
 
2080
2095
 
2081
- @dataclass(eq=False, repr=False)
2096
+ @dataclass
2082
2097
  class MulSetWiper(betterproto.Message):
2083
2098
  round: int = betterproto.int32_field(1)
2084
2099
 
2085
2100
 
2086
- @dataclass(eq=False, repr=False)
2101
+ @dataclass
2102
+ class GetHeadlamp(betterproto.Message):
2103
+ get_ids: int = betterproto.int32_field(1)
2104
+
2105
+
2106
+ @dataclass
2107
+ class SetHeadlamp(betterproto.Message):
2108
+ set_ids: int = betterproto.int32_field(1)
2109
+ lamp_power_ctrl: int = betterproto.int32_field(2)
2110
+ lamp_ctrl: "LampCtrlSta" = betterproto.enum_field(3)
2111
+ ctrl_lamp_bright: bool = betterproto.bool_field(4)
2112
+ lamp_bright: int = betterproto.int32_field(5)
2113
+ lamp_manual_ctrl: "LampManualCtrlSta" = betterproto.enum_field(6)
2114
+
2115
+
2116
+ @dataclass
2117
+ class Setlamprsp(betterproto.Message):
2118
+ set_ids: int = betterproto.int32_field(1)
2119
+ result: int = betterproto.int32_field(2)
2120
+
2121
+
2122
+ @dataclass
2123
+ class Getlamprsp(betterproto.Message):
2124
+ get_ids: int = betterproto.int32_field(1)
2125
+ result: int = betterproto.int32_field(2)
2126
+ lamp_ctrl: "LampCtrlSta" = betterproto.enum_field(3)
2127
+ lamp_bright: int = betterproto.int32_field(4)
2128
+ lamp_manual_ctrl: "LampManualCtrlSta" = betterproto.enum_field(5)
2129
+
2130
+
2131
+ @dataclass
2087
2132
  class MulSetWiperAck(betterproto.Message):
2088
- error_code: "MulWiperErrorCode" = betterproto.enum_field(1)
2133
+ error_code: "MUL_WIPER_ERROR_CODE" = betterproto.enum_field(1)
2089
2134
 
2090
2135
 
2091
- @dataclass(eq=False, repr=False)
2136
+ @dataclass
2092
2137
  class SocMul(betterproto.Message):
2093
- set_audio: "MulSetAudio" = betterproto.message_field(
2094
- 1, group="SubMul"
2095
- )
2096
- audio_cfg: "MulAudioCfg" = betterproto.message_field(
2097
- 2, group="SubMul"
2098
- )
2099
- set_video: "MulSetVideo" = betterproto.message_field(
2100
- 3, group="SubMul"
2101
- )
2102
- set_video_ack: "MulSetVideoAck" = betterproto.message_field(
2103
- 4, group="SubMul"
2104
- )
2105
- set_wiper: "MulSetWiper" = betterproto.message_field(
2106
- 5, group="SubMul"
2107
- )
2108
- set_wiper_ack: "MulSetWiperAck" = betterproto.message_field(
2109
- 6, group="SubMul"
2110
- )
2138
+ set_audio: "MulSetAudio" = betterproto.message_field(1, group="SubMul")
2139
+ audio_cfg: "MulAudioCfg" = betterproto.message_field(2, group="SubMul")
2140
+ set_video: "MulSetVideo" = betterproto.message_field(3, group="SubMul")
2141
+ set_video_ack: "MulSetVideoAck" = betterproto.message_field(4, group="SubMul")
2142
+ set_wiper: "MulSetWiper" = betterproto.message_field(5, group="SubMul")
2143
+ set_wiper_ack: "MulSetWiperAck" = betterproto.message_field(6, group="SubMul")
2144
+ get_lamp: "GetHeadlamp" = betterproto.message_field(7, group="SubMul")
2145
+ set_lamp: "SetHeadlamp" = betterproto.message_field(8, group="SubMul")
2146
+ set_lamp_rsp: "Setlamprsp" = betterproto.message_field(9, group="SubMul")
2147
+ get_lamp_rsp: "Getlamprsp" = betterproto.message_field(10, group="SubMul")
2148
+
2111
2149
 
2112
2150
 
2113
2151
 
@@ -37,6 +37,38 @@ SIM_NO_CARD: sim_card_sta
37
37
  SIM_OK: sim_card_sta
38
38
  set_enable: WifiConfType
39
39
 
40
+ class BleLogUploadUpdateProgress(_message.Message):
41
+ __slots__ = ["bizId", "fIdx", "fNum", "fPath", "fSize", "prog", "speed", "status", "subProg", "ver"]
42
+ BIZID_FIELD_NUMBER: _ClassVar[int]
43
+ FIDX_FIELD_NUMBER: _ClassVar[int]
44
+ FNUM_FIELD_NUMBER: _ClassVar[int]
45
+ FPATH_FIELD_NUMBER: _ClassVar[int]
46
+ FSIZE_FIELD_NUMBER: _ClassVar[int]
47
+ PROG_FIELD_NUMBER: _ClassVar[int]
48
+ SPEED_FIELD_NUMBER: _ClassVar[int]
49
+ STATUS_FIELD_NUMBER: _ClassVar[int]
50
+ SUBPROG_FIELD_NUMBER: _ClassVar[int]
51
+ VER_FIELD_NUMBER: _ClassVar[int]
52
+ bizId: str
53
+ fIdx: int
54
+ fNum: int
55
+ fPath: str
56
+ fSize: int
57
+ prog: int
58
+ speed: int
59
+ status: int
60
+ subProg: int
61
+ ver: int
62
+ def __init__(self, ver: _Optional[int] = ..., status: _Optional[int] = ..., bizId: _Optional[str] = ..., prog: _Optional[int] = ..., subProg: _Optional[int] = ..., fNum: _Optional[int] = ..., speed: _Optional[int] = ..., fIdx: _Optional[int] = ..., fPath: _Optional[str] = ..., fSize: _Optional[int] = ...) -> None: ...
63
+
64
+ class BleSignatureReq(_message.Message):
65
+ __slots__ = ["random_data", "signature_data"]
66
+ RANDOM_DATA_FIELD_NUMBER: _ClassVar[int]
67
+ SIGNATURE_DATA_FIELD_NUMBER: _ClassVar[int]
68
+ random_data: str
69
+ signature_data: str
70
+ def __init__(self, signature_data: _Optional[str] = ..., random_data: _Optional[str] = ...) -> None: ...
71
+
40
72
  class BleTestBytes(_message.Message):
41
73
  __slots__ = ["data", "seqs"]
42
74
  DATA_FIELD_NUMBER: _ClassVar[int]
@@ -46,11 +78,12 @@ class BleTestBytes(_message.Message):
46
78
  def __init__(self, seqs: _Optional[int] = ..., data: _Optional[_Iterable[int]] = ...) -> None: ...
47
79
 
48
80
  class DevNet(_message.Message):
49
- __slots__ = ["bir_testdata", "toapp_ListUpload", "toapp_WifiConf", "toapp_WifiMsg", "toapp_devinfo_resp", "toapp_get_mnet_cfg_rsp", "toapp_mnet_info_rsp", "toapp_networkinfo_rsp", "toapp_set_mnet_cfg_rsp", "toapp_upgrade_report", "toapp_uploadfile_rsp", "toapp_wifi_iot_status", "todev_ConfType", "todev_WifiListUpload", "todev_WifiMsgUpload", "todev_Wifi_Configuration", "todev_ble_sync", "todev_devinfo_req", "todev_get_mnet_cfg_req", "todev_log_data_cancel", "todev_mnet_info_req", "todev_networkinfo_req", "todev_req_log_info", "todev_set_ble_mtu", "todev_set_dds2zmq", "todev_set_iot_offline_req", "todev_set_mnet_cfg_req", "todev_uploadfile_req"]
81
+ __slots__ = ["bir_testdata", "toapp_ListUpload", "toapp_WifiConf", "toapp_WifiMsg", "toapp_devinfo_resp", "toapp_get_mnet_cfg_rsp", "toapp_log_upload_update_progress", "toapp_mnet_info_rsp", "toapp_networkinfo_rsp", "toapp_set_mnet_cfg_rsp", "toapp_upgrade_report", "toapp_uploadfile_rsp", "toapp_wifi_iot_status", "todev_ConfType", "todev_WifiListUpload", "todev_WifiMsgUpload", "todev_Wifi_Configuration", "todev_ble_sync", "todev_devinfo_req", "todev_get_mnet_cfg_req", "todev_log_data_cancel", "todev_mnet_info_req", "todev_networkinfo_req", "todev_req_log_info", "todev_set_ble_mtu", "todev_set_dds2zmq", "todev_set_iot_offline_req", "todev_set_mnet_cfg_req", "todev_uploadfile_req", "todev_verify_signature_req"]
50
82
  BIR_TESTDATA_FIELD_NUMBER: _ClassVar[int]
51
83
  TOAPP_DEVINFO_RESP_FIELD_NUMBER: _ClassVar[int]
52
84
  TOAPP_GET_MNET_CFG_RSP_FIELD_NUMBER: _ClassVar[int]
53
85
  TOAPP_LISTUPLOAD_FIELD_NUMBER: _ClassVar[int]
86
+ TOAPP_LOG_UPLOAD_UPDATE_PROGRESS_FIELD_NUMBER: _ClassVar[int]
54
87
  TOAPP_MNET_INFO_RSP_FIELD_NUMBER: _ClassVar[int]
55
88
  TOAPP_NETWORKINFO_RSP_FIELD_NUMBER: _ClassVar[int]
56
89
  TOAPP_SET_MNET_CFG_RSP_FIELD_NUMBER: _ClassVar[int]
@@ -72,6 +105,7 @@ class DevNet(_message.Message):
72
105
  TODEV_SET_IOT_OFFLINE_REQ_FIELD_NUMBER: _ClassVar[int]
73
106
  TODEV_SET_MNET_CFG_REQ_FIELD_NUMBER: _ClassVar[int]
74
107
  TODEV_UPLOADFILE_REQ_FIELD_NUMBER: _ClassVar[int]
108
+ TODEV_VERIFY_SIGNATURE_REQ_FIELD_NUMBER: _ClassVar[int]
75
109
  TODEV_WIFILISTUPLOAD_FIELD_NUMBER: _ClassVar[int]
76
110
  TODEV_WIFIMSGUPLOAD_FIELD_NUMBER: _ClassVar[int]
77
111
  TODEV_WIFI_CONFIGURATION_FIELD_NUMBER: _ClassVar[int]
@@ -81,6 +115,7 @@ class DevNet(_message.Message):
81
115
  toapp_WifiMsg: DrvWifiMsg
82
116
  toapp_devinfo_resp: DrvDevInfoResp
83
117
  toapp_get_mnet_cfg_rsp: GetMnetCfgRsp
118
+ toapp_log_upload_update_progress: BleLogUploadUpdateProgress
84
119
  toapp_mnet_info_rsp: GetMnetInfoRsp
85
120
  toapp_networkinfo_rsp: GetNetworkInfoRsp
86
121
  toapp_set_mnet_cfg_rsp: SetMnetCfgRsp
@@ -103,7 +138,8 @@ class DevNet(_message.Message):
103
138
  todev_set_iot_offline_req: iot_conctrl_type
104
139
  todev_set_mnet_cfg_req: SetMnetCfgReq
105
140
  todev_uploadfile_req: DrvUploadFileToAppReq
106
- def __init__(self, todev_ble_sync: _Optional[int] = ..., todev_ConfType: _Optional[_Union[WifiConfType, str]] = ..., todev_WifiMsgUpload: _Optional[_Union[DrvWifiUpload, _Mapping]] = ..., todev_WifiListUpload: _Optional[_Union[DrvWifiList, _Mapping]] = ..., todev_Wifi_Configuration: _Optional[_Union[DrvWifiSet, _Mapping]] = ..., toapp_WifiMsg: _Optional[_Union[DrvWifiMsg, _Mapping]] = ..., toapp_WifiConf: _Optional[_Union[DrvWifiConf, _Mapping]] = ..., toapp_ListUpload: _Optional[_Union[DrvListUpload, _Mapping]] = ..., todev_req_log_info: _Optional[_Union[DrvUploadFileReq, _Mapping]] = ..., todev_log_data_cancel: _Optional[_Union[DrvUploadFileCancel, _Mapping]] = ..., todev_devinfo_req: _Optional[_Union[DrvDevInfoReq, _Mapping]] = ..., toapp_devinfo_resp: _Optional[_Union[DrvDevInfoResp, _Mapping]] = ..., toapp_upgrade_report: _Optional[_Union[DrvUpgradeReport, _Mapping]] = ..., toapp_wifi_iot_status: _Optional[_Union[WifiIotStatusReport, _Mapping]] = ..., todev_uploadfile_req: _Optional[_Union[DrvUploadFileToAppReq, _Mapping]] = ..., toapp_uploadfile_rsp: _Optional[_Union[DrvUploadFileToAppRsp, _Mapping]] = ..., todev_networkinfo_req: _Optional[_Union[GetNetworkInfoReq, _Mapping]] = ..., toapp_networkinfo_rsp: _Optional[_Union[GetNetworkInfoRsp, _Mapping]] = ..., bir_testdata: _Optional[_Union[BleTestBytes, _Mapping]] = ..., todev_mnet_info_req: _Optional[_Union[GetMnetInfoReq, _Mapping]] = ..., toapp_mnet_info_rsp: _Optional[_Union[GetMnetInfoRsp, _Mapping]] = ..., todev_get_mnet_cfg_req: _Optional[_Union[GetMnetCfgReq, _Mapping]] = ..., toapp_get_mnet_cfg_rsp: _Optional[_Union[GetMnetCfgRsp, _Mapping]] = ..., todev_set_mnet_cfg_req: _Optional[_Union[SetMnetCfgReq, _Mapping]] = ..., toapp_set_mnet_cfg_rsp: _Optional[_Union[SetMnetCfgRsp, _Mapping]] = ..., todev_set_dds2zmq: _Optional[_Union[DrvDebugDdsZmq, _Mapping]] = ..., todev_set_ble_mtu: _Optional[_Union[SetDrvBleMTU, _Mapping]] = ..., todev_set_iot_offline_req: _Optional[_Union[iot_conctrl_type, str]] = ...) -> None: ...
141
+ todev_verify_signature_req: BleSignatureReq
142
+ def __init__(self, todev_ble_sync: _Optional[int] = ..., todev_ConfType: _Optional[_Union[WifiConfType, str]] = ..., todev_WifiMsgUpload: _Optional[_Union[DrvWifiUpload, _Mapping]] = ..., todev_WifiListUpload: _Optional[_Union[DrvWifiList, _Mapping]] = ..., todev_Wifi_Configuration: _Optional[_Union[DrvWifiSet, _Mapping]] = ..., toapp_WifiMsg: _Optional[_Union[DrvWifiMsg, _Mapping]] = ..., toapp_WifiConf: _Optional[_Union[DrvWifiConf, _Mapping]] = ..., toapp_ListUpload: _Optional[_Union[DrvListUpload, _Mapping]] = ..., todev_req_log_info: _Optional[_Union[DrvUploadFileReq, _Mapping]] = ..., todev_log_data_cancel: _Optional[_Union[DrvUploadFileCancel, _Mapping]] = ..., todev_devinfo_req: _Optional[_Union[DrvDevInfoReq, _Mapping]] = ..., toapp_devinfo_resp: _Optional[_Union[DrvDevInfoResp, _Mapping]] = ..., toapp_upgrade_report: _Optional[_Union[DrvUpgradeReport, _Mapping]] = ..., toapp_wifi_iot_status: _Optional[_Union[WifiIotStatusReport, _Mapping]] = ..., todev_uploadfile_req: _Optional[_Union[DrvUploadFileToAppReq, _Mapping]] = ..., toapp_uploadfile_rsp: _Optional[_Union[DrvUploadFileToAppRsp, _Mapping]] = ..., todev_networkinfo_req: _Optional[_Union[GetNetworkInfoReq, _Mapping]] = ..., toapp_networkinfo_rsp: _Optional[_Union[GetNetworkInfoRsp, _Mapping]] = ..., bir_testdata: _Optional[_Union[BleTestBytes, _Mapping]] = ..., todev_mnet_info_req: _Optional[_Union[GetMnetInfoReq, _Mapping]] = ..., toapp_mnet_info_rsp: _Optional[_Union[GetMnetInfoRsp, _Mapping]] = ..., todev_get_mnet_cfg_req: _Optional[_Union[GetMnetCfgReq, _Mapping]] = ..., toapp_get_mnet_cfg_rsp: _Optional[_Union[GetMnetCfgRsp, _Mapping]] = ..., todev_set_mnet_cfg_req: _Optional[_Union[SetMnetCfgReq, _Mapping]] = ..., toapp_set_mnet_cfg_rsp: _Optional[_Union[SetMnetCfgRsp, _Mapping]] = ..., todev_set_dds2zmq: _Optional[_Union[DrvDebugDdsZmq, _Mapping]] = ..., todev_set_ble_mtu: _Optional[_Union[SetDrvBleMTU, _Mapping]] = ..., todev_set_iot_offline_req: _Optional[_Union[iot_conctrl_type, str]] = ..., todev_verify_signature_req: _Optional[_Union[BleSignatureReq, _Mapping]] = ..., toapp_log_upload_update_progress: _Optional[_Union[BleLogUploadUpdateProgress, _Mapping]] = ...) -> None: ...
107
143
 
108
144
  class DrvDebugDdsZmq(_message.Message):
109
145
  __slots__ = ["is_enable", "rx_topic_name", "tx_zmq_url"]
@@ -382,7 +418,8 @@ class MnetCfg(_message.Message):
382
418
  def __init__(self, mnet_enable: bool = ..., inet_enable: bool = ..., type: _Optional[_Union[net_type, str]] = ..., apn: _Optional[_Union[MnetApnSetCfg, _Mapping]] = ..., auto_select: bool = ...) -> None: ...
383
419
 
384
420
  class MnetInfo(_message.Message):
385
- __slots__ = ["imei", "imsi", "inet", "link_type", "model", "revision", "rssi", "sim"]
421
+ __slots__ = ["iccid", "imei", "imsi", "inet", "link_type", "model", "revision", "rssi", "sim"]
422
+ ICCID_FIELD_NUMBER: _ClassVar[int]
386
423
  IMEI_FIELD_NUMBER: _ClassVar[int]
387
424
  IMSI_FIELD_NUMBER: _ClassVar[int]
388
425
  INET_FIELD_NUMBER: _ClassVar[int]
@@ -391,6 +428,7 @@ class MnetInfo(_message.Message):
391
428
  REVISION_FIELD_NUMBER: _ClassVar[int]
392
429
  RSSI_FIELD_NUMBER: _ClassVar[int]
393
430
  SIM_FIELD_NUMBER: _ClassVar[int]
431
+ iccid: str
394
432
  imei: str
395
433
  imsi: str
396
434
  inet: mnet_inet_status
@@ -399,7 +437,7 @@ class MnetInfo(_message.Message):
399
437
  revision: str
400
438
  rssi: int
401
439
  sim: sim_card_sta
402
- def __init__(self, model: _Optional[str] = ..., revision: _Optional[str] = ..., imei: _Optional[str] = ..., sim: _Optional[_Union[sim_card_sta, str]] = ..., imsi: _Optional[str] = ..., link_type: _Optional[_Union[mnet_link_type, str]] = ..., rssi: _Optional[int] = ..., inet: _Optional[_Union[mnet_inet_status, _Mapping]] = ...) -> None: ...
440
+ def __init__(self, model: _Optional[str] = ..., revision: _Optional[str] = ..., imei: _Optional[str] = ..., sim: _Optional[_Union[sim_card_sta, str]] = ..., imsi: _Optional[str] = ..., link_type: _Optional[_Union[mnet_link_type, str]] = ..., rssi: _Optional[int] = ..., inet: _Optional[_Union[mnet_inet_status, _Mapping]] = ..., iccid: _Optional[str] = ...) -> None: ...
403
441
 
404
442
  class SetDrvBleMTU(_message.Message):
405
443
  __slots__ = ["mtu_count"]
@@ -3,7 +3,18 @@ syntax = "proto3";
3
3
  enum MUL_LANGUAGE {
4
4
  ENGLISH = 0;
5
5
  GERMAN = 1;
6
- UNRECOGNIZED = -1;
6
+ FRENCH = 2;
7
+ ITALIAN = 3;
8
+ SPANISH = 4;
9
+ PORTUGUESE = 5;
10
+ DUTCH = 6;
11
+ NONE_LAN = 7;
12
+ }
13
+
14
+ enum MUL_SEX {
15
+ MAN = 0;
16
+ WOMAN = 1;
17
+ NONE_SEX = 2;
7
18
  }
8
19
 
9
20
  enum MUL_CAMERA_POSITION {
@@ -28,10 +39,22 @@ enum MUL_WIPER_ERROR_CODE {
28
39
  NAVIGATION_WORK_FORBID = 2;
29
40
  }
30
41
 
42
+ enum lamp_ctrl_sta {
43
+ power_off = 0;
44
+ power_on = 1;
45
+ power_ctrl_on = 2;
46
+ }
47
+
48
+ enum lamp_manual_ctrl_sta {
49
+ manual_power_off = 0;
50
+ manual_power_on = 1;
51
+ }
52
+
31
53
  message MulSetAudio {
32
54
  oneof AudioCfg_u {
33
55
  int32 at_switch = 1;
34
56
  MUL_LANGUAGE au_language = 2;
57
+ MUL_SEX sex = 3;
35
58
  }
36
59
  }
37
60
 
@@ -47,12 +70,40 @@ message MulSetVideoAck {
47
70
  message MulAudioCfg {
48
71
  int32 au_switch = 1;
49
72
  MUL_LANGUAGE au_language = 2;
73
+ MUL_SEX sex = 3;
50
74
  }
51
75
 
52
76
  message MulSetWiper {
53
77
  int32 round = 1;
54
78
  }
55
79
 
80
+ message GetHeadlamp {
81
+ int32 get_ids = 1;
82
+ }
83
+
84
+
85
+ message SetHeadlamp {
86
+ int32 set_ids = 1;
87
+ int32 lamp_power_ctrl = 2;
88
+ lamp_ctrl_sta lamp_ctrl = 3;
89
+ bool ctrl_lamp_bright = 4;
90
+ int32 lamp_bright = 5;
91
+ lamp_manual_ctrl_sta lamp_manual_ctrl = 6;
92
+ }
93
+
94
+ message Setlamprsp {
95
+ int32 set_ids = 1;
96
+ int32 result = 2;
97
+ }
98
+
99
+ message Getlamprsp {
100
+ int32 get_ids = 1;
101
+ int32 result = 2;
102
+ lamp_ctrl_sta lamp_ctrl = 3;
103
+ int32 lamp_bright = 4;
104
+ lamp_manual_ctrl_sta lamp_manual_ctrl = 5;
105
+ }
106
+
56
107
  message MulSetWiperAck {
57
108
  MUL_WIPER_ERROR_CODE error_code = 1;
58
109
  }
@@ -65,5 +116,9 @@ message SocMul {
65
116
  MulSetVideoAck set_video_ack = 4;
66
117
  MulSetWiper set_wiper = 5;
67
118
  MulSetWiperAck set_wiper_ack = 6;
119
+ GetHeadlamp get_lamp = 7;
120
+ SetHeadlamp set_lamp = 8;
121
+ Setlamprsp set_lamp_rsp = 9;
122
+ Getlamprsp get_lamp_rsp = 10;
68
123
  }
69
124
  }
@@ -0,0 +1,59 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: pymammotion/proto/luba_mul.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/luba_mul.proto\"o\n\x0bMulSetAudio\x12\x13\n\tat_switch\x18\x01 \x01(\x05H\x00\x12$\n\x0b\x61u_language\x18\x02 \x01(\x0e\x32\r.MUL_LANGUAGEH\x00\x12\x17\n\x03sex\x18\x03 \x01(\x0e\x32\x08.MUL_SEXH\x00\x42\x0c\n\nAudioCfg_u\"H\n\x0bMulSetVideo\x12&\n\x08position\x18\x01 \x01(\x0e\x32\x14.MUL_CAMERA_POSITION\x12\x11\n\tvi_switch\x18\x02 \x01(\x05\";\n\x0eMulSetVideoAck\x12)\n\nerror_code\x18\x01 \x01(\x0e\x32\x15.MUL_VIDEO_ERROR_CODE\"[\n\x0bMulAudioCfg\x12\x11\n\tau_switch\x18\x01 \x01(\x05\x12\"\n\x0b\x61u_language\x18\x02 \x01(\x0e\x32\r.MUL_LANGUAGE\x12\x15\n\x03sex\x18\x03 \x01(\x0e\x32\x08.MUL_SEX\"\x1c\n\x0bMulSetWiper\x12\r\n\x05round\x18\x01 \x01(\x05\"\x1e\n\x0bGetHeadlamp\x12\x0f\n\x07get_ids\x18\x01 \x01(\x05\"\xba\x01\n\x0bSetHeadlamp\x12\x0f\n\x07set_ids\x18\x01 \x01(\x05\x12\x17\n\x0flamp_power_ctrl\x18\x02 \x01(\x05\x12!\n\tlamp_ctrl\x18\x03 \x01(\x0e\x32\x0e.lamp_ctrl_sta\x12\x18\n\x10\x63trl_lamp_bright\x18\x04 \x01(\x08\x12\x13\n\x0blamp_bright\x18\x05 \x01(\x05\x12/\n\x10lamp_manual_ctrl\x18\x06 \x01(\x0e\x32\x15.lamp_manual_ctrl_sta\"-\n\nSetlamprsp\x12\x0f\n\x07set_ids\x18\x01 \x01(\x05\x12\x0e\n\x06result\x18\x02 \x01(\x05\"\x96\x01\n\nGetlamprsp\x12\x0f\n\x07get_ids\x18\x01 \x01(\x05\x12\x0e\n\x06result\x18\x02 \x01(\x05\x12!\n\tlamp_ctrl\x18\x03 \x01(\x0e\x32\x0e.lamp_ctrl_sta\x12\x13\n\x0blamp_bright\x18\x04 \x01(\x05\x12/\n\x10lamp_manual_ctrl\x18\x05 \x01(\x0e\x32\x15.lamp_manual_ctrl_sta\";\n\x0eMulSetWiperAck\x12)\n\nerror_code\x18\x01 \x01(\x0e\x32\x15.MUL_WIPER_ERROR_CODE\"\x80\x03\n\x06SocMul\x12!\n\tset_audio\x18\x01 \x01(\x0b\x32\x0c.MulSetAudioH\x00\x12!\n\taudio_cfg\x18\x02 \x01(\x0b\x32\x0c.MulAudioCfgH\x00\x12!\n\tset_video\x18\x03 \x01(\x0b\x32\x0c.MulSetVideoH\x00\x12(\n\rset_video_ack\x18\x04 \x01(\x0b\x32\x0f.MulSetVideoAckH\x00\x12!\n\tset_wiper\x18\x05 \x01(\x0b\x32\x0c.MulSetWiperH\x00\x12(\n\rset_wiper_ack\x18\x06 \x01(\x0b\x32\x0f.MulSetWiperAckH\x00\x12 \n\x08get_lamp\x18\x07 \x01(\x0b\x32\x0c.GetHeadlampH\x00\x12 \n\x08set_lamp\x18\x08 \x01(\x0b\x32\x0c.SetHeadlampH\x00\x12#\n\x0cset_lamp_rsp\x18\t \x01(\x0b\x32\x0b.SetlamprspH\x00\x12#\n\x0cget_lamp_rsp\x18\n \x01(\x0b\x32\x0b.GetlamprspH\x00\x42\x08\n\x06SubMul*v\n\x0cMUL_LANGUAGE\x12\x0b\n\x07\x45NGLISH\x10\x00\x12\n\n\x06GERMAN\x10\x01\x12\n\n\x06\x46RENCH\x10\x02\x12\x0b\n\x07ITALIAN\x10\x03\x12\x0b\n\x07SPANISH\x10\x04\x12\x0e\n\nPORTUGUESE\x10\x05\x12\t\n\x05\x44UTCH\x10\x06\x12\x0c\n\x08NONE_LAN\x10\x07*+\n\x07MUL_SEX\x12\x07\n\x03MAN\x10\x00\x12\t\n\x05WOMAN\x10\x01\x12\x0c\n\x08NONE_SEX\x10\x02*=\n\x13MUL_CAMERA_POSITION\x12\x08\n\x04LEFT\x10\x00\x12\t\n\x05RIGHT\x10\x01\x12\x08\n\x04REAR\x10\x02\x12\x07\n\x03\x41LL\x10\x03*\x9d\x01\n\x14MUL_VIDEO_ERROR_CODE\x12\x0b\n\x07SUCCESS\x10\x00\x12\x15\n\x11\x41\x43TIVATION_FAILED\x10\x01\x12\x19\n\x15NETWORK_NOT_AVAILABLE\x10\x02\x12\x19\n\x15\x43REATE_CHANNEL_FAILED\x10\x03\x12\x11\n\rPARAM_INVAILD\x10\x04\x12\x18\n\x14\x43\x45LLULAR_RESTRICTION\x10\x05*Q\n\x14MUL_WIPER_ERROR_CODE\x12\x0f\n\x0bSET_SUCCESS\x10\x00\x12\x0c\n\x08HW_ERROR\x10\x01\x12\x1a\n\x16NAVIGATION_WORK_FORBID\x10\x02*?\n\rlamp_ctrl_sta\x12\r\n\tpower_off\x10\x00\x12\x0c\n\x08power_on\x10\x01\x12\x11\n\rpower_ctrl_on\x10\x02*A\n\x14lamp_manual_ctrl_sta\x12\x14\n\x10manual_power_off\x10\x00\x12\x13\n\x0fmanual_power_on\x10\x01\x62\x06proto3')
17
+
18
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
19
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'pymammotion.proto.luba_mul_pb2', globals())
20
+ if _descriptor._USE_C_DESCRIPTORS == False:
21
+
22
+ DESCRIPTOR._options = None
23
+ _MUL_LANGUAGE._serialized_start=1276
24
+ _MUL_LANGUAGE._serialized_end=1394
25
+ _MUL_SEX._serialized_start=1396
26
+ _MUL_SEX._serialized_end=1439
27
+ _MUL_CAMERA_POSITION._serialized_start=1441
28
+ _MUL_CAMERA_POSITION._serialized_end=1502
29
+ _MUL_VIDEO_ERROR_CODE._serialized_start=1505
30
+ _MUL_VIDEO_ERROR_CODE._serialized_end=1662
31
+ _MUL_WIPER_ERROR_CODE._serialized_start=1664
32
+ _MUL_WIPER_ERROR_CODE._serialized_end=1745
33
+ _LAMP_CTRL_STA._serialized_start=1747
34
+ _LAMP_CTRL_STA._serialized_end=1810
35
+ _LAMP_MANUAL_CTRL_STA._serialized_start=1812
36
+ _LAMP_MANUAL_CTRL_STA._serialized_end=1877
37
+ _MULSETAUDIO._serialized_start=36
38
+ _MULSETAUDIO._serialized_end=147
39
+ _MULSETVIDEO._serialized_start=149
40
+ _MULSETVIDEO._serialized_end=221
41
+ _MULSETVIDEOACK._serialized_start=223
42
+ _MULSETVIDEOACK._serialized_end=282
43
+ _MULAUDIOCFG._serialized_start=284
44
+ _MULAUDIOCFG._serialized_end=375
45
+ _MULSETWIPER._serialized_start=377
46
+ _MULSETWIPER._serialized_end=405
47
+ _GETHEADLAMP._serialized_start=407
48
+ _GETHEADLAMP._serialized_end=437
49
+ _SETHEADLAMP._serialized_start=440
50
+ _SETHEADLAMP._serialized_end=626
51
+ _SETLAMPRSP._serialized_start=628
52
+ _SETLAMPRSP._serialized_end=673
53
+ _GETLAMPRSP._serialized_start=676
54
+ _GETLAMPRSP._serialized_end=826
55
+ _MULSETWIPERACK._serialized_start=828
56
+ _MULSETWIPERACK._serialized_end=887
57
+ _SOCMUL._serialized_start=890
58
+ _SOCMUL._serialized_end=1274
59
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,170 @@
1
+ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
2
+ from google.protobuf import descriptor as _descriptor
3
+ from google.protobuf import message as _message
4
+ from typing import ClassVar as _ClassVar, Mapping as _Mapping, Optional as _Optional, Union as _Union
5
+
6
+ ACTIVATION_FAILED: MUL_VIDEO_ERROR_CODE
7
+ ALL: MUL_CAMERA_POSITION
8
+ CELLULAR_RESTRICTION: MUL_VIDEO_ERROR_CODE
9
+ CREATE_CHANNEL_FAILED: MUL_VIDEO_ERROR_CODE
10
+ DESCRIPTOR: _descriptor.FileDescriptor
11
+ DUTCH: MUL_LANGUAGE
12
+ ENGLISH: MUL_LANGUAGE
13
+ FRENCH: MUL_LANGUAGE
14
+ GERMAN: MUL_LANGUAGE
15
+ HW_ERROR: MUL_WIPER_ERROR_CODE
16
+ ITALIAN: MUL_LANGUAGE
17
+ LEFT: MUL_CAMERA_POSITION
18
+ MAN: MUL_SEX
19
+ NAVIGATION_WORK_FORBID: MUL_WIPER_ERROR_CODE
20
+ NETWORK_NOT_AVAILABLE: MUL_VIDEO_ERROR_CODE
21
+ NONE_LAN: MUL_LANGUAGE
22
+ NONE_SEX: MUL_SEX
23
+ PARAM_INVAILD: MUL_VIDEO_ERROR_CODE
24
+ PORTUGUESE: MUL_LANGUAGE
25
+ REAR: MUL_CAMERA_POSITION
26
+ RIGHT: MUL_CAMERA_POSITION
27
+ SET_SUCCESS: MUL_WIPER_ERROR_CODE
28
+ SPANISH: MUL_LANGUAGE
29
+ SUCCESS: MUL_VIDEO_ERROR_CODE
30
+ WOMAN: MUL_SEX
31
+ manual_power_off: lamp_manual_ctrl_sta
32
+ manual_power_on: lamp_manual_ctrl_sta
33
+ power_ctrl_on: lamp_ctrl_sta
34
+ power_off: lamp_ctrl_sta
35
+ power_on: lamp_ctrl_sta
36
+
37
+ class GetHeadlamp(_message.Message):
38
+ __slots__ = ["get_ids"]
39
+ GET_IDS_FIELD_NUMBER: _ClassVar[int]
40
+ get_ids: int
41
+ def __init__(self, get_ids: _Optional[int] = ...) -> None: ...
42
+
43
+ class Getlamprsp(_message.Message):
44
+ __slots__ = ["get_ids", "lamp_bright", "lamp_ctrl", "lamp_manual_ctrl", "result"]
45
+ GET_IDS_FIELD_NUMBER: _ClassVar[int]
46
+ LAMP_BRIGHT_FIELD_NUMBER: _ClassVar[int]
47
+ LAMP_CTRL_FIELD_NUMBER: _ClassVar[int]
48
+ LAMP_MANUAL_CTRL_FIELD_NUMBER: _ClassVar[int]
49
+ RESULT_FIELD_NUMBER: _ClassVar[int]
50
+ get_ids: int
51
+ lamp_bright: int
52
+ lamp_ctrl: lamp_ctrl_sta
53
+ lamp_manual_ctrl: lamp_manual_ctrl_sta
54
+ result: int
55
+ def __init__(self, get_ids: _Optional[int] = ..., result: _Optional[int] = ..., lamp_ctrl: _Optional[_Union[lamp_ctrl_sta, str]] = ..., lamp_bright: _Optional[int] = ..., lamp_manual_ctrl: _Optional[_Union[lamp_manual_ctrl_sta, str]] = ...) -> None: ...
56
+
57
+ class MulAudioCfg(_message.Message):
58
+ __slots__ = ["au_language", "au_switch", "sex"]
59
+ AU_LANGUAGE_FIELD_NUMBER: _ClassVar[int]
60
+ AU_SWITCH_FIELD_NUMBER: _ClassVar[int]
61
+ SEX_FIELD_NUMBER: _ClassVar[int]
62
+ au_language: MUL_LANGUAGE
63
+ au_switch: int
64
+ sex: MUL_SEX
65
+ def __init__(self, au_switch: _Optional[int] = ..., au_language: _Optional[_Union[MUL_LANGUAGE, str]] = ..., sex: _Optional[_Union[MUL_SEX, str]] = ...) -> None: ...
66
+
67
+ class MulSetAudio(_message.Message):
68
+ __slots__ = ["at_switch", "au_language", "sex"]
69
+ AT_SWITCH_FIELD_NUMBER: _ClassVar[int]
70
+ AU_LANGUAGE_FIELD_NUMBER: _ClassVar[int]
71
+ SEX_FIELD_NUMBER: _ClassVar[int]
72
+ at_switch: int
73
+ au_language: MUL_LANGUAGE
74
+ sex: MUL_SEX
75
+ def __init__(self, at_switch: _Optional[int] = ..., au_language: _Optional[_Union[MUL_LANGUAGE, str]] = ..., sex: _Optional[_Union[MUL_SEX, str]] = ...) -> None: ...
76
+
77
+ class MulSetVideo(_message.Message):
78
+ __slots__ = ["position", "vi_switch"]
79
+ POSITION_FIELD_NUMBER: _ClassVar[int]
80
+ VI_SWITCH_FIELD_NUMBER: _ClassVar[int]
81
+ position: MUL_CAMERA_POSITION
82
+ vi_switch: int
83
+ def __init__(self, position: _Optional[_Union[MUL_CAMERA_POSITION, str]] = ..., vi_switch: _Optional[int] = ...) -> None: ...
84
+
85
+ class MulSetVideoAck(_message.Message):
86
+ __slots__ = ["error_code"]
87
+ ERROR_CODE_FIELD_NUMBER: _ClassVar[int]
88
+ error_code: MUL_VIDEO_ERROR_CODE
89
+ def __init__(self, error_code: _Optional[_Union[MUL_VIDEO_ERROR_CODE, str]] = ...) -> None: ...
90
+
91
+ class MulSetWiper(_message.Message):
92
+ __slots__ = ["round"]
93
+ ROUND_FIELD_NUMBER: _ClassVar[int]
94
+ round: int
95
+ def __init__(self, round: _Optional[int] = ...) -> None: ...
96
+
97
+ class MulSetWiperAck(_message.Message):
98
+ __slots__ = ["error_code"]
99
+ ERROR_CODE_FIELD_NUMBER: _ClassVar[int]
100
+ error_code: MUL_WIPER_ERROR_CODE
101
+ def __init__(self, error_code: _Optional[_Union[MUL_WIPER_ERROR_CODE, str]] = ...) -> None: ...
102
+
103
+ class SetHeadlamp(_message.Message):
104
+ __slots__ = ["ctrl_lamp_bright", "lamp_bright", "lamp_ctrl", "lamp_manual_ctrl", "lamp_power_ctrl", "set_ids"]
105
+ CTRL_LAMP_BRIGHT_FIELD_NUMBER: _ClassVar[int]
106
+ LAMP_BRIGHT_FIELD_NUMBER: _ClassVar[int]
107
+ LAMP_CTRL_FIELD_NUMBER: _ClassVar[int]
108
+ LAMP_MANUAL_CTRL_FIELD_NUMBER: _ClassVar[int]
109
+ LAMP_POWER_CTRL_FIELD_NUMBER: _ClassVar[int]
110
+ SET_IDS_FIELD_NUMBER: _ClassVar[int]
111
+ ctrl_lamp_bright: bool
112
+ lamp_bright: int
113
+ lamp_ctrl: lamp_ctrl_sta
114
+ lamp_manual_ctrl: lamp_manual_ctrl_sta
115
+ lamp_power_ctrl: int
116
+ set_ids: int
117
+ def __init__(self, set_ids: _Optional[int] = ..., lamp_power_ctrl: _Optional[int] = ..., lamp_ctrl: _Optional[_Union[lamp_ctrl_sta, str]] = ..., ctrl_lamp_bright: bool = ..., lamp_bright: _Optional[int] = ..., lamp_manual_ctrl: _Optional[_Union[lamp_manual_ctrl_sta, str]] = ...) -> None: ...
118
+
119
+ class Setlamprsp(_message.Message):
120
+ __slots__ = ["result", "set_ids"]
121
+ RESULT_FIELD_NUMBER: _ClassVar[int]
122
+ SET_IDS_FIELD_NUMBER: _ClassVar[int]
123
+ result: int
124
+ set_ids: int
125
+ def __init__(self, set_ids: _Optional[int] = ..., result: _Optional[int] = ...) -> None: ...
126
+
127
+ class SocMul(_message.Message):
128
+ __slots__ = ["audio_cfg", "get_lamp", "get_lamp_rsp", "set_audio", "set_lamp", "set_lamp_rsp", "set_video", "set_video_ack", "set_wiper", "set_wiper_ack"]
129
+ AUDIO_CFG_FIELD_NUMBER: _ClassVar[int]
130
+ GET_LAMP_FIELD_NUMBER: _ClassVar[int]
131
+ GET_LAMP_RSP_FIELD_NUMBER: _ClassVar[int]
132
+ SET_AUDIO_FIELD_NUMBER: _ClassVar[int]
133
+ SET_LAMP_FIELD_NUMBER: _ClassVar[int]
134
+ SET_LAMP_RSP_FIELD_NUMBER: _ClassVar[int]
135
+ SET_VIDEO_ACK_FIELD_NUMBER: _ClassVar[int]
136
+ SET_VIDEO_FIELD_NUMBER: _ClassVar[int]
137
+ SET_WIPER_ACK_FIELD_NUMBER: _ClassVar[int]
138
+ SET_WIPER_FIELD_NUMBER: _ClassVar[int]
139
+ audio_cfg: MulAudioCfg
140
+ get_lamp: GetHeadlamp
141
+ get_lamp_rsp: Getlamprsp
142
+ set_audio: MulSetAudio
143
+ set_lamp: SetHeadlamp
144
+ set_lamp_rsp: Setlamprsp
145
+ set_video: MulSetVideo
146
+ set_video_ack: MulSetVideoAck
147
+ set_wiper: MulSetWiper
148
+ set_wiper_ack: MulSetWiperAck
149
+ def __init__(self, set_audio: _Optional[_Union[MulSetAudio, _Mapping]] = ..., audio_cfg: _Optional[_Union[MulAudioCfg, _Mapping]] = ..., set_video: _Optional[_Union[MulSetVideo, _Mapping]] = ..., set_video_ack: _Optional[_Union[MulSetVideoAck, _Mapping]] = ..., set_wiper: _Optional[_Union[MulSetWiper, _Mapping]] = ..., set_wiper_ack: _Optional[_Union[MulSetWiperAck, _Mapping]] = ..., get_lamp: _Optional[_Union[GetHeadlamp, _Mapping]] = ..., set_lamp: _Optional[_Union[SetHeadlamp, _Mapping]] = ..., set_lamp_rsp: _Optional[_Union[Setlamprsp, _Mapping]] = ..., get_lamp_rsp: _Optional[_Union[Getlamprsp, _Mapping]] = ...) -> None: ...
150
+
151
+ class MUL_LANGUAGE(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
152
+ __slots__ = []
153
+
154
+ class MUL_SEX(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
155
+ __slots__ = []
156
+
157
+ class MUL_CAMERA_POSITION(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
158
+ __slots__ = []
159
+
160
+ class MUL_VIDEO_ERROR_CODE(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
161
+ __slots__ = []
162
+
163
+ class MUL_WIPER_ERROR_CODE(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
164
+ __slots__ = []
165
+
166
+ class lamp_ctrl_sta(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
167
+ __slots__ = []
168
+
169
+ class lamp_manual_ctrl_sta(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
170
+ __slots__ = []