pymammotion 0.5.9__tar.gz → 0.5.11__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.
Potentially problematic release.
This version of pymammotion might be problematic. Click here for more details.
- {pymammotion-0.5.9 → pymammotion-0.5.11}/PKG-INFO +1 -1
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/data/model/errors.py +1 -1
- pymammotion-0.5.11/pymammotion/mammotion/commands/messages/media.py +87 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/mammotion/commands/messages/video.py +9 -5
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/mammotion/devices/mammotion.py +25 -14
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/mammotion/devices/mammotion_bluetooth.py +1 -1
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/proto/__init__.py +1 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/proto/dev_net.proto +1 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/proto/dev_net_pb2.py +8 -8
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/proto/dev_net_pb2.pyi +1 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/proto/mctrl_nav.proto +1 -1
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/proto/mctrl_nav_pb2.py +1 -1
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pyproject.toml +2 -2
- pymammotion-0.5.9/pymammotion/mammotion/commands/messages/media.py +0 -48
- {pymammotion-0.5.9 → pymammotion-0.5.11}/LICENSE +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/README.md +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/__init__.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/aliyun/__init__.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/aliyun/client.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/aliyun/cloud_gateway.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/aliyun/model/aep_response.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/aliyun/model/connect_response.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/aliyun/model/dev_by_account_response.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/aliyun/model/login_by_oauth_response.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/aliyun/model/regions_response.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/aliyun/model/session_by_authcode_response.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/aliyun/regions.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/aliyun/tea/core.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/aliyun/tmp_constant.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/bluetooth/__init__.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/bluetooth/ble.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/bluetooth/ble_message.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/bluetooth/const.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/bluetooth/data/__init__.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/bluetooth/data/convert.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/bluetooth/data/framectrldata.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/bluetooth/data/notifydata.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/bluetooth/model/__init__.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/bluetooth/model/atomic_integer.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/const.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/data/__init__.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/data/model/__init__.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/data/model/account.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/data/model/device.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/data/model/device_config.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/data/model/device_info.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/data/model/device_limits.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/data/model/enums.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/data/model/excute_boarder_params.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/data/model/execute_boarder.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/data/model/generate_route_information.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/data/model/hash_list.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/data/model/location.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/data/model/mowing_modes.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/data/model/rapid_state.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/data/model/raw_data.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/data/model/region_data.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/data/model/report_info.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/data/model/work.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/data/mqtt/__init__.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/data/mqtt/event.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/data/mqtt/properties.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/data/mqtt/status.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/data/state_manager.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/event/__init__.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/event/event.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/http/__init__.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/http/_init_.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/http/encryption.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/http/http.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/http/model/__init__.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/http/model/camera_stream.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/http/model/http.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/http/model/response_factory.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/mammotion/__init__.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/mammotion/commands/__init__.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/mammotion/commands/abstract_message.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/mammotion/commands/mammotion_command.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/mammotion/commands/messages/__init__.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/mammotion/commands/messages/driver.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/mammotion/commands/messages/navigation.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/mammotion/commands/messages/network.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/mammotion/commands/messages/ota.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/mammotion/commands/messages/system.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/mammotion/control/__init__.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/mammotion/control/joystick.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/mammotion/devices/__init__.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/mammotion/devices/base.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/mammotion/devices/mammotion_cloud.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/mqtt/__init__.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/mqtt/linkkit/__init__.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/mqtt/linkkit/h2client.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/mqtt/linkkit/linkkit.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/mqtt/mammotion_future.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/mqtt/mammotion_mqtt.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/proto/basestation.proto +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/proto/basestation_pb2.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/proto/basestation_pb2.pyi +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/proto/common.proto +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/proto/common_pb2.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/proto/common_pb2.pyi +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/proto/luba_msg.proto +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/proto/luba_msg_pb2.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/proto/luba_msg_pb2.pyi +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/proto/luba_mul.proto +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/proto/luba_mul_pb2.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/proto/luba_mul_pb2.pyi +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/proto/mctrl_driver.proto +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/proto/mctrl_driver_pb2.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/proto/mctrl_driver_pb2.pyi +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/proto/mctrl_nav_pb2.pyi +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/proto/mctrl_ota.proto +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/proto/mctrl_ota_pb2.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/proto/mctrl_ota_pb2.pyi +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/proto/mctrl_pept.proto +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/proto/mctrl_pept_pb2.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/proto/mctrl_pept_pb2.pyi +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/proto/mctrl_sys.proto +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/proto/mctrl_sys_pb2.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/proto/mctrl_sys_pb2.pyi +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/py.typed +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/utility/constant/__init__.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/utility/constant/device_constant.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/utility/conversions.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/utility/datatype_converter.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/utility/device_config.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/utility/device_type.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/utility/map.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/utility/movement.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/utility/mur_mur_hash.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/utility/periodic.py +0 -0
- {pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/utility/rocker_util.py +0 -0
|
@@ -8,5 +8,5 @@ from pymammotion.http.model.http import ErrorInfo
|
|
|
8
8
|
@dataclass
|
|
9
9
|
class DeviceErrors(DataClassORJSONMixin):
|
|
10
10
|
err_code_list: list[int] = field(default_factory=list)
|
|
11
|
-
err_code_list_time: list[int]
|
|
11
|
+
err_code_list_time: list[int] = field(default_factory=list)
|
|
12
12
|
error_codes: dict[str, ErrorInfo] = field(default_factory=dict)
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# === sendOrderMsg_Media ===
|
|
2
|
+
from abc import ABC
|
|
3
|
+
|
|
4
|
+
from pymammotion.mammotion.commands.abstract_message import AbstractMessage
|
|
5
|
+
from pymammotion.proto import (
|
|
6
|
+
MUL_LANGUAGE,
|
|
7
|
+
MUL_SEX,
|
|
8
|
+
GetHeadlamp,
|
|
9
|
+
LampCtrlSta,
|
|
10
|
+
LampManualCtrlSta,
|
|
11
|
+
LubaMsg,
|
|
12
|
+
MsgAttr,
|
|
13
|
+
MsgCmdType,
|
|
14
|
+
MsgDevice,
|
|
15
|
+
MulSetAudio,
|
|
16
|
+
MulSetWiper,
|
|
17
|
+
SetHeadlamp,
|
|
18
|
+
SocMul,
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class MessageMedia(AbstractMessage, ABC):
|
|
23
|
+
def send_order_msg_media(self, mul):
|
|
24
|
+
luba_msg = LubaMsg(
|
|
25
|
+
msgtype=MsgCmdType.MUL,
|
|
26
|
+
sender=MsgDevice.DEV_MOBILEAPP,
|
|
27
|
+
rcver=self.get_msg_device(MsgCmdType.MUL, MsgDevice.SOC_MODULE_MULTIMEDIA),
|
|
28
|
+
msgattr=MsgAttr.REQ,
|
|
29
|
+
seqs=self.seqs.increment_and_get() & 255,
|
|
30
|
+
version=1,
|
|
31
|
+
subtype=self.user_account,
|
|
32
|
+
mul=mul,
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
return luba_msg.SerializeToString()
|
|
36
|
+
|
|
37
|
+
def set_car_volume(self, volume: int):
|
|
38
|
+
"""Set the car volume. 0 - 100"""
|
|
39
|
+
return self.send_order_msg_media(SocMul(set_audio=MulSetAudio(at_switch=volume)))
|
|
40
|
+
|
|
41
|
+
def set_car_voice_language(self, language_type: MUL_LANGUAGE | str | None):
|
|
42
|
+
return self.send_order_msg_media(SocMul(set_audio=MulSetAudio(au_language=language_type)))
|
|
43
|
+
|
|
44
|
+
def set_car_volume_sex(self, sex: MUL_SEX):
|
|
45
|
+
return self.send_order_msg_media(SocMul(set_audio=MulSetAudio(sex=sex)))
|
|
46
|
+
|
|
47
|
+
def set_car_wiper(self, round_num: int):
|
|
48
|
+
"""Set mower wiper."""
|
|
49
|
+
# 2
|
|
50
|
+
return self.send_order_msg_media(SocMul(set_wiper=MulSetWiper(round=round_num)))
|
|
51
|
+
|
|
52
|
+
def get_car_light(self, ids: int):
|
|
53
|
+
"""Get mower light settings.
|
|
54
|
+
1126 for manual
|
|
55
|
+
1123 for night time settings
|
|
56
|
+
"""
|
|
57
|
+
return self.send_order_msg_media(SocMul(get_lamp=GetHeadlamp(get_ids=ids)))
|
|
58
|
+
|
|
59
|
+
def set_car_light(self, on_off: bool = False):
|
|
60
|
+
"""Set mower light.
|
|
61
|
+
|
|
62
|
+
set whether light is on during the night during mowing
|
|
63
|
+
auto night on true, id=1121, power_ctrl=1
|
|
64
|
+
auto night off false, id=1121, power_ctrl=1
|
|
65
|
+
"""
|
|
66
|
+
|
|
67
|
+
ctrl_state = LampCtrlSta.power_ctrl_on if on_off else LampCtrlSta.power_off
|
|
68
|
+
return self.send_order_msg_media(
|
|
69
|
+
SocMul(
|
|
70
|
+
set_lamp=SetHeadlamp(
|
|
71
|
+
set_ids=1121, lamp_power_ctrl=1, lamp_ctrl=ctrl_state, ctrl_lamp_bright=False, lamp_bright=0
|
|
72
|
+
)
|
|
73
|
+
)
|
|
74
|
+
)
|
|
75
|
+
|
|
76
|
+
def set_car_manual_light(self, manual_ctrl: bool = False):
|
|
77
|
+
"""Set mower light.
|
|
78
|
+
|
|
79
|
+
set whether light is on manually
|
|
80
|
+
manual on: true, id=1125, power_ctrl=2
|
|
81
|
+
manual off: false, id=1127, power_ctrl=2
|
|
82
|
+
"""
|
|
83
|
+
ids = 1125 if manual_ctrl else 1127
|
|
84
|
+
manual_light_ctrl = LampManualCtrlSta.manual_power_off if manual_ctrl else LampManualCtrlSta.manual_power_on
|
|
85
|
+
return self.send_order_msg_media(
|
|
86
|
+
SocMul(set_lamp=SetHeadlamp(set_ids=ids, lamp_power_ctrl=2, lamp_manual_ctrl=manual_light_ctrl))
|
|
87
|
+
)
|
|
@@ -3,12 +3,12 @@ from abc import ABC
|
|
|
3
3
|
import time
|
|
4
4
|
|
|
5
5
|
from pymammotion.mammotion.commands.abstract_message import AbstractMessage
|
|
6
|
-
from pymammotion.proto import LubaMsg, MsgAttr, MsgCmdType, MsgDevice,
|
|
6
|
+
from pymammotion.proto import MUL_CAMERA_POSITION, LubaMsg, MsgAttr, MsgCmdType, MsgDevice, MulSetVideo, SocMul
|
|
7
7
|
from pymammotion.utility.device_type import DeviceType
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class MessageVideo(AbstractMessage, ABC):
|
|
11
|
-
def send_order_msg_video(self, mul):
|
|
11
|
+
def send_order_msg_video(self, mul: SocMul):
|
|
12
12
|
luba_msg = LubaMsg(
|
|
13
13
|
msgtype=MsgCmdType.MUL,
|
|
14
14
|
msgattr=MsgAttr.REQ,
|
|
@@ -24,6 +24,10 @@ class MessageVideo(AbstractMessage, ABC):
|
|
|
24
24
|
return luba_msg.SerializeToString()
|
|
25
25
|
|
|
26
26
|
def device_agora_join_channel_with_position(self, enter_state: int):
|
|
27
|
-
position =
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
position = (
|
|
28
|
+
MUL_CAMERA_POSITION.ALL
|
|
29
|
+
if DeviceType.value_of_str(self.get_device_name()).get_value() == DeviceType.LUBA_YUKA.get_value()
|
|
30
|
+
else MUL_CAMERA_POSITION.LEFT
|
|
31
|
+
)
|
|
32
|
+
soc_mul = SocMul(set_video=MulSetVideo(position=position, vi_switch=enter_state))
|
|
33
|
+
return self.send_order_msg_video(soc_mul)
|
|
@@ -45,8 +45,8 @@ class MammotionMixedDeviceManager:
|
|
|
45
45
|
self._state_manager = StateManager(MowingDevice())
|
|
46
46
|
self._state_manager.get_device().name = name
|
|
47
47
|
self._device: Device = cloud_device
|
|
48
|
-
self.add_ble(ble_device)
|
|
49
|
-
self.add_cloud(mqtt)
|
|
48
|
+
self.add_ble(ble_device) if ble_device else None
|
|
49
|
+
self.add_cloud(mqtt) if mqtt else None
|
|
50
50
|
self.mammotion_http = cloud_client.mammotion_http
|
|
51
51
|
self.preference = preference
|
|
52
52
|
self._state_manager.preference = preference
|
|
@@ -77,16 +77,17 @@ class MammotionMixedDeviceManager:
|
|
|
77
77
|
else:
|
|
78
78
|
return not self.ble().command_queue.empty()
|
|
79
79
|
|
|
80
|
-
def add_ble(self, ble_device: BLEDevice) ->
|
|
81
|
-
|
|
82
|
-
self.
|
|
83
|
-
|
|
84
|
-
|
|
80
|
+
def add_ble(self, ble_device: BLEDevice) -> MammotionBaseBLEDevice:
|
|
81
|
+
self._ble_device = MammotionBaseBLEDevice(
|
|
82
|
+
state_manager=self._state_manager, cloud_device=self._device, device=ble_device
|
|
83
|
+
)
|
|
84
|
+
return self._ble_device
|
|
85
85
|
|
|
86
|
-
def add_cloud(self, mqtt: MammotionCloud) ->
|
|
86
|
+
def add_cloud(self, mqtt: MammotionCloud) -> MammotionBaseCloudDevice:
|
|
87
87
|
self._cloud_device = MammotionBaseCloudDevice(
|
|
88
88
|
mqtt, cloud_device=self._device, state_manager=self._state_manager
|
|
89
89
|
)
|
|
90
|
+
return self._cloud_device
|
|
90
91
|
|
|
91
92
|
def replace_cloud(self, cloud_device: MammotionBaseCloudDevice) -> None:
|
|
92
93
|
self._cloud_device = cloud_device
|
|
@@ -122,9 +123,13 @@ class MammotionMixedDeviceManager:
|
|
|
122
123
|
|
|
123
124
|
|
|
124
125
|
class MammotionDeviceManager:
|
|
125
|
-
devices
|
|
126
|
+
"""Manage devices."""
|
|
127
|
+
|
|
128
|
+
def __init__(self) -> None:
|
|
129
|
+
self.devices: dict[str, MammotionMixedDeviceManager] = {}
|
|
126
130
|
|
|
127
131
|
def add_device(self, mammotion_device: MammotionMixedDeviceManager) -> None:
|
|
132
|
+
"""Add a device."""
|
|
128
133
|
exists: MammotionMixedDeviceManager | None = self.devices.get(mammotion_device.name)
|
|
129
134
|
if exists is None:
|
|
130
135
|
self.devices[mammotion_device.name] = mammotion_device
|
|
@@ -135,9 +140,11 @@ class MammotionDeviceManager:
|
|
|
135
140
|
exists.replace_ble(mammotion_device.ble())
|
|
136
141
|
|
|
137
142
|
def get_device(self, mammotion_device_name: str) -> MammotionMixedDeviceManager:
|
|
143
|
+
"""Get a device."""
|
|
138
144
|
return self.devices.get(mammotion_device_name)
|
|
139
145
|
|
|
140
146
|
async def remove_device(self, name: str) -> None:
|
|
147
|
+
"""Remove a device."""
|
|
141
148
|
if self.devices.get(name):
|
|
142
149
|
device_for_removal = self.devices.pop(name)
|
|
143
150
|
loop = asyncio.get_running_loop()
|
|
@@ -160,11 +167,11 @@ class Mammotion:
|
|
|
160
167
|
"""Represents a Mammotion account and its devices."""
|
|
161
168
|
|
|
162
169
|
device_manager = MammotionDeviceManager()
|
|
163
|
-
mqtt_list: dict[str, MammotionCloud] = dict()
|
|
164
170
|
|
|
165
171
|
_instance: Mammotion | None = None
|
|
166
172
|
|
|
167
|
-
def __new__(cls
|
|
173
|
+
def __new__(cls) -> Mammotion:
|
|
174
|
+
"""Create a singleton."""
|
|
168
175
|
if not cls._instance:
|
|
169
176
|
cls._instance = super().__new__(cls)
|
|
170
177
|
return cls._instance
|
|
@@ -172,6 +179,7 @@ class Mammotion:
|
|
|
172
179
|
def __init__(self) -> None:
|
|
173
180
|
"""Initialize MammotionDevice."""
|
|
174
181
|
self._login_lock = asyncio.Lock()
|
|
182
|
+
self.mqtt_list: dict[str, MammotionCloud] = {}
|
|
175
183
|
|
|
176
184
|
async def login_and_initiate_cloud(self, account, password, force: bool = False) -> None:
|
|
177
185
|
async with self._login_lock:
|
|
@@ -181,6 +189,7 @@ class Mammotion:
|
|
|
181
189
|
await self.initiate_cloud_connection(account, cloud_client)
|
|
182
190
|
|
|
183
191
|
async def refresh_login(self, account: str, password: str | None = None) -> None:
|
|
192
|
+
"""Refresh login."""
|
|
184
193
|
async with self._login_lock:
|
|
185
194
|
exists: MammotionCloud | None = self.mqtt_list.get(account)
|
|
186
195
|
if not exists:
|
|
@@ -194,6 +203,7 @@ class Mammotion:
|
|
|
194
203
|
await loop.run_in_executor(None, exists.connect_async)
|
|
195
204
|
|
|
196
205
|
async def initiate_cloud_connection(self, account: str, cloud_client: CloudIOTGateway) -> None:
|
|
206
|
+
"""Initiate cloud connection."""
|
|
197
207
|
loop = asyncio.get_running_loop()
|
|
198
208
|
if mqtt := self.mqtt_list.get(account):
|
|
199
209
|
if mqtt.is_connected():
|
|
@@ -217,6 +227,7 @@ class Mammotion:
|
|
|
217
227
|
await loop.run_in_executor(None, self.mqtt_list[account].connect_async)
|
|
218
228
|
|
|
219
229
|
def add_cloud_devices(self, mqtt_client: MammotionCloud) -> None:
|
|
230
|
+
"""Add devices from cloud."""
|
|
220
231
|
for device in mqtt_client.cloud_client.devices_by_account_response.data.data:
|
|
221
232
|
mower_device = self.device_manager.get_device(device.deviceName)
|
|
222
233
|
if device.deviceName.startswith(("Luba-", "Yuka-")) and mower_device is None:
|
|
@@ -239,11 +250,11 @@ class Mammotion:
|
|
|
239
250
|
else:
|
|
240
251
|
mower_device.replace_mqtt(mqtt_client)
|
|
241
252
|
|
|
242
|
-
def set_disconnect_strategy(self, disconnect: bool) -> None:
|
|
243
|
-
for
|
|
253
|
+
def set_disconnect_strategy(self, *, disconnect: bool) -> None:
|
|
254
|
+
for device in self.device_manager.devices.values():
|
|
244
255
|
if device.ble() is not None:
|
|
245
256
|
ble_device: MammotionBaseBLEDevice = device.ble()
|
|
246
|
-
ble_device.set_disconnect_strategy(disconnect)
|
|
257
|
+
ble_device.set_disconnect_strategy(disconnect=disconnect)
|
|
247
258
|
|
|
248
259
|
async def login(self, account: str, password: str) -> CloudIOTGateway:
|
|
249
260
|
"""Login to mammotion cloud."""
|
{pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/mammotion/devices/mammotion_bluetooth.py
RENAMED
|
@@ -490,5 +490,5 @@ class MammotionBaseBLEDevice(MammotionBaseDevice):
|
|
|
490
490
|
_LOGGER.debug("%s: Disconnect completed successfully", self.name)
|
|
491
491
|
self._client = None
|
|
492
492
|
|
|
493
|
-
def set_disconnect_strategy(self, disconnect: bool) -> None:
|
|
493
|
+
def set_disconnect_strategy(self, *, disconnect: bool) -> None:
|
|
494
494
|
self._disconnect_strategy = disconnect
|
|
@@ -13,7 +13,7 @@ _sym_db = _symbol_database.Default()
|
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fpymammotion/proto/dev_net.proto\"(\n\rDrvWifiUpload\x12\x17\n\x0fwifi_msg_upload\x18\x01 \x01(\x05\"&\n\x0b\x44rvWifiList\x12\x17\n\x0fnvs_wifi_upload\x18\x01 \x01(\x05\"H\n\nDrvWifiSet\x12\x13\n\x0b\x63onfigParam\x18\x01 \x01(\x05\x12\x10\n\x08\x43onfssid\x18\x02 \x01(\t\x12\x13\n\x0bwifi_enable\x18\x03 \x01(\x08\"\xa8\x01\n\nDrvWifiMsg\x12\x0f\n\x07status1\x18\x01 \x01(\x08\x12\x0f\n\x07status2\x18\x02 \x01(\x08\x12\n\n\x02ip\x18\x03 \x01(\t\x12\x0f\n\x07msgssid\x18\x04 \x01(\t\x12\x10\n\x08password\x18\x05 \x01(\t\x12\x0c\n\x04rssi\x18\x06 \x01(\x05\x12\x12\n\nproductkey\x18\x07 \x01(\t\x12\x12\n\ndevicename\x18\x08 \x01(\t\x12\x13\n\x0bwifi_enable\x18\t \x01(\x08\"?\n\x0b\x44rvWifiConf\x12\x10\n\x08succFlag\x18\x01 \x01(\x08\x12\x0c\n\x04\x63ode\x18\x02 \x01(\x05\x12\x10\n\x08\x43onfssid\x18\x03 \x01(\t\"\\\n\rDrvListUpload\x12\x0b\n\x03sum\x18\x01 \x01(\x05\x12\x0f\n\x07\x63urrent\x18\x02 \x01(\x05\x12\x0e\n\x06status\x18\x03 \x01(\x05\x12\x0f\n\x07Memssid\x18\x04 \x01(\t\x12\x0c\n\x04rssi\x18\x05 \x01(\x05\"Y\n\x10\x44rvUploadFileReq\x12\r\n\x05\x62izId\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\x12\x0e\n\x06userId\x18\x03 \x01(\t\x12\x0b\n\x03num\x18\x04 \x01(\x05\x12\x0c\n\x04type\x18\x05 \x01(\x05\"$\n\x13\x44rvUploadFileCancel\x12\r\n\x05\x62izId\x18\x01 \x01(\t\"z\n\x15\x44rvUploadFileToAppReq\x12\r\n\x05\x62izId\x18\x01 \x01(\t\x12\x11\n\toperation\x18\x02 \x01(\x05\x12\x10\n\x08serverIp\x18\x03 \x01(\x07\x12\x12\n\nserverPort\x18\x04 \x01(\x05\x12\x0b\n\x03num\x18\x05 \x01(\x05\x12\x0c\n\x04type\x18\x06 \x01(\x05\"I\n\x15\x44rvUploadFileToAppRsp\x12\r\n\x05\x62izId\x18\x01 \x01(\t\x12\x11\n\toperation\x18\x02 \x01(\x05\x12\x0e\n\x06result\x18\x03 \x01(\x05\"+\n\x0f\x44rvDevInfoReqId\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04type\x18\x02 \x01(\x05\"Z\n\x10\x44rvDevInfoRespId\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04type\x18\x02 \x01(\x05\x12\x1e\n\x03res\x18\x03 \x01(\x0e\x32\x11.DrvDevInfoResult\x12\x0c\n\x04info\x18\x04 \x01(\t\"2\n\rDrvDevInfoReq\x12!\n\x07req_ids\x18\x01 \x03(\x0b\x32\x10.DrvDevInfoReqId\"5\n\x0e\x44rvDevInfoResp\x12#\n\x08resp_ids\x18\x01 \x03(\x0b\x32\x11.DrvDevInfoRespId\"\x9c\x01\n\x10\x44rvUpgradeReport\x12\x0f\n\x07\x64\x65vname\x18\x01 \x01(\t\x12\r\n\x05otaid\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\t\x12\x10\n\x08progress\x18\x04 \x01(\x05\x12\x0e\n\x06result\x18\x05 \x01(\x05\x12\x0f\n\x07message\x18\x06 \x01(\t\x12\x12\n\nproperties\x18\x07 \x01(\t\x12\x10\n\x08recv_cnt\x18\x08 \x01(\x05\"l\n\x13WifiIotStatusReport\x12\x16\n\x0ewifi_connected\x18\x01 \x01(\x08\x12\x15\n\riot_connected\x18\x02 \x01(\x08\x12\x12\n\nproductkey\x18\x03 \x01(\t\x12\x12\n\ndevicename\x18\x04 \x01(\t\"*\n\x0c\x42leTestBytes\x12\x0c\n\x04seqs\x18\x01 \x01(\x05\x12\x0c\n\x04\x64\x61ta\x18\x02 \x03(\x07\"$\n\x11GetNetworkInfoReq\x12\x0f\n\x07req_ids\x18\x01 \x01(\x05\"\x87\x01\n\x11GetNetworkInfoRsp\x12\x0f\n\x07req_ids\x18\x01 \x01(\x05\x12\x11\n\twifi_ssid\x18\x02 \x01(\t\x12\x10\n\x08wifi_mac\x18\x03 \x01(\t\x12\x11\n\twifi_rssi\x18\x04 \x01(\x05\x12\n\n\x02ip\x18\x05 \x01(\x07\x12\x0c\n\x04mask\x18\x06 \x01(\x07\x12\x0f\n\x07gateway\x18\x07 \x01(\x07\"N\n\x10mnet_inet_status\x12\x0f\n\x07\x63onnect\x18\x01 \x01(\x08\x12\n\n\x02ip\x18\x02 \x01(\x07\x12\x0c\n\x04mask\x18\x03 \x01(\x07\x12\x0f\n\x07gateway\x18\x04 \x01(\x07\"\xd7\x01\n\x08MnetInfo\x12\r\n\x05model\x18\x01 \x01(\t\x12\x10\n\x08revision\x18\x02 \x01(\t\x12\x0c\n\x04imei\x18\x03 \x01(\t\x12\x1a\n\x03sim\x18\x04 \x01(\x0e\x32\r.sim_card_sta\x12\x0c\n\x04imsi\x18\x05 \x01(\t\x12\"\n\tlink_type\x18\x06 \x01(\x0e\x32\x0f.mnet_link_type\x12\x0c\n\x04rssi\x18\x07 \x01(\x05\x12\x1f\n\x04inet\x18\x08 \x01(\x0b\x32\x11.mnet_inet_status\x12\r\n\x05iccid\x18\t \x01(\t\x12\x10\n\x08operator\x18\n \x01(\t\"!\n\x0eGetMnetInfoReq\x12\x0f\n\x07req_ids\x18\x01 \x01(\x05\"J\n\x0eGetMnetInfoRsp\x12\x0f\n\x07req_ids\x18\x01 \x01(\x05\x12\x0e\n\x06result\x18\x02 \x01(\x05\x12\x17\n\x04mnet\x18\x03 \x01(\x0b\x32\t.MnetInfo\"}\n\x07MnetApn\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x11\n\tapn_alias\x18\x02 \x01(\t\x12\x10\n\x08\x61pn_name\x18\x03 \x01(\t\x12\x1c\n\x04\x61uth\x18\x04 \x01(\x0e\x32\x0e.apn_auth_type\x12\x10\n\x08username\x18\x05 \x01(\t\x12\x10\n\x08password\x18\x06 \x01(\t\"9\n\nMnetApnCfg\x12\x14\n\x0c\x61pn_used_idx\x18\x01 \x01(\x05\x12\x15\n\x03\x61pn\x18\x02 \x03(\x0b\x32\x08.MnetApn\">\n\rMnetApnSetCfg\x12\x13\n\x0buse_default\x18\x01 \x01(\x08\x12\x18\n\x03\x63\x66g\x18\x02 \x01(\x0b\x32\x0b.MnetApnCfg\"~\n\x07MnetCfg\x12\x13\n\x0bmnet_enable\x18\x01 \x01(\x08\x12\x13\n\x0binet_enable\x18\x02 \x01(\x08\x12\x17\n\x04type\x18\x03 \x01(\x0e\x32\t.net_type\x12\x1b\n\x03\x61pn\x18\x04 \x01(\x0b\x32\x0e.MnetApnSetCfg\x12\x13\n\x0b\x61uto_select\x18\x05 \x01(\x08\" \n\rGetMnetCfgReq\x12\x0f\n\x07req_ids\x18\x01 \x01(\x05\"G\n\rGetMnetCfgRsp\x12\x0f\n\x07req_ids\x18\x01 \x01(\x05\x12\x0e\n\x06result\x18\x02 \x01(\x05\x12\x15\n\x03\x63\x66g\x18\x03 \x01(\x0b\x32\x08.MnetCfg\"7\n\rSetMnetCfgReq\x12\x0f\n\x07req_ids\x18\x01 \x01(\x05\x12\x15\n\x03\x63\x66g\x18\x02 \x01(\x0b\x32\x08.MnetCfg\"0\n\rSetMnetCfgRsp\x12\x0f\n\x07req_ids\x18\x01 \x01(\x05\x12\x0e\n\x06result\x18\x02 \x01(\x05\"N\n\x0e\x44rvDebugDdsZmq\x12\x11\n\tis_enable\x18\x01 \x01(\x08\x12\x15\n\rrx_topic_name\x18\x02 \x01(\t\x12\x12\n\ntx_zmq_url\x18\x03 \x01(\t\"!\n\x0cSetDrvBleMTU\x12\x11\n\tmtu_count\x18\x01 \x01(\x05\">\n\x0f\x42leSignatureReq\x12\x16\n\x0esignature_data\x18\x01 \x01(\t\x12\x13\n\x0brandom_data\x18\x02 \x01(\t\"\xb0\x01\n\x1a\x42leLogUploadUpdateProgress\x12\x0b\n\x03ver\x18\x01 \x01(\x05\x12\x0e\n\x06status\x18\x02 \x01(\x05\x12\r\n\x05\x62izId\x18\x03 \x01(\t\x12\x0c\n\x04prog\x18\x04 \x01(\x05\x12\x0f\n\x07subProg\x18\x05 \x01(\x05\x12\x0c\n\x04\x66Num\x18\x06 \x01(\x05\x12\r\n\x05speed\x18\x07 \x01(\x05\x12\x0c\n\x04\x66Idx\x18\x08 \x01(\x05\x12\r\n\x05\x66Path\x18\t \x01(\t\x12\r\n\x05\x66Size\x18\n \x01(\x05\"\xcb\x0b\n\x06\x44\x65vNet\x12\x18\n\x0etodev_ble_sync\x18\x01 \x01(\x05H\x00\x12\'\n\x0etodev_ConfType\x18\x02 \x01(\x0e\x32\r.WifiConfTypeH\x00\x12-\n\x13todev_WifiMsgUpload\x18\x03 \x01(\x0b\x32\x0e.DrvWifiUploadH\x00\x12,\n\x14todev_WifiListUpload\x18\x04 \x01(\x0b\x32\x0c.DrvWifiListH\x00\x12/\n\x18todev_Wifi_Configuration\x18\x05 \x01(\x0b\x32\x0b.DrvWifiSetH\x00\x12$\n\rtoapp_WifiMsg\x18\x06 \x01(\x0b\x32\x0b.DrvWifiMsgH\x00\x12&\n\x0etoapp_WifiConf\x18\x07 \x01(\x0b\x32\x0c.DrvWifiConfH\x00\x12*\n\x10toapp_ListUpload\x18\x08 \x01(\x0b\x32\x0e.DrvListUploadH\x00\x12/\n\x12todev_req_log_info\x18\t \x01(\x0b\x32\x11.DrvUploadFileReqH\x00\x12\x35\n\x15todev_log_data_cancel\x18\n \x01(\x0b\x32\x14.DrvUploadFileCancelH\x00\x12+\n\x11todev_devinfo_req\x18\x0b \x01(\x0b\x32\x0e.DrvDevInfoReqH\x00\x12-\n\x12toapp_devinfo_resp\x18\x0c \x01(\x0b\x32\x0f.DrvDevInfoRespH\x00\x12\x31\n\x14toapp_upgrade_report\x18\r \x01(\x0b\x32\x11.DrvUpgradeReportH\x00\x12\x35\n\x15toapp_wifi_iot_status\x18\x0e \x01(\x0b\x32\x14.WifiIotStatusReportH\x00\x12\x36\n\x14todev_uploadfile_req\x18\x0f \x01(\x0b\x32\x16.DrvUploadFileToAppReqH\x00\x12\x36\n\x14toapp_uploadfile_rsp\x18\x10 \x01(\x0b\x32\x16.DrvUploadFileToAppRspH\x00\x12\x33\n\x15todev_networkinfo_req\x18\x11 \x01(\x0b\x32\x12.GetNetworkInfoReqH\x00\x12\x33\n\x15toapp_networkinfo_rsp\x18\x12 \x01(\x0b\x32\x12.GetNetworkInfoRspH\x00\x12%\n\x0c\x62ir_testdata\x18\x13 \x01(\x0b\x32\r.BleTestBytesH\x00\x12.\n\x13todev_mnet_info_req\x18\x14 \x01(\x0b\x32\x0f.GetMnetInfoReqH\x00\x12.\n\x13toapp_mnet_info_rsp\x18\x15 \x01(\x0b\x32\x0f.GetMnetInfoRspH\x00\x12\x30\n\x16todev_get_mnet_cfg_req\x18\x16 \x01(\x0b\x32\x0e.GetMnetCfgReqH\x00\x12\x30\n\x16toapp_get_mnet_cfg_rsp\x18\x17 \x01(\x0b\x32\x0e.GetMnetCfgRspH\x00\x12\x30\n\x16todev_set_mnet_cfg_req\x18\x18 \x01(\x0b\x32\x0e.SetMnetCfgReqH\x00\x12\x30\n\x16toapp_set_mnet_cfg_rsp\x18\x19 \x01(\x0b\x32\x0e.SetMnetCfgRspH\x00\x12,\n\x11todev_set_dds2zmq\x18\x1a \x01(\x0b\x32\x0f.DrvDebugDdsZmqH\x00\x12*\n\x11todev_set_ble_mtu\x18\x1b \x01(\x0b\x32\r.SetDrvBleMTUH\x00\x12\x36\n\x19todev_set_iot_offline_req\x18\x1c \x01(\x0e\x32\x11.iot_conctrl_typeH\x00\x12\x36\n\x1atodev_verify_signature_req\x18\x1d \x01(\x0b\x32\x10.BleSignatureReqH\x00\x12G\n toapp_log_upload_update_progress\x18\x1e \x01(\x0b\x32\x1b.BleLogUploadUpdateProgressH\x00\x42\x0c\n\nNetSubType*l\n\x0cWifiConfType\x12\x12\n\x0e\x44isconnectWifi\x10\x00\x12\x0e\n\nForgetWifi\x10\x01\x12\x15\n\x11\x44irectConnectWifi\x10\x02\x12\x11\n\rReconnectWifi\x10\x03\x12\x0e\n\nset_enable\x10\x04*l\n\x15\x44rvUploadFileFileType\x12\x11\n\rFILE_TYPE_ALL\x10\x00\x12\x14\n\x10\x46ILE_TYPE_SYSLOG\x10\x01\x12\x14\n\x10\x46ILE_TYPE_NAVLOG\x10\x02\x12\x14\n\x10\x46ILE_TYPE_RTKLOG\x10\x03*R\n\x10\x44rvDevInfoResult\x12\x13\n\x0f\x44RV_RESULT_FAIL\x10\x00\x12\x12\n\x0e\x44RV_RESULT_SUC\x10\x01\x12\x15\n\x11\x44RV_RESULT_NOTSUP\x10\x02*p\n\x0csim_card_sta\x12\x0c\n\x08SIM_NONE\x10\x00\x12\x0f\n\x0bSIM_NO_CARD\x10\x01\x12\x0f\n\x0bSIM_INVALID\x10\x02\x12\x11\n\rSIM_INPUT_PIN\x10\x03\x12\x11\n\rSIM_INPUT_PUK\x10\x04\x12\n\n\x06SIM_OK\x10\x05*
|
|
16
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fpymammotion/proto/dev_net.proto\"(\n\rDrvWifiUpload\x12\x17\n\x0fwifi_msg_upload\x18\x01 \x01(\x05\"&\n\x0b\x44rvWifiList\x12\x17\n\x0fnvs_wifi_upload\x18\x01 \x01(\x05\"H\n\nDrvWifiSet\x12\x13\n\x0b\x63onfigParam\x18\x01 \x01(\x05\x12\x10\n\x08\x43onfssid\x18\x02 \x01(\t\x12\x13\n\x0bwifi_enable\x18\x03 \x01(\x08\"\xa8\x01\n\nDrvWifiMsg\x12\x0f\n\x07status1\x18\x01 \x01(\x08\x12\x0f\n\x07status2\x18\x02 \x01(\x08\x12\n\n\x02ip\x18\x03 \x01(\t\x12\x0f\n\x07msgssid\x18\x04 \x01(\t\x12\x10\n\x08password\x18\x05 \x01(\t\x12\x0c\n\x04rssi\x18\x06 \x01(\x05\x12\x12\n\nproductkey\x18\x07 \x01(\t\x12\x12\n\ndevicename\x18\x08 \x01(\t\x12\x13\n\x0bwifi_enable\x18\t \x01(\x08\"?\n\x0b\x44rvWifiConf\x12\x10\n\x08succFlag\x18\x01 \x01(\x08\x12\x0c\n\x04\x63ode\x18\x02 \x01(\x05\x12\x10\n\x08\x43onfssid\x18\x03 \x01(\t\"\\\n\rDrvListUpload\x12\x0b\n\x03sum\x18\x01 \x01(\x05\x12\x0f\n\x07\x63urrent\x18\x02 \x01(\x05\x12\x0e\n\x06status\x18\x03 \x01(\x05\x12\x0f\n\x07Memssid\x18\x04 \x01(\t\x12\x0c\n\x04rssi\x18\x05 \x01(\x05\"Y\n\x10\x44rvUploadFileReq\x12\r\n\x05\x62izId\x18\x01 \x01(\t\x12\x0b\n\x03url\x18\x02 \x01(\t\x12\x0e\n\x06userId\x18\x03 \x01(\t\x12\x0b\n\x03num\x18\x04 \x01(\x05\x12\x0c\n\x04type\x18\x05 \x01(\x05\"$\n\x13\x44rvUploadFileCancel\x12\r\n\x05\x62izId\x18\x01 \x01(\t\"z\n\x15\x44rvUploadFileToAppReq\x12\r\n\x05\x62izId\x18\x01 \x01(\t\x12\x11\n\toperation\x18\x02 \x01(\x05\x12\x10\n\x08serverIp\x18\x03 \x01(\x07\x12\x12\n\nserverPort\x18\x04 \x01(\x05\x12\x0b\n\x03num\x18\x05 \x01(\x05\x12\x0c\n\x04type\x18\x06 \x01(\x05\"I\n\x15\x44rvUploadFileToAppRsp\x12\r\n\x05\x62izId\x18\x01 \x01(\t\x12\x11\n\toperation\x18\x02 \x01(\x05\x12\x0e\n\x06result\x18\x03 \x01(\x05\"+\n\x0f\x44rvDevInfoReqId\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04type\x18\x02 \x01(\x05\"Z\n\x10\x44rvDevInfoRespId\x12\n\n\x02id\x18\x01 \x01(\x05\x12\x0c\n\x04type\x18\x02 \x01(\x05\x12\x1e\n\x03res\x18\x03 \x01(\x0e\x32\x11.DrvDevInfoResult\x12\x0c\n\x04info\x18\x04 \x01(\t\"2\n\rDrvDevInfoReq\x12!\n\x07req_ids\x18\x01 \x03(\x0b\x32\x10.DrvDevInfoReqId\"5\n\x0e\x44rvDevInfoResp\x12#\n\x08resp_ids\x18\x01 \x03(\x0b\x32\x11.DrvDevInfoRespId\"\x9c\x01\n\x10\x44rvUpgradeReport\x12\x0f\n\x07\x64\x65vname\x18\x01 \x01(\t\x12\r\n\x05otaid\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\t\x12\x10\n\x08progress\x18\x04 \x01(\x05\x12\x0e\n\x06result\x18\x05 \x01(\x05\x12\x0f\n\x07message\x18\x06 \x01(\t\x12\x12\n\nproperties\x18\x07 \x01(\t\x12\x10\n\x08recv_cnt\x18\x08 \x01(\x05\"l\n\x13WifiIotStatusReport\x12\x16\n\x0ewifi_connected\x18\x01 \x01(\x08\x12\x15\n\riot_connected\x18\x02 \x01(\x08\x12\x12\n\nproductkey\x18\x03 \x01(\t\x12\x12\n\ndevicename\x18\x04 \x01(\t\"*\n\x0c\x42leTestBytes\x12\x0c\n\x04seqs\x18\x01 \x01(\x05\x12\x0c\n\x04\x64\x61ta\x18\x02 \x03(\x07\"$\n\x11GetNetworkInfoReq\x12\x0f\n\x07req_ids\x18\x01 \x01(\x05\"\x87\x01\n\x11GetNetworkInfoRsp\x12\x0f\n\x07req_ids\x18\x01 \x01(\x05\x12\x11\n\twifi_ssid\x18\x02 \x01(\t\x12\x10\n\x08wifi_mac\x18\x03 \x01(\t\x12\x11\n\twifi_rssi\x18\x04 \x01(\x05\x12\n\n\x02ip\x18\x05 \x01(\x07\x12\x0c\n\x04mask\x18\x06 \x01(\x07\x12\x0f\n\x07gateway\x18\x07 \x01(\x07\"N\n\x10mnet_inet_status\x12\x0f\n\x07\x63onnect\x18\x01 \x01(\x08\x12\n\n\x02ip\x18\x02 \x01(\x07\x12\x0c\n\x04mask\x18\x03 \x01(\x07\x12\x0f\n\x07gateway\x18\x04 \x01(\x07\"\xd7\x01\n\x08MnetInfo\x12\r\n\x05model\x18\x01 \x01(\t\x12\x10\n\x08revision\x18\x02 \x01(\t\x12\x0c\n\x04imei\x18\x03 \x01(\t\x12\x1a\n\x03sim\x18\x04 \x01(\x0e\x32\r.sim_card_sta\x12\x0c\n\x04imsi\x18\x05 \x01(\t\x12\"\n\tlink_type\x18\x06 \x01(\x0e\x32\x0f.mnet_link_type\x12\x0c\n\x04rssi\x18\x07 \x01(\x05\x12\x1f\n\x04inet\x18\x08 \x01(\x0b\x32\x11.mnet_inet_status\x12\r\n\x05iccid\x18\t \x01(\t\x12\x10\n\x08operator\x18\n \x01(\t\"!\n\x0eGetMnetInfoReq\x12\x0f\n\x07req_ids\x18\x01 \x01(\x05\"J\n\x0eGetMnetInfoRsp\x12\x0f\n\x07req_ids\x18\x01 \x01(\x05\x12\x0e\n\x06result\x18\x02 \x01(\x05\x12\x17\n\x04mnet\x18\x03 \x01(\x0b\x32\t.MnetInfo\"}\n\x07MnetApn\x12\x0b\n\x03\x63id\x18\x01 \x01(\x05\x12\x11\n\tapn_alias\x18\x02 \x01(\t\x12\x10\n\x08\x61pn_name\x18\x03 \x01(\t\x12\x1c\n\x04\x61uth\x18\x04 \x01(\x0e\x32\x0e.apn_auth_type\x12\x10\n\x08username\x18\x05 \x01(\t\x12\x10\n\x08password\x18\x06 \x01(\t\"9\n\nMnetApnCfg\x12\x14\n\x0c\x61pn_used_idx\x18\x01 \x01(\x05\x12\x15\n\x03\x61pn\x18\x02 \x03(\x0b\x32\x08.MnetApn\">\n\rMnetApnSetCfg\x12\x13\n\x0buse_default\x18\x01 \x01(\x08\x12\x18\n\x03\x63\x66g\x18\x02 \x01(\x0b\x32\x0b.MnetApnCfg\"~\n\x07MnetCfg\x12\x13\n\x0bmnet_enable\x18\x01 \x01(\x08\x12\x13\n\x0binet_enable\x18\x02 \x01(\x08\x12\x17\n\x04type\x18\x03 \x01(\x0e\x32\t.net_type\x12\x1b\n\x03\x61pn\x18\x04 \x01(\x0b\x32\x0e.MnetApnSetCfg\x12\x13\n\x0b\x61uto_select\x18\x05 \x01(\x08\" \n\rGetMnetCfgReq\x12\x0f\n\x07req_ids\x18\x01 \x01(\x05\"G\n\rGetMnetCfgRsp\x12\x0f\n\x07req_ids\x18\x01 \x01(\x05\x12\x0e\n\x06result\x18\x02 \x01(\x05\x12\x15\n\x03\x63\x66g\x18\x03 \x01(\x0b\x32\x08.MnetCfg\"7\n\rSetMnetCfgReq\x12\x0f\n\x07req_ids\x18\x01 \x01(\x05\x12\x15\n\x03\x63\x66g\x18\x02 \x01(\x0b\x32\x08.MnetCfg\"0\n\rSetMnetCfgRsp\x12\x0f\n\x07req_ids\x18\x01 \x01(\x05\x12\x0e\n\x06result\x18\x02 \x01(\x05\"N\n\x0e\x44rvDebugDdsZmq\x12\x11\n\tis_enable\x18\x01 \x01(\x08\x12\x15\n\rrx_topic_name\x18\x02 \x01(\t\x12\x12\n\ntx_zmq_url\x18\x03 \x01(\t\"!\n\x0cSetDrvBleMTU\x12\x11\n\tmtu_count\x18\x01 \x01(\x05\">\n\x0f\x42leSignatureReq\x12\x16\n\x0esignature_data\x18\x01 \x01(\t\x12\x13\n\x0brandom_data\x18\x02 \x01(\t\"\xb0\x01\n\x1a\x42leLogUploadUpdateProgress\x12\x0b\n\x03ver\x18\x01 \x01(\x05\x12\x0e\n\x06status\x18\x02 \x01(\x05\x12\r\n\x05\x62izId\x18\x03 \x01(\t\x12\x0c\n\x04prog\x18\x04 \x01(\x05\x12\x0f\n\x07subProg\x18\x05 \x01(\x05\x12\x0c\n\x04\x66Num\x18\x06 \x01(\x05\x12\r\n\x05speed\x18\x07 \x01(\x05\x12\x0c\n\x04\x66Idx\x18\x08 \x01(\x05\x12\r\n\x05\x66Path\x18\t \x01(\t\x12\r\n\x05\x66Size\x18\n \x01(\x05\"\xcb\x0b\n\x06\x44\x65vNet\x12\x18\n\x0etodev_ble_sync\x18\x01 \x01(\x05H\x00\x12\'\n\x0etodev_ConfType\x18\x02 \x01(\x0e\x32\r.WifiConfTypeH\x00\x12-\n\x13todev_WifiMsgUpload\x18\x03 \x01(\x0b\x32\x0e.DrvWifiUploadH\x00\x12,\n\x14todev_WifiListUpload\x18\x04 \x01(\x0b\x32\x0c.DrvWifiListH\x00\x12/\n\x18todev_Wifi_Configuration\x18\x05 \x01(\x0b\x32\x0b.DrvWifiSetH\x00\x12$\n\rtoapp_WifiMsg\x18\x06 \x01(\x0b\x32\x0b.DrvWifiMsgH\x00\x12&\n\x0etoapp_WifiConf\x18\x07 \x01(\x0b\x32\x0c.DrvWifiConfH\x00\x12*\n\x10toapp_ListUpload\x18\x08 \x01(\x0b\x32\x0e.DrvListUploadH\x00\x12/\n\x12todev_req_log_info\x18\t \x01(\x0b\x32\x11.DrvUploadFileReqH\x00\x12\x35\n\x15todev_log_data_cancel\x18\n \x01(\x0b\x32\x14.DrvUploadFileCancelH\x00\x12+\n\x11todev_devinfo_req\x18\x0b \x01(\x0b\x32\x0e.DrvDevInfoReqH\x00\x12-\n\x12toapp_devinfo_resp\x18\x0c \x01(\x0b\x32\x0f.DrvDevInfoRespH\x00\x12\x31\n\x14toapp_upgrade_report\x18\r \x01(\x0b\x32\x11.DrvUpgradeReportH\x00\x12\x35\n\x15toapp_wifi_iot_status\x18\x0e \x01(\x0b\x32\x14.WifiIotStatusReportH\x00\x12\x36\n\x14todev_uploadfile_req\x18\x0f \x01(\x0b\x32\x16.DrvUploadFileToAppReqH\x00\x12\x36\n\x14toapp_uploadfile_rsp\x18\x10 \x01(\x0b\x32\x16.DrvUploadFileToAppRspH\x00\x12\x33\n\x15todev_networkinfo_req\x18\x11 \x01(\x0b\x32\x12.GetNetworkInfoReqH\x00\x12\x33\n\x15toapp_networkinfo_rsp\x18\x12 \x01(\x0b\x32\x12.GetNetworkInfoRspH\x00\x12%\n\x0c\x62ir_testdata\x18\x13 \x01(\x0b\x32\r.BleTestBytesH\x00\x12.\n\x13todev_mnet_info_req\x18\x14 \x01(\x0b\x32\x0f.GetMnetInfoReqH\x00\x12.\n\x13toapp_mnet_info_rsp\x18\x15 \x01(\x0b\x32\x0f.GetMnetInfoRspH\x00\x12\x30\n\x16todev_get_mnet_cfg_req\x18\x16 \x01(\x0b\x32\x0e.GetMnetCfgReqH\x00\x12\x30\n\x16toapp_get_mnet_cfg_rsp\x18\x17 \x01(\x0b\x32\x0e.GetMnetCfgRspH\x00\x12\x30\n\x16todev_set_mnet_cfg_req\x18\x18 \x01(\x0b\x32\x0e.SetMnetCfgReqH\x00\x12\x30\n\x16toapp_set_mnet_cfg_rsp\x18\x19 \x01(\x0b\x32\x0e.SetMnetCfgRspH\x00\x12,\n\x11todev_set_dds2zmq\x18\x1a \x01(\x0b\x32\x0f.DrvDebugDdsZmqH\x00\x12*\n\x11todev_set_ble_mtu\x18\x1b \x01(\x0b\x32\r.SetDrvBleMTUH\x00\x12\x36\n\x19todev_set_iot_offline_req\x18\x1c \x01(\x0e\x32\x11.iot_conctrl_typeH\x00\x12\x36\n\x1atodev_verify_signature_req\x18\x1d \x01(\x0b\x32\x10.BleSignatureReqH\x00\x12G\n toapp_log_upload_update_progress\x18\x1e \x01(\x0b\x32\x1b.BleLogUploadUpdateProgressH\x00\x42\x0c\n\nNetSubType*l\n\x0cWifiConfType\x12\x12\n\x0e\x44isconnectWifi\x10\x00\x12\x0e\n\nForgetWifi\x10\x01\x12\x15\n\x11\x44irectConnectWifi\x10\x02\x12\x11\n\rReconnectWifi\x10\x03\x12\x0e\n\nset_enable\x10\x04*l\n\x15\x44rvUploadFileFileType\x12\x11\n\rFILE_TYPE_ALL\x10\x00\x12\x14\n\x10\x46ILE_TYPE_SYSLOG\x10\x01\x12\x14\n\x10\x46ILE_TYPE_NAVLOG\x10\x02\x12\x14\n\x10\x46ILE_TYPE_RTKLOG\x10\x03*R\n\x10\x44rvDevInfoResult\x12\x13\n\x0f\x44RV_RESULT_FAIL\x10\x00\x12\x12\n\x0e\x44RV_RESULT_SUC\x10\x01\x12\x15\n\x11\x44RV_RESULT_NOTSUP\x10\x02*p\n\x0csim_card_sta\x12\x0c\n\x08SIM_NONE\x10\x00\x12\x0f\n\x0bSIM_NO_CARD\x10\x01\x12\x0f\n\x0bSIM_INVALID\x10\x02\x12\x11\n\rSIM_INPUT_PIN\x10\x03\x12\x11\n\rSIM_INPUT_PUK\x10\x04\x12\n\n\x06SIM_OK\x10\x05*l\n\x0emnet_link_type\x12\x12\n\x0eMNET_LINK_NONE\x10\x00\x12\x10\n\x0cMNET_LINK_2G\x10\x01\x12\x10\n\x0cMNET_LINK_3G\x10\x02\x12\x10\n\x0cMNET_LINK_4G\x10\x03\x12\x10\n\x0cMNET_LINK_5G\x10\x04*^\n\rapn_auth_type\x12\x11\n\rAPN_AUTH_NONE\x10\x00\x12\x10\n\x0c\x41PN_AUTH_PAP\x10\x01\x12\x11\n\rAPN_AUTH_CHAP\x10\x02\x12\x15\n\x11\x41PN_AUTH_PAP_CHAP\x10\x03*0\n\x08net_type\x12\x11\n\rNET_TYPE_WIFI\x10\x00\x12\x11\n\rNET_TYPE_MNET\x10\x01*Q\n\x10iot_conctrl_type\x12\x14\n\x10IOT_TYPE_OFFLINE\x10\x00\x12\x13\n\x0fIOT_TYPE_ONLINE\x10\x01\x12\x12\n\x0eIOT_TYPE_RESET\x10\x02\x62\x06proto3')
|
|
17
17
|
|
|
18
18
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
|
|
19
19
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'pymammotion.proto.dev_net_pb2', globals())
|
|
@@ -29,13 +29,13 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
|
29
29
|
_SIM_CARD_STA._serialized_start=4731
|
|
30
30
|
_SIM_CARD_STA._serialized_end=4843
|
|
31
31
|
_MNET_LINK_TYPE._serialized_start=4845
|
|
32
|
-
_MNET_LINK_TYPE._serialized_end=
|
|
33
|
-
_APN_AUTH_TYPE._serialized_start=
|
|
34
|
-
_APN_AUTH_TYPE._serialized_end=
|
|
35
|
-
_NET_TYPE._serialized_start=
|
|
36
|
-
_NET_TYPE._serialized_end=
|
|
37
|
-
_IOT_CONCTRL_TYPE._serialized_start=
|
|
38
|
-
_IOT_CONCTRL_TYPE._serialized_end=
|
|
32
|
+
_MNET_LINK_TYPE._serialized_end=4953
|
|
33
|
+
_APN_AUTH_TYPE._serialized_start=4955
|
|
34
|
+
_APN_AUTH_TYPE._serialized_end=5049
|
|
35
|
+
_NET_TYPE._serialized_start=5051
|
|
36
|
+
_NET_TYPE._serialized_end=5099
|
|
37
|
+
_IOT_CONCTRL_TYPE._serialized_start=5101
|
|
38
|
+
_IOT_CONCTRL_TYPE._serialized_end=5182
|
|
39
39
|
_DRVWIFIUPLOAD._serialized_start=35
|
|
40
40
|
_DRVWIFIUPLOAD._serialized_end=75
|
|
41
41
|
_DRVWIFILIST._serialized_start=77
|
|
@@ -14,7 +14,7 @@ _sym_db = _symbol_database.Default()
|
|
|
14
14
|
from pymammotion.proto import common_pb2 as pymammotion_dot_proto_dot_common__pb2
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!pymammotion/proto/mctrl_nav.proto\x1a\x1epymammotion/proto/common.proto\"\'\n\x0bNavLatLonUp\x12\x0b\n\x03lat\x18\x01 \x01(\x01\x12\x0b\n\x03lon\x18\x02 \x01(\x01\"!\n\x0eNavBorderState\x12\x0f\n\x07\x62\x64state\x18\x01 \x01(\x05\"\xc9\x01\n\x08NavPosUp\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\x12\x0e\n\x06status\x18\x03 \x01(\x05\x12\x0e\n\x06toward\x18\x04 \x01(\x05\x12\r\n\x05stars\x18\x05 \x01(\x05\x12\x0b\n\x03\x61ge\x18\x06 \x01(\x02\x12\x11\n\tlatStddev\x18\x07 \x01(\x02\x12\x11\n\tlonStddev\x18\x08 \x01(\x02\x12\x11\n\tl2dfStars\x18\t \x01(\x05\x12\x0f\n\x07posType\x18\n \x01(\x05\x12\x0f\n\x07\x63HashId\x18\x0b \x01(\x03\x12\x10\n\x08posLevel\x18\x0c \x01(\x05\":\n\x13NavBorderDataGetAck\x12\r\n\x05jobId\x18\x01 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x02 \x01(\x05\"Z\n\x15NavObstiBorderDataGet\x12\x15\n\robstacleIndex\x18\x01 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x02 \x01(\x05\x12\x14\n\x0cobstaclesLen\x18\x03 \x01(\x05\"G\n\x18NavObstiBorderDataGetAck\x12\x15\n\robstacleIndex\x18\x01 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x02 \x01(\x05\"d\n\x0eNavCHlLineData\x12\x12\n\nstartJobRI\x18\x01 \x01(\x05\x12\x10\n\x08\x65ndJobRI\x18\x02 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x03 \x01(\x05\x12\x16\n\x0e\x63hannelLineLen\x18\x04 \x01(\x05\"O\n\x11NavCHlLineDataAck\x12\x12\n\nstartJobRI\x18\x01 \x01(\x05\x12\x10\n\x08\x65ndJobRI\x18\x02 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x03 \x01(\x05\"\x7f\n\x0bNavTaskInfo\x12\x0c\n\x04\x61rea\x18\x01 \x01(\x05\x12\x0c\n\x04time\x18\x02 \x01(\x05\x12\x10\n\x08\x61llFrame\x18\x03 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x04 \x01(\x05\x12\x0f\n\x07pathlen\x18\x05 \x01(\x05\x12\x1b\n\x02\x64\x63\x18\x06 \x03(\x0b\x32\x0f.CommDataCouple\"J\n\x10NavBorderDataGet\x12\r\n\x05jobId\x18\x01 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x02 \x01(\x05\x12\x11\n\tborderLen\x18\x03 \x01(\x05\"\x91\x01\n\x0cNavOptLineUp\x12\x12\n\nstartJobRI\x18\x01 \x01(\x05\x12\x10\n\x08\x65ndJobRI\x18\x02 \x01(\x05\x12\x10\n\x08\x61llFrame\x18\x03 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x04 \x01(\x05\x12\x16\n\x0e\x63hannelDataLen\x18\x05 \x01(\x05\x12\x1b\n\x02\x64\x63\x18\x06 \x03(\x0b\x32\x0f.CommDataCouple\"~\n\x11NavOptiBorderInfo\x12\r\n\x05jobId\x18\x01 \x01(\x05\x12\x10\n\x08\x61llFrame\x18\x02 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x03 \x01(\x05\x12\x15\n\rborderDataLen\x18\x04 \x01(\x05\x12\x1b\n\x02\x64\x63\x18\x05 \x03(\x0b\x32\x0f.CommDataCouple\"\x81\x01\n\rNavOptObsInfo\x12\x12\n\nobstacleId\x18\x01 \x01(\x05\x12\x10\n\x08\x61llFrame\x18\x02 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x03 \x01(\x05\x12\x17\n\x0fobstacleDataLen\x18\x04 \x01(\x05\x12\x1b\n\x02\x64\x63\x18\x05 \x03(\x0b\x32\x0f.CommDataCouple\"\xb4\x01\n\x0bNavStartJob\x12\r\n\x05jobId\x18\x01 \x01(\x03\x12\x0e\n\x06jobVer\x18\x02 \x01(\x05\x12\x0f\n\x07jobMode\x18\x03 \x01(\x05\x12\x13\n\x0brainTactics\x18\x04 \x01(\x05\x12\x13\n\x0bknifeHeight\x18\x05 \x01(\x05\x12\r\n\x05speed\x18\x06 \x01(\x02\x12\x14\n\x0c\x63hannelWidth\x18\x07 \x01(\x05\x12\x11\n\tUltraWave\x18\x08 \x01(\x05\x12\x13\n\x0b\x63hannelMode\x18\t \x01(\x05\"\'\n\x0fNavTaskProgress\x12\x14\n\x0ctaskProgress\x18\x01 \x01(\x05\"\x1e\n\x0bNavResFrame\x12\x0f\n\x07\x66rameid\x18\x01 \x01(\x05\"|\n\x0eNavGetHashList\x12\x0c\n\x04pver\x18\x01 \x01(\x05\x12\x0e\n\x06subCmd\x18\x02 \x01(\x05\x12\x12\n\ntotalFrame\x18\x03 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x04 \x01(\x05\x12\x10\n\x08\x64\x61taHash\x18\x05 \x01(\x06\x12\x10\n\x08reserved\x18\x06 \x01(\t\"\xb4\x01\n\x11NavGetHashListAck\x12\x0c\n\x04pver\x18\x01 \x01(\x05\x12\x0e\n\x06subCmd\x18\x02 \x01(\x05\x12\x12\n\ntotalFrame\x18\x03 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x04 \x01(\x05\x12\x10\n\x08\x64\x61taHash\x18\x05 \x01(\x06\x12\x0f\n\x07hashLen\x18\x06 \x01(\x05\x12\x10\n\x08reserved\x18\x07 \x01(\t\x12\x0e\n\x06result\x18\x08 \x01(\x05\x12\x12\n\ndataCouple\x18\r \x03(\x03\"\xd6\x01\n\x0eNavGetCommData\x12\x0c\n\x04pver\x18\x01 \x01(\x05\x12\x0e\n\x06subCmd\x18\x02 \x01(\x05\x12\x0e\n\x06\x61\x63tion\x18\x03 \x01(\x05\x12\x0c\n\x04type\x18\x04 \x01(\x05\x12\x0c\n\x04hash\x18\x05 \x01(\x03\x12\x15\n\rpaternalHashA\x18\x06 \x01(\x03\x12\x15\n\rpaternalHashB\x18\x07 \x01(\x03\x12\x12\n\ntotalFrame\x18\x08 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\t \x01(\x05\x12\x10\n\x08\x64\x61taHash\x18\n \x01(\x06\x12\x10\n\x08reserved\x18\x0b \x01(\t\"H\n\x0eNavGetNameTime\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x63reate_time\x18\x02 \x01(\x06\x12\x13\n\x0bmodify_time\x18\x03 \x01(\x06\"\xc2\x02\n\x11NavGetCommDataAck\x12\x0c\n\x04pver\x18\x01 \x01(\x05\x12\x0e\n\x06subCmd\x18\x02 \x01(\x05\x12\x0e\n\x06result\x18\x03 \x01(\x05\x12\x0e\n\x06\x61\x63tion\x18\x04 \x01(\x05\x12\x0c\n\x04type\x18\x05 \x01(\x05\x12\x0c\n\x04Hash\x18\x06 \x01(\x06\x12\x15\n\rpaternalHashA\x18\x07 \x01(\x06\x12\x15\n\rpaternalHashB\x18\x08 \x01(\x06\x12\x12\n\ntotalFrame\x18\t \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\n \x01(\x05\x12\x10\n\x08\x64\x61taHash\x18\x0b \x01(\x06\x12\x0f\n\x07\x64\x61taLen\x18\x0c \x01(\x05\x12#\n\ndataCouple\x18\r \x03(\x0b\x32\x0f.CommDataCouple\x12\x10\n\x08reserved\x18\x0e \x01(\t\x12!\n\x08nameTime\x18\x0f \x01(\x0b\x32\x0f.NavGetNameTime\"\xde\x02\n\x0fNavReqCoverPath\x12\x0c\n\x04pver\x18\x01 \x01(\x05\x12\r\n\x05jobId\x18\x02 \x01(\x06\x12\x0e\n\x06jobVer\x18\x03 \x01(\x05\x12\x0f\n\x07jobMode\x18\x04 \x01(\x05\x12\x0e\n\x06subCmd\x18\x05 \x01(\x05\x12\x10\n\x08\x65\x64geMode\x18\x06 \x01(\x05\x12\x13\n\x0bknifeHeight\x18\x07 \x01(\x05\x12\x14\n\x0c\x63hannelWidth\x18\x08 \x01(\x05\x12\x11\n\tUltraWave\x18\t \x01(\x05\x12\x13\n\x0b\x63hannelMode\x18\n \x01(\x05\x12\x0e\n\x06toward\x18\x0b \x01(\x05\x12\r\n\x05speed\x18\x0c \x01(\x02\x12\x11\n\tzoneHashs\x18\r \x03(\x06\x12\x10\n\x08pathHash\x18\x0e \x01(\x06\x12\x10\n\x08reserved\x18\x0f \x01(\t\x12\x0e\n\x06result\x18\x10 \x01(\x05\x12\x13\n\x0btoward_mode\x18\x11 \x01(\x05\x12\x1d\n\x15toward_included_angle\x18\x12 \x01(\x05\"\xa7\x03\n\x15NavUploadZigZagResult\x12\x0c\n\x04pver\x18\x01 \x01(\x05\x12\r\n\x05jobId\x18\x02 \x01(\x06\x12\x0e\n\x06jobVer\x18\x03 \x01(\x05\x12\x0e\n\x06result\x18\x04 \x01(\x05\x12\x0c\n\x04\x61rea\x18\x05 \x01(\x05\x12\x0c\n\x04time\x18\x06 \x01(\x05\x12\x14\n\x0ctotalZoneNum\x18\x07 \x01(\x05\x12\x1a\n\x12\x63urrentZonePathNum\x18\x08 \x01(\x05\x12\x19\n\x11\x63urrentZonePathId\x18\t \x01(\x05\x12\x13\n\x0b\x63urrentZone\x18\n \x01(\x05\x12\x13\n\x0b\x63urrentHash\x18\x0b \x01(\x06\x12\x12\n\ntotalFrame\x18\x0c \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\r \x01(\x05\x12\x13\n\x0b\x63hannelMode\x18\x0e \x01(\x05\x12\x15\n\rchannelModeId\x18\x0f \x01(\x05\x12\x10\n\x08\x64\x61taHash\x18\x10 \x01(\x06\x12\x0f\n\x07\x64\x61taLen\x18\x11 \x01(\x05\x12\x10\n\x08reserved\x18\x12 \x01(\t\x12#\n\ndataCouple\x18\x13 \x03(\x0b\x32\x0f.CommDataCouple\x12\x0e\n\x06subCmd\x18\x14 \x01(\x05\"\xb0\x01\n\x18NavUploadZigZagResultAck\x12\x0c\n\x04pver\x18\x01 \x01(\x05\x12\x13\n\x0b\x63urrentZone\x18\x02 \x01(\x05\x12\x13\n\x0b\x63urrentHash\x18\x03 \x01(\x06\x12\x12\n\ntotalFrame\x18\x04 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x05 \x01(\x05\x12\x10\n\x08\x64\x61taHash\x18\x06 \x01(\x06\x12\x10\n\x08reserved\x18\x07 \x01(\t\x12\x0e\n\x06subCmd\x18\x08 \x01(\x05\"M\n\x0bNavTaskCtrl\x12\x0c\n\x04type\x18\x01 \x01(\x05\x12\x0e\n\x06\x61\x63tion\x18\x02 \x01(\x05\x12\x0e\n\x06result\x18\x03 \x01(\x05\x12\x10\n\x08reserved\x18\x04 \x01(\t\"o\n\x0bNavTaskIdRw\x12\x0c\n\x04pver\x18\x01 \x01(\x05\x12\x0e\n\x06subCmd\x18\x02 \x01(\x05\x12\x10\n\x08taskName\x18\x03 \x01(\t\x12\x0e\n\x06taskId\x18\x04 \x01(\t\x12\x0e\n\x06result\x18\x05 \x01(\x05\x12\x10\n\x08reserved\x18\x06 \x01(\t\"J\n\x12NavSysHashOverview\x12\x1a\n\x12\x63ommonhashOverview\x18\x01 \x01(\x06\x12\x18\n\x10pathHashOverview\x18\x02 \x01(\x06\"i\n\x11NavTaskBreakPoint\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\x12\x0e\n\x06toward\x18\x03 \x01(\x05\x12\x0c\n\x04\x66lag\x18\x04 \x01(\x05\x12\x0e\n\x06\x61\x63tion\x18\x05 \x01(\x05\x12\x10\n\x08zoneHash\x18\x06 \x01(\x06\"\xc2\x05\n\rNavPlanJobSet\x12\x0c\n\x04pver\x18\x01 \x01(\x05\x12\x0e\n\x06subCmd\x18\x02 \x01(\x05\x12\x0c\n\x04\x61rea\x18\x03 \x01(\x05\x12\x10\n\x08workTime\x18\x04 \x01(\x05\x12\x0f\n\x07version\x18\x05 \x01(\t\x12\n\n\x02id\x18\x06 \x01(\t\x12\x0e\n\x06userId\x18\x07 \x01(\t\x12\x10\n\x08\x64\x65viceId\x18\x08 \x01(\t\x12\x0e\n\x06planId\x18\t \x01(\t\x12\x0e\n\x06taskId\x18\n \x01(\t\x12\r\n\x05jobId\x18\x0b \x01(\t\x12\x11\n\tstartTime\x18\x0c \x01(\t\x12\x0f\n\x07\x65ndTime\x18\r \x01(\t\x12\x0c\n\x04week\x18\x0e \x01(\x05\x12\x13\n\x0bknifeHeight\x18\x0f \x01(\x05\x12\r\n\x05model\x18\x10 \x01(\x05\x12\x10\n\x08\x65\x64geMode\x18\x11 \x01(\x05\x12\x14\n\x0crequiredTime\x18\x12 \x01(\x05\x12\x12\n\nrouteAngle\x18\x13 \x01(\x05\x12\x12\n\nrouteModel\x18\x14 \x01(\x05\x12\x14\n\x0crouteSpacing\x18\x15 \x01(\x05\x12\x19\n\x11ultrasonicBarrier\x18\x16 \x01(\x05\x12\x14\n\x0ctotalPlanNum\x18\x17 \x01(\x05\x12\x11\n\tPlanIndex\x18\x18 \x01(\x05\x12\x0e\n\x06result\x18\x19 \x01(\x05\x12\r\n\x05speed\x18\x1a \x01(\x02\x12\x10\n\x08taskName\x18\x1b \x01(\t\x12\x0f\n\x07jobName\x18\x1c \x01(\t\x12\x11\n\tzoneHashs\x18\x1d \x03(\x06\x12\x10\n\x08reserved\x18\x1e \x01(\t\x12\x11\n\tstartDate\x18\x1f \x01(\t\x12\x0f\n\x07\x65ndDate\x18 \x01(\t\x12\x13\n\x0btriggerType\x18! \x01(\x05\x12\x0b\n\x03\x64\x61y\x18\" \x01(\x05\x12\r\n\x05weeks\x18# \x03(\x07\x12\x18\n\x10remained_seconds\x18$ \x01(\x03\x12\x12\n\ntowardMode\x18% \x01(\x05\x12\x1b\n\x13towardIncludedAngle\x18& \x01(\x05\"\x97\x01\n\x10NavUnableTimeSet\x12\x0e\n\x06subCmd\x18\x01 \x01(\x05\x12\x10\n\x08\x64\x65viceId\x18\x02 \x01(\t\x12\x17\n\x0funableStartTime\x18\x03 \x01(\t\x12\x15\n\runableEndTime\x18\x04 \x01(\t\x12\x0e\n\x06result\x18\x05 \x01(\x05\x12\x10\n\x08reserved\x18\x06 \x01(\t\x12\x0f\n\x07trigger\x18\x07 \x01(\x05\"6\n\x0e\x63hargePileType\x12\x0e\n\x06toward\x18\x01 \x01(\x05\x12\t\n\x01x\x18\x02 \x01(\x02\x12\t\n\x01y\x18\x03 \x01(\x02\"J\n\x11SimulationCmdData\x12\x0e\n\x06subCmd\x18\x01 \x01(\x05\x12\x10\n\x08param_id\x18\x02 \x01(\x05\x12\x13\n\x0bparam_value\x18\x03 \x03(\x05\"%\n\x13WorkReportUpdateCmd\x12\x0e\n\x06subCmd\x18\x01 \x01(\x05\"<\n\x13WorkReportUpdateAck\x12\x13\n\x0bupdate_flag\x18\x01 \x01(\x08\x12\x10\n\x08info_num\x18\x02 \x01(\x05\"7\n\x11WorkReportCmdData\x12\x0e\n\x06subCmd\x18\x01 \x01(\x05\x12\x12\n\ngetInfoNum\x18\x02 \x01(\x05\"\xa3\x02\n\x11WorkReportInfoAck\x12\x16\n\x0einterrupt_flag\x18\x01 \x01(\x08\x12\x17\n\x0fstart_work_time\x18\x02 \x01(\x03\x12\x15\n\rend_work_time\x18\x03 \x01(\x03\x12\x16\n\x0ework_time_used\x18\x04 \x01(\x05\x12\x11\n\twork_ares\x18\x05 \x01(\x01\x12\x15\n\rwork_progress\x18\x06 \x01(\x05\x12\x17\n\x0fheight_of_knife\x18\x07 \x01(\x05\x12\x11\n\twork_type\x18\x08 \x01(\x05\x12\x13\n\x0bwork_result\x18\t \x01(\x05\x12\x15\n\rtotal_ack_num\x18\n \x01(\x05\x12\x17\n\x0f\x63urrent_ack_num\x18\x0b \x01(\x05\x12\x13\n\x0bjob_content\x18\x0c \x01(\x05\"\xb2\x01\n\x19\x61pp_request_cover_paths_t\x12\x0c\n\x04pver\x18\x01 \x01(\x05\x12\x0e\n\x06subCmd\x18\x02 \x01(\x05\x12\x12\n\ntotalFrame\x18\x03 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x04 \x01(\x05\x12\x10\n\x08\x64\x61taHash\x18\x05 \x01(\x06\x12\x16\n\x0etransaction_id\x18\x06 \x01(\x03\x12\x10\n\x08reserved\x18\x07 \x03(\x03\x12\x11\n\thash_list\x18\x08 \x03(\x06\"\x99\x01\n\x13\x63over_path_packet_t\x12\x11\n\tpath_hash\x18\x01 \x01(\x06\x12\x11\n\tpath_type\x18\x02 \x01(\x05\x12\x12\n\npath_total\x18\x03 \x01(\x05\x12\x10\n\x08path_cur\x18\x04 \x01(\x05\x12\x11\n\tzone_hash\x18\x05 \x01(\x06\x12#\n\ndataCouple\x18\x06 \x03(\x0b\x32\x0f.CommDataCouple\"\xb2\x02\n\x13\x63over_path_upload_t\x12\x0c\n\x04pver\x18\x01 \x01(\x05\x12\x0e\n\x06result\x18\x02 \x01(\x05\x12\x0e\n\x06subCmd\x18\x03 \x01(\x05\x12\x0c\n\x04\x61rea\x18\x04 \x01(\x05\x12\x0c\n\x04time\x18\x05 \x01(\x05\x12\x12\n\ntotalFrame\x18\x06 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x07 \x01(\x05\x12\x16\n\x0etotal_path_num\x18\x08 \x01(\x05\x12\x16\n\x0evaild_path_num\x18\t \x01(\x05\x12\x10\n\x08\x64\x61taHash\x18\n \x01(\x06\x12\x16\n\x0etransaction_id\x18\x0b \x01(\x03\x12\x10\n\x08reserved\x18\x0c \x03(\x03\x12\x0f\n\x07\x64\x61taLen\x18\r \x01(\x05\x12*\n\x0cpath_packets\x18\x0e \x03(\x0b\x32\x14.cover_path_packet_t\"M\n\x14zone_start_precent_t\x12\x10\n\x08\x64\x61taHash\x18\x01 \x01(\x06\x12\t\n\x01x\x18\x02 \x01(\x02\x12\t\n\x01y\x18\x03 \x01(\x02\x12\r\n\x05index\x18\x04 \x01(\x05\",\n\x0fvision_ctrl_msg\x12\x0c\n\x04type\x18\x01 \x01(\x05\x12\x0b\n\x03\x63md\x18\x02 \x01(\x05\"<\n\x11nav_sys_param_msg\x12\n\n\x02rw\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\x0f\n\x07\x63ontext\x18\x03 \x01(\x05\"Q\n\x15nav_plan_task_execute\x12\x0e\n\x06subCmd\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x0e\n\x06result\x18\x04 \x01(\x05\"y\n\tcostmap_t\x12\r\n\x05width\x18\x01 \x01(\x05\x12\x0e\n\x06height\x18\x02 \x01(\x05\x12\x10\n\x08\x63\x65nter_x\x18\x03 \x01(\x02\x12\x10\n\x08\x63\x65nter_y\x18\x04 \x01(\x02\x12\x0b\n\x03yaw\x18\x05 \x01(\x02\x12\x0b\n\x03res\x18\x06 \x01(\x02\x12\x0f\n\x07\x63ostmap\x18\x07 \x03(\x05\"\x94\x02\n\rsvg_message_t\x12\x0e\n\x06x_move\x18\x01 \x01(\x01\x12\x0e\n\x06y_move\x18\x02 \x01(\x01\x12\r\n\x05scale\x18\x03 \x01(\x01\x12\x0e\n\x06rotate\x18\x04 \x01(\x01\x12\x14\n\x0c\x62\x61se_width_m\x18\x05 \x01(\x01\x12\x15\n\rbase_height_m\x18\x06 \x01(\x01\x12\x16\n\x0e\x62\x61se_width_pix\x18\x07 \x01(\x05\x12\x17\n\x0f\x62\x61se_height_pix\x18\x08 \x01(\x05\x12\x15\n\rsvg_file_name\x18\t \x01(\t\x12\x15\n\rsvg_file_data\x18\n \x01(\t\x12\x12\n\nname_count\x18\x0b \x01(\x05\x12\x12\n\ndata_count\x18\x0c \x01(\x05\x12\x10\n\x08hide_svg\x18\r \x01(\x08\"\xc7\x01\n\x11svg_message_ack_t\x12\x0c\n\x04pver\x18\x01 \x01(\x05\x12\x0e\n\x06subCmd\x18\x02 \x01(\x05\x12\x12\n\ntotalFrame\x18\x03 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x04 \x01(\x05\x12\x10\n\x08\x64\x61taHash\x18\x05 \x01(\x06\x12\x15\n\rpaternalHashA\x18\x06 \x01(\x06\x12\x0c\n\x04type\x18\x07 \x01(\x05\x12\x0e\n\x06result\x18\x08 \x01(\x05\x12#\n\x0bsvg_message\x18\t \x01(\x0b\x32\x0e.svg_message_t\"/\n\x13plan_task_name_id_t\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"<\n\x15nav_get_all_plan_task\x12#\n\x05tasks\x18\x01 \x03(\x0b\x32\x14.plan_task_name_id_t\",\n\x0e\x61rea_hash_name\x12\x0c\n\x04hash\x18\x01 \x01(\x06\x12\x0c\n\x04name\x18\x02 \x01(\t\"M\n\x15\x41ppGetAllAreaHashName\x12\x10\n\x08\x64\x65viceId\x18\x01 \x01(\t\x12\"\n\thashnames\x18\x02 \x03(\x0b\x32\x0f.area_hash_name\"c\n\x0eNavTaskCtrlAck\x12\x0c\n\x04type\x18\x01 \x01(\x05\x12\x0e\n\x06\x61\x63tion\x18\x02 \x01(\x05\x12\x0e\n\x06result\x18\x03 \x01(\x05\x12\x11\n\tnav_state\x18\x04 \x01(\x05\x12\x10\n\x08reserved\x18\x05 \x01(\t\"Y\n\rNavMapNameMsg\x12\n\n\x02rw\x18\x01 \x01(\x05\x12\x0c\n\x04hash\x18\x02 \x01(\x06\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x0e\n\x06result\x18\x04 \x01(\x05\x12\x10\n\x08\x64\x65viceId\x18\x05 \x01(\t\"\x9a\x01\n\rNavEdgePoints\x12\x0e\n\x06result\x18\x01 \x01(\x05\x12\x0e\n\x06\x61\x63tion\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\x0c\n\x04Hash\x18\x04 \x01(\x06\x12\x12\n\ntotalFrame\x18\x05 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x06 \x01(\x05\x12#\n\ndataCouple\x18\x07 \x03(\x0b\x32\x0f.CommDataCouple\"x\n\x10NavEdgePointsAck\x12\x0e\n\x06result\x18\x01 \x01(\x05\x12\x0e\n\x06\x61\x63tion\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\x0c\n\x04Hash\x18\x04 \x01(\x06\x12\x12\n\ntotalFrame\x18\x05 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x06 \x01(\x05\"\x8f\x02\n\x14ManualElementMessage\x12\x0c\n\x04pver\x18\x01 \x01(\x05\x12\x0c\n\x04type\x18\x02 \x01(\x05\x12\r\n\x05shape\x18\x03 \x01(\x05\x12\x0e\n\x06result\x18\x04 \x01(\x05\x12\x0e\n\x06subCmd\x18\x05 \x01(\x05\x12\x10\n\x08\x64\x61taHash\x18\x06 \x01(\x06\x12\x0e\n\x06ifHide\x18\x07 \x01(\x08\x12\x10\n\x08reserved\x18\x08 \x01(\t\x12\x17\n\x0fpoint1_center_x\x18\t \x01(\x01\x12\x17\n\x0fpoint1_center_y\x18\n \x01(\x01\x12\x16\n\x0epoint2_width_x\x18\x0b \x01(\x01\x12\x17\n\x0fpoint2_height_y\x18\x0c \x01(\x01\x12\x15\n\rrotate_radius\x18\r \x01(\x01\"\x81\x16\n\x07MctlNav\x12$\n\x0ctoapp_lat_up\x18\x01 \x01(\x0b\x32\x0c.NavLatLonUpH\x00\x12!\n\x0ctoapp_pos_up\x18\x02 \x01(\x0b\x32\t.NavPosUpH\x00\x12.\n\x13todev_chl_line_data\x18\x03 \x01(\x0b\x32\x0f.NavCHlLineDataH\x00\x12\'\n\x0ftoapp_task_info\x18\x04 \x01(\x0b\x32\x0c.NavTaskInfoH\x00\x12*\n\x11toapp_opt_line_up\x18\x05 \x01(\x0b\x32\r.NavOptLineUpH\x00\x12\x33\n\x15toapp_opt_border_info\x18\x06 \x01(\x0b\x32\x12.NavOptiBorderInfoH\x00\x12,\n\x12toapp_opt_obs_info\x18\x07 \x01(\x0b\x32\x0e.NavOptObsInfoH\x00\x12+\n\x13todev_task_info_ack\x18\x08 \x01(\x0b\x32\x0c.NavResFrameH\x00\x12\x31\n\x19todev_opt_border_info_ack\x18\t \x01(\x0b\x32\x0c.NavResFrameH\x00\x12.\n\x16todev_opt_obs_info_ack\x18\n \x01(\x0b\x32\x0c.NavResFrameH\x00\x12-\n\x15todev_opt_line_up_ack\x18\x0b \x01(\x0b\x32\x0c.NavResFrameH\x00\x12*\n\x0ftoapp_chgpileto\x18\x0c \x01(\x0b\x32\x0f.chargePileTypeH\x00\x12\x17\n\rtodev_sustask\x18\r \x01(\x05H\x00\x12\x18\n\x0etodev_rechgcmd\x18\x0e \x01(\x05H\x00\x12\x17\n\rtodev_edgecmd\x18\x0f \x01(\x05H\x00\x12\x1b\n\x11todev_draw_border\x18\x10 \x01(\x05H\x00\x12\x1f\n\x15todev_draw_border_end\x18\x11 \x01(\x05H\x00\x12\x18\n\x0etodev_draw_obs\x18\x12 \x01(\x05H\x00\x12\x1c\n\x12todev_draw_obs_end\x18\x13 \x01(\x05H\x00\x12\x18\n\x0etodev_chl_line\x18\x14 \x01(\x05H\x00\x12\x1c\n\x12todev_chl_line_end\x18\x15 \x01(\x05H\x00\x12\x19\n\x0ftodev_save_task\x18\x16 \x01(\x05H\x00\x12\x1d\n\x13todev_cancel_suscmd\x18\x17 \x01(\x05H\x00\x12\x1e\n\x14todev_reset_chg_pile\x18\x18 \x01(\x05H\x00\x12\x1f\n\x15todev_cancel_draw_cmd\x18\x19 \x01(\x05H\x00\x12$\n\x1atodev_one_touch_leave_pile\x18\x1a \x01(\x05H\x00\x12&\n\x0etodev_mow_task\x18\x1b \x01(\x0b\x32\x0c.NavStartJobH\x00\x12\'\n\x0ctoapp_bstate\x18\x1c \x01(\x0b\x32\x0f.NavBorderStateH\x00\x12\x1a\n\x10todev_lat_up_ack\x18\x1d \x01(\x05H\x00\x12(\n\rtodev_gethash\x18\x1e \x01(\x0b\x32\x0f.NavGetHashListH\x00\x12/\n\x11toapp_gethash_ack\x18\x1f \x01(\x0b\x32\x12.NavGetHashListAckH\x00\x12/\n\x14todev_get_commondata\x18 \x01(\x0b\x32\x0f.NavGetCommDataH\x00\x12\x36\n\x18toapp_get_commondata_ack\x18! \x01(\x0b\x32\x12.NavGetCommDataAckH\x00\x12\x31\n\x15\x62idire_reqconver_path\x18\" \x01(\x0b\x32\x10.NavReqCoverPathH\x00\x12.\n\x0ctoapp_zigzag\x18# \x01(\x0b\x32\x16.NavUploadZigZagResultH\x00\x12\x35\n\x10todev_zigzag_ack\x18$ \x01(\x0b\x32\x19.NavUploadZigZagResultAckH\x00\x12&\n\x0etodev_taskctrl\x18% \x01(\x0b\x32\x0c.NavTaskCtrlH\x00\x12%\n\rbidire_taskid\x18& \x01(\x0b\x32\x0c.NavTaskIdRwH\x00\x12&\n\x08toapp_bp\x18\' \x01(\x0b\x32\x12.NavTaskBreakPointH\x00\x12+\n\x11todev_planjob_set\x18( \x01(\x0b\x32\x0e.NavPlanJobSetH\x00\x12\x32\n\x15todev_unable_time_set\x18) \x01(\x0b\x32\x11.NavUnableTimeSetH\x00\x12,\n\x0esimulation_cmd\x18* \x01(\x0b\x32\x12.SimulationCmdDataH\x00\x12<\n\x1ctodev_work_report_update_cmd\x18+ \x01(\x0b\x32\x14.WorkReportUpdateCmdH\x00\x12<\n\x1ctoapp_work_report_update_ack\x18, \x01(\x0b\x32\x14.WorkReportUpdateAckH\x00\x12\x33\n\x15todev_work_report_cmd\x18- \x01(\x0b\x32\x12.WorkReportCmdDataH\x00\x12\x33\n\x15toapp_work_report_ack\x18. \x01(\x0b\x32\x12.WorkReportInfoAckH\x00\x12\x36\n\x18toapp_work_report_upload\x18/ \x01(\x0b\x32\x12.WorkReportInfoAckH\x00\x12=\n\x17\x61pp_request_cover_paths\x18\x30 \x01(\x0b\x32\x1a.app_request_cover_paths_tH\x00\x12\x31\n\x11\x63over_path_upload\x18\x31 \x01(\x0b\x32\x14.cover_path_upload_tH\x00\x12\x33\n\x12zone_start_precent\x18\x32 \x01(\x0b\x32\x15.zone_start_precent_tH\x00\x12\'\n\x0bvision_ctrl\x18\x33 \x01(\x0b\x32\x10.vision_ctrl_msgH\x00\x12/\n\x11nav_sys_param_cmd\x18\x34 \x01(\x0b\x32\x12.nav_sys_param_msgH\x00\x12\x33\n\x11plan_task_execute\x18\x35 \x01(\x0b\x32\x16.nav_plan_task_executeH\x00\x12#\n\rtoapp_costmap\x18\x36 \x01(\x0b\x32\n.costmap_tH\x00\x12\x31\n\x11plan_task_name_id\x18\x37 \x01(\x0b\x32\x14.plan_task_name_id_tH\x00\x12/\n\rall_plan_task\x18\x38 \x01(\x0b\x32\x16.nav_get_all_plan_taskH\x00\x12-\n\x12todev_taskctrl_ack\x18\x39 \x01(\x0b\x32\x0f.NavTaskCtrlAckH\x00\x12,\n\x12toapp_map_name_msg\x18: \x01(\x0b\x32\x0e.NavMapNameMsgH\x00\x12+\n\rtodev_svg_msg\x18; \x01(\x0b\x32\x12.svg_message_ack_tH\x00\x12+\n\rtoapp_svg_msg\x18< \x01(\x0b\x32\x12.svg_message_ack_tH\x00\x12\x35\n\x13toapp_all_hash_name\x18= \x01(\x0b\x32\x16.AppGetAllAreaHashNameH\x00\x12+\n\x11toapp_edge_points\x18> \x01(\x0b\x32\x0e.NavEdgePointsH\x00\x12\x32\n\x15toapp_edge_points_ack\x18? \x01(\x0b\x32\x11.NavEdgePointsAckH\x00\x12\x35\n\x14toapp_manual_element\x18@ \x01(\x0b\x32\x15.ManualElementMessageH\x00\x42\x0b\n\tSubNavMsgb\x06proto3')
|
|
17
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!pymammotion/proto/mctrl_nav.proto\x1a\x1epymammotion/proto/common.proto\"\'\n\x0bNavLatLonUp\x12\x0b\n\x03lat\x18\x01 \x01(\x01\x12\x0b\n\x03lon\x18\x02 \x01(\x01\"!\n\x0eNavBorderState\x12\x0f\n\x07\x62\x64state\x18\x01 \x01(\x05\"\xc9\x01\n\x08NavPosUp\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\x12\x0e\n\x06status\x18\x03 \x01(\x05\x12\x0e\n\x06toward\x18\x04 \x01(\x05\x12\r\n\x05stars\x18\x05 \x01(\x05\x12\x0b\n\x03\x61ge\x18\x06 \x01(\x02\x12\x11\n\tlatStddev\x18\x07 \x01(\x02\x12\x11\n\tlonStddev\x18\x08 \x01(\x02\x12\x11\n\tl2dfStars\x18\t \x01(\x05\x12\x0f\n\x07posType\x18\n \x01(\x05\x12\x0f\n\x07\x63HashId\x18\x0b \x01(\x03\x12\x10\n\x08posLevel\x18\x0c \x01(\x05\":\n\x13NavBorderDataGetAck\x12\r\n\x05jobId\x18\x01 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x02 \x01(\x05\"Z\n\x15NavObstiBorderDataGet\x12\x15\n\robstacleIndex\x18\x01 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x02 \x01(\x05\x12\x14\n\x0cobstaclesLen\x18\x03 \x01(\x05\"G\n\x18NavObstiBorderDataGetAck\x12\x15\n\robstacleIndex\x18\x01 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x02 \x01(\x05\"d\n\x0eNavCHlLineData\x12\x12\n\nstartJobRI\x18\x01 \x01(\x05\x12\x10\n\x08\x65ndJobRI\x18\x02 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x03 \x01(\x05\x12\x16\n\x0e\x63hannelLineLen\x18\x04 \x01(\x05\"O\n\x11NavCHlLineDataAck\x12\x12\n\nstartJobRI\x18\x01 \x01(\x05\x12\x10\n\x08\x65ndJobRI\x18\x02 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x03 \x01(\x05\"\x7f\n\x0bNavTaskInfo\x12\x0c\n\x04\x61rea\x18\x01 \x01(\x05\x12\x0c\n\x04time\x18\x02 \x01(\x05\x12\x10\n\x08\x61llFrame\x18\x03 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x04 \x01(\x05\x12\x0f\n\x07pathlen\x18\x05 \x01(\x05\x12\x1b\n\x02\x64\x63\x18\x06 \x03(\x0b\x32\x0f.CommDataCouple\"J\n\x10NavBorderDataGet\x12\r\n\x05jobId\x18\x01 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x02 \x01(\x05\x12\x11\n\tborderLen\x18\x03 \x01(\x05\"\x91\x01\n\x0cNavOptLineUp\x12\x12\n\nstartJobRI\x18\x01 \x01(\x05\x12\x10\n\x08\x65ndJobRI\x18\x02 \x01(\x05\x12\x10\n\x08\x61llFrame\x18\x03 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x04 \x01(\x05\x12\x16\n\x0e\x63hannelDataLen\x18\x05 \x01(\x05\x12\x1b\n\x02\x64\x63\x18\x06 \x03(\x0b\x32\x0f.CommDataCouple\"~\n\x11NavOptiBorderInfo\x12\r\n\x05jobId\x18\x01 \x01(\x05\x12\x10\n\x08\x61llFrame\x18\x02 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x03 \x01(\x05\x12\x15\n\rborderDataLen\x18\x04 \x01(\x05\x12\x1b\n\x02\x64\x63\x18\x05 \x03(\x0b\x32\x0f.CommDataCouple\"\x81\x01\n\rNavOptObsInfo\x12\x12\n\nobstacleId\x18\x01 \x01(\x05\x12\x10\n\x08\x61llFrame\x18\x02 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x03 \x01(\x05\x12\x17\n\x0fobstacleDataLen\x18\x04 \x01(\x05\x12\x1b\n\x02\x64\x63\x18\x05 \x03(\x0b\x32\x0f.CommDataCouple\"\xb4\x01\n\x0bNavStartJob\x12\r\n\x05jobId\x18\x01 \x01(\x03\x12\x0e\n\x06jobVer\x18\x02 \x01(\x05\x12\x0f\n\x07jobMode\x18\x03 \x01(\x05\x12\x13\n\x0brainTactics\x18\x04 \x01(\x05\x12\x13\n\x0bknifeHeight\x18\x05 \x01(\x05\x12\r\n\x05speed\x18\x06 \x01(\x02\x12\x14\n\x0c\x63hannelWidth\x18\x07 \x01(\x05\x12\x11\n\tUltraWave\x18\x08 \x01(\x05\x12\x13\n\x0b\x63hannelMode\x18\t \x01(\x05\"\'\n\x0fNavTaskProgress\x12\x14\n\x0ctaskProgress\x18\x01 \x01(\x05\"\x1e\n\x0bNavResFrame\x12\x0f\n\x07\x66rameid\x18\x01 \x01(\x05\"|\n\x0eNavGetHashList\x12\x0c\n\x04pver\x18\x01 \x01(\x05\x12\x0e\n\x06subCmd\x18\x02 \x01(\x05\x12\x12\n\ntotalFrame\x18\x03 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x04 \x01(\x05\x12\x10\n\x08\x64\x61taHash\x18\x05 \x01(\x06\x12\x10\n\x08reserved\x18\x06 \x01(\t\"\xb4\x01\n\x11NavGetHashListAck\x12\x0c\n\x04pver\x18\x01 \x01(\x05\x12\x0e\n\x06subCmd\x18\x02 \x01(\x05\x12\x12\n\ntotalFrame\x18\x03 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x04 \x01(\x05\x12\x10\n\x08\x64\x61taHash\x18\x05 \x01(\x06\x12\x0f\n\x07hashLen\x18\x06 \x01(\x05\x12\x10\n\x08reserved\x18\x07 \x01(\t\x12\x0e\n\x06result\x18\x08 \x01(\x05\x12\x12\n\ndataCouple\x18\r \x03(\x03\"\xd6\x01\n\x0eNavGetCommData\x12\x0c\n\x04pver\x18\x01 \x01(\x05\x12\x0e\n\x06subCmd\x18\x02 \x01(\x05\x12\x0e\n\x06\x61\x63tion\x18\x03 \x01(\x05\x12\x0c\n\x04type\x18\x04 \x01(\x05\x12\x0c\n\x04hash\x18\x05 \x01(\x06\x12\x15\n\rpaternalHashA\x18\x06 \x01(\x03\x12\x15\n\rpaternalHashB\x18\x07 \x01(\x03\x12\x12\n\ntotalFrame\x18\x08 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\t \x01(\x05\x12\x10\n\x08\x64\x61taHash\x18\n \x01(\x06\x12\x10\n\x08reserved\x18\x0b \x01(\t\"H\n\x0eNavGetNameTime\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x63reate_time\x18\x02 \x01(\x06\x12\x13\n\x0bmodify_time\x18\x03 \x01(\x06\"\xc2\x02\n\x11NavGetCommDataAck\x12\x0c\n\x04pver\x18\x01 \x01(\x05\x12\x0e\n\x06subCmd\x18\x02 \x01(\x05\x12\x0e\n\x06result\x18\x03 \x01(\x05\x12\x0e\n\x06\x61\x63tion\x18\x04 \x01(\x05\x12\x0c\n\x04type\x18\x05 \x01(\x05\x12\x0c\n\x04Hash\x18\x06 \x01(\x06\x12\x15\n\rpaternalHashA\x18\x07 \x01(\x06\x12\x15\n\rpaternalHashB\x18\x08 \x01(\x06\x12\x12\n\ntotalFrame\x18\t \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\n \x01(\x05\x12\x10\n\x08\x64\x61taHash\x18\x0b \x01(\x06\x12\x0f\n\x07\x64\x61taLen\x18\x0c \x01(\x05\x12#\n\ndataCouple\x18\r \x03(\x0b\x32\x0f.CommDataCouple\x12\x10\n\x08reserved\x18\x0e \x01(\t\x12!\n\x08nameTime\x18\x0f \x01(\x0b\x32\x0f.NavGetNameTime\"\xde\x02\n\x0fNavReqCoverPath\x12\x0c\n\x04pver\x18\x01 \x01(\x05\x12\r\n\x05jobId\x18\x02 \x01(\x06\x12\x0e\n\x06jobVer\x18\x03 \x01(\x05\x12\x0f\n\x07jobMode\x18\x04 \x01(\x05\x12\x0e\n\x06subCmd\x18\x05 \x01(\x05\x12\x10\n\x08\x65\x64geMode\x18\x06 \x01(\x05\x12\x13\n\x0bknifeHeight\x18\x07 \x01(\x05\x12\x14\n\x0c\x63hannelWidth\x18\x08 \x01(\x05\x12\x11\n\tUltraWave\x18\t \x01(\x05\x12\x13\n\x0b\x63hannelMode\x18\n \x01(\x05\x12\x0e\n\x06toward\x18\x0b \x01(\x05\x12\r\n\x05speed\x18\x0c \x01(\x02\x12\x11\n\tzoneHashs\x18\r \x03(\x06\x12\x10\n\x08pathHash\x18\x0e \x01(\x06\x12\x10\n\x08reserved\x18\x0f \x01(\t\x12\x0e\n\x06result\x18\x10 \x01(\x05\x12\x13\n\x0btoward_mode\x18\x11 \x01(\x05\x12\x1d\n\x15toward_included_angle\x18\x12 \x01(\x05\"\xa7\x03\n\x15NavUploadZigZagResult\x12\x0c\n\x04pver\x18\x01 \x01(\x05\x12\r\n\x05jobId\x18\x02 \x01(\x06\x12\x0e\n\x06jobVer\x18\x03 \x01(\x05\x12\x0e\n\x06result\x18\x04 \x01(\x05\x12\x0c\n\x04\x61rea\x18\x05 \x01(\x05\x12\x0c\n\x04time\x18\x06 \x01(\x05\x12\x14\n\x0ctotalZoneNum\x18\x07 \x01(\x05\x12\x1a\n\x12\x63urrentZonePathNum\x18\x08 \x01(\x05\x12\x19\n\x11\x63urrentZonePathId\x18\t \x01(\x05\x12\x13\n\x0b\x63urrentZone\x18\n \x01(\x05\x12\x13\n\x0b\x63urrentHash\x18\x0b \x01(\x06\x12\x12\n\ntotalFrame\x18\x0c \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\r \x01(\x05\x12\x13\n\x0b\x63hannelMode\x18\x0e \x01(\x05\x12\x15\n\rchannelModeId\x18\x0f \x01(\x05\x12\x10\n\x08\x64\x61taHash\x18\x10 \x01(\x06\x12\x0f\n\x07\x64\x61taLen\x18\x11 \x01(\x05\x12\x10\n\x08reserved\x18\x12 \x01(\t\x12#\n\ndataCouple\x18\x13 \x03(\x0b\x32\x0f.CommDataCouple\x12\x0e\n\x06subCmd\x18\x14 \x01(\x05\"\xb0\x01\n\x18NavUploadZigZagResultAck\x12\x0c\n\x04pver\x18\x01 \x01(\x05\x12\x13\n\x0b\x63urrentZone\x18\x02 \x01(\x05\x12\x13\n\x0b\x63urrentHash\x18\x03 \x01(\x06\x12\x12\n\ntotalFrame\x18\x04 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x05 \x01(\x05\x12\x10\n\x08\x64\x61taHash\x18\x06 \x01(\x06\x12\x10\n\x08reserved\x18\x07 \x01(\t\x12\x0e\n\x06subCmd\x18\x08 \x01(\x05\"M\n\x0bNavTaskCtrl\x12\x0c\n\x04type\x18\x01 \x01(\x05\x12\x0e\n\x06\x61\x63tion\x18\x02 \x01(\x05\x12\x0e\n\x06result\x18\x03 \x01(\x05\x12\x10\n\x08reserved\x18\x04 \x01(\t\"o\n\x0bNavTaskIdRw\x12\x0c\n\x04pver\x18\x01 \x01(\x05\x12\x0e\n\x06subCmd\x18\x02 \x01(\x05\x12\x10\n\x08taskName\x18\x03 \x01(\t\x12\x0e\n\x06taskId\x18\x04 \x01(\t\x12\x0e\n\x06result\x18\x05 \x01(\x05\x12\x10\n\x08reserved\x18\x06 \x01(\t\"J\n\x12NavSysHashOverview\x12\x1a\n\x12\x63ommonhashOverview\x18\x01 \x01(\x06\x12\x18\n\x10pathHashOverview\x18\x02 \x01(\x06\"i\n\x11NavTaskBreakPoint\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\x12\x0e\n\x06toward\x18\x03 \x01(\x05\x12\x0c\n\x04\x66lag\x18\x04 \x01(\x05\x12\x0e\n\x06\x61\x63tion\x18\x05 \x01(\x05\x12\x10\n\x08zoneHash\x18\x06 \x01(\x06\"\xc2\x05\n\rNavPlanJobSet\x12\x0c\n\x04pver\x18\x01 \x01(\x05\x12\x0e\n\x06subCmd\x18\x02 \x01(\x05\x12\x0c\n\x04\x61rea\x18\x03 \x01(\x05\x12\x10\n\x08workTime\x18\x04 \x01(\x05\x12\x0f\n\x07version\x18\x05 \x01(\t\x12\n\n\x02id\x18\x06 \x01(\t\x12\x0e\n\x06userId\x18\x07 \x01(\t\x12\x10\n\x08\x64\x65viceId\x18\x08 \x01(\t\x12\x0e\n\x06planId\x18\t \x01(\t\x12\x0e\n\x06taskId\x18\n \x01(\t\x12\r\n\x05jobId\x18\x0b \x01(\t\x12\x11\n\tstartTime\x18\x0c \x01(\t\x12\x0f\n\x07\x65ndTime\x18\r \x01(\t\x12\x0c\n\x04week\x18\x0e \x01(\x05\x12\x13\n\x0bknifeHeight\x18\x0f \x01(\x05\x12\r\n\x05model\x18\x10 \x01(\x05\x12\x10\n\x08\x65\x64geMode\x18\x11 \x01(\x05\x12\x14\n\x0crequiredTime\x18\x12 \x01(\x05\x12\x12\n\nrouteAngle\x18\x13 \x01(\x05\x12\x12\n\nrouteModel\x18\x14 \x01(\x05\x12\x14\n\x0crouteSpacing\x18\x15 \x01(\x05\x12\x19\n\x11ultrasonicBarrier\x18\x16 \x01(\x05\x12\x14\n\x0ctotalPlanNum\x18\x17 \x01(\x05\x12\x11\n\tPlanIndex\x18\x18 \x01(\x05\x12\x0e\n\x06result\x18\x19 \x01(\x05\x12\r\n\x05speed\x18\x1a \x01(\x02\x12\x10\n\x08taskName\x18\x1b \x01(\t\x12\x0f\n\x07jobName\x18\x1c \x01(\t\x12\x11\n\tzoneHashs\x18\x1d \x03(\x06\x12\x10\n\x08reserved\x18\x1e \x01(\t\x12\x11\n\tstartDate\x18\x1f \x01(\t\x12\x0f\n\x07\x65ndDate\x18 \x01(\t\x12\x13\n\x0btriggerType\x18! \x01(\x05\x12\x0b\n\x03\x64\x61y\x18\" \x01(\x05\x12\r\n\x05weeks\x18# \x03(\x07\x12\x18\n\x10remained_seconds\x18$ \x01(\x03\x12\x12\n\ntowardMode\x18% \x01(\x05\x12\x1b\n\x13towardIncludedAngle\x18& \x01(\x05\"\x97\x01\n\x10NavUnableTimeSet\x12\x0e\n\x06subCmd\x18\x01 \x01(\x05\x12\x10\n\x08\x64\x65viceId\x18\x02 \x01(\t\x12\x17\n\x0funableStartTime\x18\x03 \x01(\t\x12\x15\n\runableEndTime\x18\x04 \x01(\t\x12\x0e\n\x06result\x18\x05 \x01(\x05\x12\x10\n\x08reserved\x18\x06 \x01(\t\x12\x0f\n\x07trigger\x18\x07 \x01(\x05\"6\n\x0e\x63hargePileType\x12\x0e\n\x06toward\x18\x01 \x01(\x05\x12\t\n\x01x\x18\x02 \x01(\x02\x12\t\n\x01y\x18\x03 \x01(\x02\"J\n\x11SimulationCmdData\x12\x0e\n\x06subCmd\x18\x01 \x01(\x05\x12\x10\n\x08param_id\x18\x02 \x01(\x05\x12\x13\n\x0bparam_value\x18\x03 \x03(\x05\"%\n\x13WorkReportUpdateCmd\x12\x0e\n\x06subCmd\x18\x01 \x01(\x05\"<\n\x13WorkReportUpdateAck\x12\x13\n\x0bupdate_flag\x18\x01 \x01(\x08\x12\x10\n\x08info_num\x18\x02 \x01(\x05\"7\n\x11WorkReportCmdData\x12\x0e\n\x06subCmd\x18\x01 \x01(\x05\x12\x12\n\ngetInfoNum\x18\x02 \x01(\x05\"\xa3\x02\n\x11WorkReportInfoAck\x12\x16\n\x0einterrupt_flag\x18\x01 \x01(\x08\x12\x17\n\x0fstart_work_time\x18\x02 \x01(\x03\x12\x15\n\rend_work_time\x18\x03 \x01(\x03\x12\x16\n\x0ework_time_used\x18\x04 \x01(\x05\x12\x11\n\twork_ares\x18\x05 \x01(\x01\x12\x15\n\rwork_progress\x18\x06 \x01(\x05\x12\x17\n\x0fheight_of_knife\x18\x07 \x01(\x05\x12\x11\n\twork_type\x18\x08 \x01(\x05\x12\x13\n\x0bwork_result\x18\t \x01(\x05\x12\x15\n\rtotal_ack_num\x18\n \x01(\x05\x12\x17\n\x0f\x63urrent_ack_num\x18\x0b \x01(\x05\x12\x13\n\x0bjob_content\x18\x0c \x01(\x05\"\xb2\x01\n\x19\x61pp_request_cover_paths_t\x12\x0c\n\x04pver\x18\x01 \x01(\x05\x12\x0e\n\x06subCmd\x18\x02 \x01(\x05\x12\x12\n\ntotalFrame\x18\x03 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x04 \x01(\x05\x12\x10\n\x08\x64\x61taHash\x18\x05 \x01(\x06\x12\x16\n\x0etransaction_id\x18\x06 \x01(\x03\x12\x10\n\x08reserved\x18\x07 \x03(\x03\x12\x11\n\thash_list\x18\x08 \x03(\x06\"\x99\x01\n\x13\x63over_path_packet_t\x12\x11\n\tpath_hash\x18\x01 \x01(\x06\x12\x11\n\tpath_type\x18\x02 \x01(\x05\x12\x12\n\npath_total\x18\x03 \x01(\x05\x12\x10\n\x08path_cur\x18\x04 \x01(\x05\x12\x11\n\tzone_hash\x18\x05 \x01(\x06\x12#\n\ndataCouple\x18\x06 \x03(\x0b\x32\x0f.CommDataCouple\"\xb2\x02\n\x13\x63over_path_upload_t\x12\x0c\n\x04pver\x18\x01 \x01(\x05\x12\x0e\n\x06result\x18\x02 \x01(\x05\x12\x0e\n\x06subCmd\x18\x03 \x01(\x05\x12\x0c\n\x04\x61rea\x18\x04 \x01(\x05\x12\x0c\n\x04time\x18\x05 \x01(\x05\x12\x12\n\ntotalFrame\x18\x06 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x07 \x01(\x05\x12\x16\n\x0etotal_path_num\x18\x08 \x01(\x05\x12\x16\n\x0evaild_path_num\x18\t \x01(\x05\x12\x10\n\x08\x64\x61taHash\x18\n \x01(\x06\x12\x16\n\x0etransaction_id\x18\x0b \x01(\x03\x12\x10\n\x08reserved\x18\x0c \x03(\x03\x12\x0f\n\x07\x64\x61taLen\x18\r \x01(\x05\x12*\n\x0cpath_packets\x18\x0e \x03(\x0b\x32\x14.cover_path_packet_t\"M\n\x14zone_start_precent_t\x12\x10\n\x08\x64\x61taHash\x18\x01 \x01(\x06\x12\t\n\x01x\x18\x02 \x01(\x02\x12\t\n\x01y\x18\x03 \x01(\x02\x12\r\n\x05index\x18\x04 \x01(\x05\",\n\x0fvision_ctrl_msg\x12\x0c\n\x04type\x18\x01 \x01(\x05\x12\x0b\n\x03\x63md\x18\x02 \x01(\x05\"<\n\x11nav_sys_param_msg\x12\n\n\x02rw\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\x05\x12\x0f\n\x07\x63ontext\x18\x03 \x01(\x05\"Q\n\x15nav_plan_task_execute\x12\x0e\n\x06subCmd\x18\x01 \x01(\x05\x12\n\n\x02id\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x0e\n\x06result\x18\x04 \x01(\x05\"y\n\tcostmap_t\x12\r\n\x05width\x18\x01 \x01(\x05\x12\x0e\n\x06height\x18\x02 \x01(\x05\x12\x10\n\x08\x63\x65nter_x\x18\x03 \x01(\x02\x12\x10\n\x08\x63\x65nter_y\x18\x04 \x01(\x02\x12\x0b\n\x03yaw\x18\x05 \x01(\x02\x12\x0b\n\x03res\x18\x06 \x01(\x02\x12\x0f\n\x07\x63ostmap\x18\x07 \x03(\x05\"\x94\x02\n\rsvg_message_t\x12\x0e\n\x06x_move\x18\x01 \x01(\x01\x12\x0e\n\x06y_move\x18\x02 \x01(\x01\x12\r\n\x05scale\x18\x03 \x01(\x01\x12\x0e\n\x06rotate\x18\x04 \x01(\x01\x12\x14\n\x0c\x62\x61se_width_m\x18\x05 \x01(\x01\x12\x15\n\rbase_height_m\x18\x06 \x01(\x01\x12\x16\n\x0e\x62\x61se_width_pix\x18\x07 \x01(\x05\x12\x17\n\x0f\x62\x61se_height_pix\x18\x08 \x01(\x05\x12\x15\n\rsvg_file_name\x18\t \x01(\t\x12\x15\n\rsvg_file_data\x18\n \x01(\t\x12\x12\n\nname_count\x18\x0b \x01(\x05\x12\x12\n\ndata_count\x18\x0c \x01(\x05\x12\x10\n\x08hide_svg\x18\r \x01(\x08\"\xc7\x01\n\x11svg_message_ack_t\x12\x0c\n\x04pver\x18\x01 \x01(\x05\x12\x0e\n\x06subCmd\x18\x02 \x01(\x05\x12\x12\n\ntotalFrame\x18\x03 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x04 \x01(\x05\x12\x10\n\x08\x64\x61taHash\x18\x05 \x01(\x06\x12\x15\n\rpaternalHashA\x18\x06 \x01(\x06\x12\x0c\n\x04type\x18\x07 \x01(\x05\x12\x0e\n\x06result\x18\x08 \x01(\x05\x12#\n\x0bsvg_message\x18\t \x01(\x0b\x32\x0e.svg_message_t\"/\n\x13plan_task_name_id_t\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"<\n\x15nav_get_all_plan_task\x12#\n\x05tasks\x18\x01 \x03(\x0b\x32\x14.plan_task_name_id_t\",\n\x0e\x61rea_hash_name\x12\x0c\n\x04hash\x18\x01 \x01(\x06\x12\x0c\n\x04name\x18\x02 \x01(\t\"M\n\x15\x41ppGetAllAreaHashName\x12\x10\n\x08\x64\x65viceId\x18\x01 \x01(\t\x12\"\n\thashnames\x18\x02 \x03(\x0b\x32\x0f.area_hash_name\"c\n\x0eNavTaskCtrlAck\x12\x0c\n\x04type\x18\x01 \x01(\x05\x12\x0e\n\x06\x61\x63tion\x18\x02 \x01(\x05\x12\x0e\n\x06result\x18\x03 \x01(\x05\x12\x11\n\tnav_state\x18\x04 \x01(\x05\x12\x10\n\x08reserved\x18\x05 \x01(\t\"Y\n\rNavMapNameMsg\x12\n\n\x02rw\x18\x01 \x01(\x05\x12\x0c\n\x04hash\x18\x02 \x01(\x06\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x0e\n\x06result\x18\x04 \x01(\x05\x12\x10\n\x08\x64\x65viceId\x18\x05 \x01(\t\"\x9a\x01\n\rNavEdgePoints\x12\x0e\n\x06result\x18\x01 \x01(\x05\x12\x0e\n\x06\x61\x63tion\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\x0c\n\x04Hash\x18\x04 \x01(\x06\x12\x12\n\ntotalFrame\x18\x05 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x06 \x01(\x05\x12#\n\ndataCouple\x18\x07 \x03(\x0b\x32\x0f.CommDataCouple\"x\n\x10NavEdgePointsAck\x12\x0e\n\x06result\x18\x01 \x01(\x05\x12\x0e\n\x06\x61\x63tion\x18\x02 \x01(\x05\x12\x0c\n\x04type\x18\x03 \x01(\x05\x12\x0c\n\x04Hash\x18\x04 \x01(\x06\x12\x12\n\ntotalFrame\x18\x05 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x06 \x01(\x05\"\x8f\x02\n\x14ManualElementMessage\x12\x0c\n\x04pver\x18\x01 \x01(\x05\x12\x0c\n\x04type\x18\x02 \x01(\x05\x12\r\n\x05shape\x18\x03 \x01(\x05\x12\x0e\n\x06result\x18\x04 \x01(\x05\x12\x0e\n\x06subCmd\x18\x05 \x01(\x05\x12\x10\n\x08\x64\x61taHash\x18\x06 \x01(\x06\x12\x0e\n\x06ifHide\x18\x07 \x01(\x08\x12\x10\n\x08reserved\x18\x08 \x01(\t\x12\x17\n\x0fpoint1_center_x\x18\t \x01(\x01\x12\x17\n\x0fpoint1_center_y\x18\n \x01(\x01\x12\x16\n\x0epoint2_width_x\x18\x0b \x01(\x01\x12\x17\n\x0fpoint2_height_y\x18\x0c \x01(\x01\x12\x15\n\rrotate_radius\x18\r \x01(\x01\"\x81\x16\n\x07MctlNav\x12$\n\x0ctoapp_lat_up\x18\x01 \x01(\x0b\x32\x0c.NavLatLonUpH\x00\x12!\n\x0ctoapp_pos_up\x18\x02 \x01(\x0b\x32\t.NavPosUpH\x00\x12.\n\x13todev_chl_line_data\x18\x03 \x01(\x0b\x32\x0f.NavCHlLineDataH\x00\x12\'\n\x0ftoapp_task_info\x18\x04 \x01(\x0b\x32\x0c.NavTaskInfoH\x00\x12*\n\x11toapp_opt_line_up\x18\x05 \x01(\x0b\x32\r.NavOptLineUpH\x00\x12\x33\n\x15toapp_opt_border_info\x18\x06 \x01(\x0b\x32\x12.NavOptiBorderInfoH\x00\x12,\n\x12toapp_opt_obs_info\x18\x07 \x01(\x0b\x32\x0e.NavOptObsInfoH\x00\x12+\n\x13todev_task_info_ack\x18\x08 \x01(\x0b\x32\x0c.NavResFrameH\x00\x12\x31\n\x19todev_opt_border_info_ack\x18\t \x01(\x0b\x32\x0c.NavResFrameH\x00\x12.\n\x16todev_opt_obs_info_ack\x18\n \x01(\x0b\x32\x0c.NavResFrameH\x00\x12-\n\x15todev_opt_line_up_ack\x18\x0b \x01(\x0b\x32\x0c.NavResFrameH\x00\x12*\n\x0ftoapp_chgpileto\x18\x0c \x01(\x0b\x32\x0f.chargePileTypeH\x00\x12\x17\n\rtodev_sustask\x18\r \x01(\x05H\x00\x12\x18\n\x0etodev_rechgcmd\x18\x0e \x01(\x05H\x00\x12\x17\n\rtodev_edgecmd\x18\x0f \x01(\x05H\x00\x12\x1b\n\x11todev_draw_border\x18\x10 \x01(\x05H\x00\x12\x1f\n\x15todev_draw_border_end\x18\x11 \x01(\x05H\x00\x12\x18\n\x0etodev_draw_obs\x18\x12 \x01(\x05H\x00\x12\x1c\n\x12todev_draw_obs_end\x18\x13 \x01(\x05H\x00\x12\x18\n\x0etodev_chl_line\x18\x14 \x01(\x05H\x00\x12\x1c\n\x12todev_chl_line_end\x18\x15 \x01(\x05H\x00\x12\x19\n\x0ftodev_save_task\x18\x16 \x01(\x05H\x00\x12\x1d\n\x13todev_cancel_suscmd\x18\x17 \x01(\x05H\x00\x12\x1e\n\x14todev_reset_chg_pile\x18\x18 \x01(\x05H\x00\x12\x1f\n\x15todev_cancel_draw_cmd\x18\x19 \x01(\x05H\x00\x12$\n\x1atodev_one_touch_leave_pile\x18\x1a \x01(\x05H\x00\x12&\n\x0etodev_mow_task\x18\x1b \x01(\x0b\x32\x0c.NavStartJobH\x00\x12\'\n\x0ctoapp_bstate\x18\x1c \x01(\x0b\x32\x0f.NavBorderStateH\x00\x12\x1a\n\x10todev_lat_up_ack\x18\x1d \x01(\x05H\x00\x12(\n\rtodev_gethash\x18\x1e \x01(\x0b\x32\x0f.NavGetHashListH\x00\x12/\n\x11toapp_gethash_ack\x18\x1f \x01(\x0b\x32\x12.NavGetHashListAckH\x00\x12/\n\x14todev_get_commondata\x18 \x01(\x0b\x32\x0f.NavGetCommDataH\x00\x12\x36\n\x18toapp_get_commondata_ack\x18! \x01(\x0b\x32\x12.NavGetCommDataAckH\x00\x12\x31\n\x15\x62idire_reqconver_path\x18\" \x01(\x0b\x32\x10.NavReqCoverPathH\x00\x12.\n\x0ctoapp_zigzag\x18# \x01(\x0b\x32\x16.NavUploadZigZagResultH\x00\x12\x35\n\x10todev_zigzag_ack\x18$ \x01(\x0b\x32\x19.NavUploadZigZagResultAckH\x00\x12&\n\x0etodev_taskctrl\x18% \x01(\x0b\x32\x0c.NavTaskCtrlH\x00\x12%\n\rbidire_taskid\x18& \x01(\x0b\x32\x0c.NavTaskIdRwH\x00\x12&\n\x08toapp_bp\x18\' \x01(\x0b\x32\x12.NavTaskBreakPointH\x00\x12+\n\x11todev_planjob_set\x18( \x01(\x0b\x32\x0e.NavPlanJobSetH\x00\x12\x32\n\x15todev_unable_time_set\x18) \x01(\x0b\x32\x11.NavUnableTimeSetH\x00\x12,\n\x0esimulation_cmd\x18* \x01(\x0b\x32\x12.SimulationCmdDataH\x00\x12<\n\x1ctodev_work_report_update_cmd\x18+ \x01(\x0b\x32\x14.WorkReportUpdateCmdH\x00\x12<\n\x1ctoapp_work_report_update_ack\x18, \x01(\x0b\x32\x14.WorkReportUpdateAckH\x00\x12\x33\n\x15todev_work_report_cmd\x18- \x01(\x0b\x32\x12.WorkReportCmdDataH\x00\x12\x33\n\x15toapp_work_report_ack\x18. \x01(\x0b\x32\x12.WorkReportInfoAckH\x00\x12\x36\n\x18toapp_work_report_upload\x18/ \x01(\x0b\x32\x12.WorkReportInfoAckH\x00\x12=\n\x17\x61pp_request_cover_paths\x18\x30 \x01(\x0b\x32\x1a.app_request_cover_paths_tH\x00\x12\x31\n\x11\x63over_path_upload\x18\x31 \x01(\x0b\x32\x14.cover_path_upload_tH\x00\x12\x33\n\x12zone_start_precent\x18\x32 \x01(\x0b\x32\x15.zone_start_precent_tH\x00\x12\'\n\x0bvision_ctrl\x18\x33 \x01(\x0b\x32\x10.vision_ctrl_msgH\x00\x12/\n\x11nav_sys_param_cmd\x18\x34 \x01(\x0b\x32\x12.nav_sys_param_msgH\x00\x12\x33\n\x11plan_task_execute\x18\x35 \x01(\x0b\x32\x16.nav_plan_task_executeH\x00\x12#\n\rtoapp_costmap\x18\x36 \x01(\x0b\x32\n.costmap_tH\x00\x12\x31\n\x11plan_task_name_id\x18\x37 \x01(\x0b\x32\x14.plan_task_name_id_tH\x00\x12/\n\rall_plan_task\x18\x38 \x01(\x0b\x32\x16.nav_get_all_plan_taskH\x00\x12-\n\x12todev_taskctrl_ack\x18\x39 \x01(\x0b\x32\x0f.NavTaskCtrlAckH\x00\x12,\n\x12toapp_map_name_msg\x18: \x01(\x0b\x32\x0e.NavMapNameMsgH\x00\x12+\n\rtodev_svg_msg\x18; \x01(\x0b\x32\x12.svg_message_ack_tH\x00\x12+\n\rtoapp_svg_msg\x18< \x01(\x0b\x32\x12.svg_message_ack_tH\x00\x12\x35\n\x13toapp_all_hash_name\x18= \x01(\x0b\x32\x16.AppGetAllAreaHashNameH\x00\x12+\n\x11toapp_edge_points\x18> \x01(\x0b\x32\x0e.NavEdgePointsH\x00\x12\x32\n\x15toapp_edge_points_ack\x18? \x01(\x0b\x32\x11.NavEdgePointsAckH\x00\x12\x35\n\x14toapp_manual_element\x18@ \x01(\x0b\x32\x15.ManualElementMessageH\x00\x42\x0b\n\tSubNavMsgb\x06proto3')
|
|
18
18
|
|
|
19
19
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
|
|
20
20
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'pymammotion.proto.mctrl_nav_pb2', globals())
|
|
@@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "pymammotion"
|
|
7
|
-
version = "0.5.
|
|
7
|
+
version = "0.5.11"
|
|
8
8
|
license = "GPL-3.0"
|
|
9
9
|
description = ""
|
|
10
10
|
readme = "README.md"
|
|
@@ -66,7 +66,7 @@ autotyping = "^24.3.0"
|
|
|
66
66
|
ipython = "^9.0.2"
|
|
67
67
|
|
|
68
68
|
[tool.bumpver]
|
|
69
|
-
current_version = "0.5.
|
|
69
|
+
current_version = "0.5.11"
|
|
70
70
|
version_pattern = "MAJOR.MINOR.PATCH"
|
|
71
71
|
commit_message = "Bump version {old_version} -> {new_version}"
|
|
72
72
|
commit = true
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
# === sendOrderMsg_Media ===
|
|
2
|
-
from abc import ABC
|
|
3
|
-
|
|
4
|
-
from pymammotion.mammotion.commands.abstract_message import AbstractMessage
|
|
5
|
-
from pymammotion.proto import (
|
|
6
|
-
MUL_LANGUAGE,
|
|
7
|
-
MUL_SEX,
|
|
8
|
-
LubaMsg,
|
|
9
|
-
MsgAttr,
|
|
10
|
-
MsgCmdType,
|
|
11
|
-
MsgDevice,
|
|
12
|
-
MulSetAudio,
|
|
13
|
-
MulSetWiper,
|
|
14
|
-
SocMul,
|
|
15
|
-
)
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
class MessageMedia(AbstractMessage, ABC):
|
|
19
|
-
def send_order_msg_media(self, mul):
|
|
20
|
-
luba_msg = LubaMsg(
|
|
21
|
-
msgtype=MsgCmdType.MUL,
|
|
22
|
-
sender=MsgDevice.DEV_MOBILEAPP,
|
|
23
|
-
rcver=self.get_msg_device(MsgCmdType.MUL, MsgDevice.SOC_MODULE_MULTIMEDIA),
|
|
24
|
-
msgattr=MsgAttr.REQ,
|
|
25
|
-
seqs=self.seqs.increment_and_get() & 255,
|
|
26
|
-
version=1,
|
|
27
|
-
subtype=self.user_account,
|
|
28
|
-
mul=mul,
|
|
29
|
-
)
|
|
30
|
-
|
|
31
|
-
return luba_msg.SerializeToString()
|
|
32
|
-
|
|
33
|
-
def set_car_volume(self, volume: int):
|
|
34
|
-
"""Set the car volume. 0 - 100"""
|
|
35
|
-
return self.send_order_msg_media(SocMul(set_audio=MulSetAudio(at_switch=volume)))
|
|
36
|
-
|
|
37
|
-
def set_car_voice_language(self, language_type: MUL_LANGUAGE | str | None):
|
|
38
|
-
return self.send_order_msg_media(SocMul(set_audio=MulSetAudio(au_language=language_type)))
|
|
39
|
-
|
|
40
|
-
def set_car_volume_sex(self, sex: MUL_SEX):
|
|
41
|
-
return self.send_order_msg_media(SocMul(set_audio=MulSetAudio(sex=sex)))
|
|
42
|
-
|
|
43
|
-
def set_car_wiper(self, round_num: int):
|
|
44
|
-
"""Set mower wiper."""
|
|
45
|
-
# 2
|
|
46
|
-
return self.send_order_msg_media(SocMul(set_wiper=MulSetWiper(round=round_num)))
|
|
47
|
-
|
|
48
|
-
# TODO add lamp methods
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/aliyun/model/dev_by_account_response.py
RENAMED
|
File without changes
|
{pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/aliyun/model/login_by_oauth_response.py
RENAMED
|
File without changes
|
|
File without changes
|
{pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/aliyun/model/session_by_authcode_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/data/model/generate_route_information.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/mammotion/commands/mammotion_command.py
RENAMED
|
File without changes
|
{pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/mammotion/commands/messages/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{pymammotion-0.5.9 → pymammotion-0.5.11}/pymammotion/mammotion/commands/messages/navigation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|