pymammotion 0.1.0__py3-none-any.whl → 0.1.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pymammotion might be problematic. Click here for more details.
- pymammotion/data/model/device.py +12 -1
- pymammotion/data/model/location.py +5 -3
- pymammotion/data/state_manager.py +1 -1
- pymammotion/mammotion/commands/messages/system.py +1 -1
- pymammotion/mammotion/devices/mammotion.py +1 -1
- pymammotion/proto/basestation.proto +43 -0
- pymammotion/proto/basestation.py +59 -0
- pymammotion/proto/basestation_pb2.py +33 -0
- pymammotion/proto/basestation_pb2.pyi +75 -0
- pymammotion/proto/dev_net.proto +4 -4
- pymammotion/proto/dev_net.py +2 -2
- pymammotion/proto/dev_net_pb2.py +1 -1
- pymammotion/proto/dev_net_pb2.pyi +10 -10
- pymammotion/proto/luba_msg.proto +2 -0
- pymammotion/proto/luba_msg.py +2 -1
- pymammotion/proto/luba_msg_pb2.py +12 -11
- pymammotion/proto/luba_msg_pb2.pyi +5 -2
- pymammotion/proto/mctrl_nav.py +2 -2
- pymammotion/proto/mctrl_sys.proto +2 -2
- pymammotion/proto/mctrl_sys.py +18 -19
- pymammotion/proto/mctrl_sys_pb2.py +98 -98
- pymammotion/proto/mctrl_sys_pb2.pyi +6 -6
- pymammotion/utility/map.py +70 -0
- {pymammotion-0.1.0.dist-info → pymammotion-0.1.2.dist-info}/METADATA +2 -1
- {pymammotion-0.1.0.dist-info → pymammotion-0.1.2.dist-info}/RECORD +27 -22
- {pymammotion-0.1.0.dist-info → pymammotion-0.1.2.dist-info}/LICENSE +0 -0
- {pymammotion-0.1.0.dist-info → pymammotion-0.1.2.dist-info}/WHEEL +0 -0
pymammotion/data/model/device.py
CHANGED
|
@@ -12,7 +12,8 @@ from pymammotion.proto.mctrl_driver import MctlDriver
|
|
|
12
12
|
from pymammotion.proto.mctrl_nav import MctlNav
|
|
13
13
|
from pymammotion.proto.mctrl_ota import MctlOta
|
|
14
14
|
from pymammotion.proto.mctrl_pept import MctlPept
|
|
15
|
-
from pymammotion.proto.mctrl_sys import MctlSys, MowToAppInfoT, SystemUpdateBufMsg
|
|
15
|
+
from pymammotion.proto.mctrl_sys import MctlSys, MowToAppInfoT, SystemUpdateBufMsg, ReportInfoData
|
|
16
|
+
from pymammotion.utility.map import CoordinateConverter
|
|
16
17
|
|
|
17
18
|
|
|
18
19
|
@dataclass
|
|
@@ -84,6 +85,16 @@ class MowingDevice:
|
|
|
84
85
|
]
|
|
85
86
|
)
|
|
86
87
|
|
|
88
|
+
def report_data(self, toapp_report_data: ReportInfoData):
|
|
89
|
+
coordinate_converter = CoordinateConverter(self.location.RTK.latitude, self.location.RTK.longitude)
|
|
90
|
+
for index, location in enumerate(toapp_report_data.locations):
|
|
91
|
+
if index == 0:
|
|
92
|
+
self.location.position_type = location.pos_type
|
|
93
|
+
self.location.orientation = location.real_toward / 10000
|
|
94
|
+
self.location.device = coordinate_converter.enu_to_lla(location.real_pos_y, location.real_pos_x)
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
87
98
|
def mow_info(self, toapp_mow_info: MowToAppInfoT):
|
|
88
99
|
pass
|
|
89
100
|
|
|
@@ -10,9 +10,9 @@ class Point:
|
|
|
10
10
|
latitude: float
|
|
11
11
|
longitude: float
|
|
12
12
|
|
|
13
|
-
def __init__(self):
|
|
14
|
-
self.latitude =
|
|
15
|
-
self.longitude =
|
|
13
|
+
def __init__(self, latitude=0.0, longitude=0.0):
|
|
14
|
+
self.latitude = latitude
|
|
15
|
+
self.longitude = longitude
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
@dataclass
|
|
@@ -33,6 +33,8 @@ class Location:
|
|
|
33
33
|
device: Point
|
|
34
34
|
RTK: Point
|
|
35
35
|
dock: Dock
|
|
36
|
+
position_type: int
|
|
37
|
+
orientation: int # 360 degree rotation +-
|
|
36
38
|
|
|
37
39
|
def __init__(self):
|
|
38
40
|
self.device = Point()
|
|
@@ -28,7 +28,7 @@ class MessageSystem(AbstractMessage, ABC):
|
|
|
28
28
|
print("Send command - send factory reset")
|
|
29
29
|
return self.send_order_msg_sys(build)
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
def set_blade_control(self, on_off: int):
|
|
32
32
|
mctlsys = mctrl_sys_pb2.MctlSys()
|
|
33
33
|
sysKnifeControl = mctrl_sys_pb2.SysKnifeControl()
|
|
34
34
|
sysKnifeControl.knife_status = on_off
|
|
@@ -534,12 +534,12 @@ class MammotionBaseBLEDevice(MammotionBaseDevice):
|
|
|
534
534
|
|
|
535
535
|
async def _notification_handler(self, _sender: BleakGATTCharacteristic, data: bytearray) -> None:
|
|
536
536
|
"""Handle notification responses."""
|
|
537
|
-
_LOGGER.debug("%s: Received notification: %s", self.name, data)
|
|
538
537
|
result = self._message.parseNotification(data)
|
|
539
538
|
if result == 0:
|
|
540
539
|
data = await self._message.parseBlufiNotifyData(True)
|
|
541
540
|
self._update_raw_data(data)
|
|
542
541
|
self._message.clearNotification()
|
|
542
|
+
_LOGGER.debug("%s: Received notification: %s", self.name, data)
|
|
543
543
|
else:
|
|
544
544
|
return
|
|
545
545
|
new_msg = LubaMsg().parse(data)
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
|
|
3
|
+
message request_basestation_info_t {
|
|
4
|
+
uint32 request_type = 1;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
message response_basestation_info_t {
|
|
8
|
+
uint64 system_status = 1;
|
|
9
|
+
uint32 app_connect_type = 2;
|
|
10
|
+
int32 ble_rssi = 3;
|
|
11
|
+
int32 wifi_rssi = 4;
|
|
12
|
+
uint64 sats_num = 5;
|
|
13
|
+
int64 lora_scan = 6;
|
|
14
|
+
int64 lora_channel = 7;
|
|
15
|
+
int64 lora_locid = 8;
|
|
16
|
+
int64 lora_netid = 9;
|
|
17
|
+
uint64 rtk_status = 10;
|
|
18
|
+
int32 lowpower_status = 11;
|
|
19
|
+
int32 mqtt_rtk_status = 12;
|
|
20
|
+
int32 rtk_channel = 13;
|
|
21
|
+
int32 rtk_switch = 14;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
message app_to_base_mqtt_rtk_t {
|
|
25
|
+
int32 rtk_switch = 1;
|
|
26
|
+
string rtk_url = 2;
|
|
27
|
+
int32 rtk_port = 3;
|
|
28
|
+
string rtk_username = 4;
|
|
29
|
+
string rtk_password = 5;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
message base_to_app_mqtt_rtk_t {
|
|
33
|
+
int32 rtk_switch_status = 1;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
message BaseStation {
|
|
37
|
+
oneof BaseStationSubType {
|
|
38
|
+
request_basestation_info_t to_dev = 1;
|
|
39
|
+
response_basestation_info_t to_app = 2;
|
|
40
|
+
app_to_base_mqtt_rtk_t app_to_base_mqtt_rtk_msg = 3;
|
|
41
|
+
base_to_app_mqtt_rtk_t base_to_app_mqtt_rtk_msg = 4;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
2
|
+
# sources: pymammotion/proto/basestation.proto
|
|
3
|
+
# plugin: python-betterproto
|
|
4
|
+
from dataclasses import dataclass
|
|
5
|
+
|
|
6
|
+
import betterproto
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
@dataclass
|
|
10
|
+
class RequestBasestationInfoT(betterproto.Message):
|
|
11
|
+
request_type: int = betterproto.uint32_field(1)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@dataclass
|
|
15
|
+
class ResponseBasestationInfoT(betterproto.Message):
|
|
16
|
+
system_status: int = betterproto.uint64_field(1)
|
|
17
|
+
app_connect_type: int = betterproto.uint32_field(2)
|
|
18
|
+
ble_rssi: int = betterproto.int32_field(3)
|
|
19
|
+
wifi_rssi: int = betterproto.int32_field(4)
|
|
20
|
+
sats_num: int = betterproto.uint64_field(5)
|
|
21
|
+
lora_scan: int = betterproto.int64_field(6)
|
|
22
|
+
lora_channel: int = betterproto.int64_field(7)
|
|
23
|
+
lora_locid: int = betterproto.int64_field(8)
|
|
24
|
+
lora_netid: int = betterproto.int64_field(9)
|
|
25
|
+
rtk_status: int = betterproto.uint64_field(10)
|
|
26
|
+
lowpower_status: int = betterproto.int32_field(11)
|
|
27
|
+
mqtt_rtk_status: int = betterproto.int32_field(12)
|
|
28
|
+
rtk_channel: int = betterproto.int32_field(13)
|
|
29
|
+
rtk_switch: int = betterproto.int32_field(14)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
@dataclass
|
|
33
|
+
class AppToBaseMqttRtkT(betterproto.Message):
|
|
34
|
+
rtk_switch: int = betterproto.int32_field(1)
|
|
35
|
+
rtk_url: str = betterproto.string_field(2)
|
|
36
|
+
rtk_port: int = betterproto.int32_field(3)
|
|
37
|
+
rtk_username: str = betterproto.string_field(4)
|
|
38
|
+
rtk_password: str = betterproto.string_field(5)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
@dataclass
|
|
42
|
+
class BaseToAppMqttRtkT(betterproto.Message):
|
|
43
|
+
rtk_switch_status: int = betterproto.int32_field(1)
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
@dataclass
|
|
47
|
+
class BaseStation(betterproto.Message):
|
|
48
|
+
to_dev: "RequestBasestationInfoT" = betterproto.message_field(
|
|
49
|
+
1, group="BaseStationSubType"
|
|
50
|
+
)
|
|
51
|
+
to_app: "ResponseBasestationInfoT" = betterproto.message_field(
|
|
52
|
+
2, group="BaseStationSubType"
|
|
53
|
+
)
|
|
54
|
+
app_to_base_mqtt_rtk_msg: "AppToBaseMqttRtkT" = betterproto.message_field(
|
|
55
|
+
3, group="BaseStationSubType"
|
|
56
|
+
)
|
|
57
|
+
base_to_app_mqtt_rtk_msg: "BaseToAppMqttRtkT" = betterproto.message_field(
|
|
58
|
+
4, group="BaseStationSubType"
|
|
59
|
+
)
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# source: pymammotion/proto/basestation.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/basestation.proto\"2\n\x1arequest_basestation_info_t\x12\x14\n\x0crequest_type\x18\x01 \x01(\r\"\xc5\x02\n\x1bresponse_basestation_info_t\x12\x15\n\rsystem_status\x18\x01 \x01(\x04\x12\x18\n\x10\x61pp_connect_type\x18\x02 \x01(\r\x12\x10\n\x08\x62le_rssi\x18\x03 \x01(\x05\x12\x11\n\twifi_rssi\x18\x04 \x01(\x05\x12\x10\n\x08sats_num\x18\x05 \x01(\x04\x12\x11\n\tlora_scan\x18\x06 \x01(\x03\x12\x14\n\x0clora_channel\x18\x07 \x01(\x03\x12\x12\n\nlora_locid\x18\x08 \x01(\x03\x12\x12\n\nlora_netid\x18\t \x01(\x03\x12\x12\n\nrtk_status\x18\n \x01(\x04\x12\x17\n\x0flowpower_status\x18\x0b \x01(\x05\x12\x17\n\x0fmqtt_rtk_status\x18\x0c \x01(\x05\x12\x13\n\x0brtk_channel\x18\r \x01(\x05\x12\x12\n\nrtk_switch\x18\x0e \x01(\x05\"{\n\x16\x61pp_to_base_mqtt_rtk_t\x12\x12\n\nrtk_switch\x18\x01 \x01(\x05\x12\x0f\n\x07rtk_url\x18\x02 \x01(\t\x12\x10\n\x08rtk_port\x18\x03 \x01(\x05\x12\x14\n\x0crtk_username\x18\x04 \x01(\t\x12\x14\n\x0crtk_password\x18\x05 \x01(\t\"3\n\x16\x62\x61se_to_app_mqtt_rtk_t\x12\x19\n\x11rtk_switch_status\x18\x01 \x01(\x05\"\xfc\x01\n\x0b\x42\x61seStation\x12-\n\x06to_dev\x18\x01 \x01(\x0b\x32\x1b.request_basestation_info_tH\x00\x12.\n\x06to_app\x18\x02 \x01(\x0b\x32\x1c.response_basestation_info_tH\x00\x12;\n\x18\x61pp_to_base_mqtt_rtk_msg\x18\x03 \x01(\x0b\x32\x17.app_to_base_mqtt_rtk_tH\x00\x12;\n\x18\x62\x61se_to_app_mqtt_rtk_msg\x18\x04 \x01(\x0b\x32\x17.base_to_app_mqtt_rtk_tH\x00\x42\x14\n\x12\x42\x61seStationSubTypeb\x06proto3')
|
|
17
|
+
|
|
18
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
|
|
19
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'pymammotion.proto.basestation_pb2', globals())
|
|
20
|
+
if _descriptor._USE_C_DESCRIPTORS == False:
|
|
21
|
+
|
|
22
|
+
DESCRIPTOR._options = None
|
|
23
|
+
_REQUEST_BASESTATION_INFO_T._serialized_start=39
|
|
24
|
+
_REQUEST_BASESTATION_INFO_T._serialized_end=89
|
|
25
|
+
_RESPONSE_BASESTATION_INFO_T._serialized_start=92
|
|
26
|
+
_RESPONSE_BASESTATION_INFO_T._serialized_end=417
|
|
27
|
+
_APP_TO_BASE_MQTT_RTK_T._serialized_start=419
|
|
28
|
+
_APP_TO_BASE_MQTT_RTK_T._serialized_end=542
|
|
29
|
+
_BASE_TO_APP_MQTT_RTK_T._serialized_start=544
|
|
30
|
+
_BASE_TO_APP_MQTT_RTK_T._serialized_end=595
|
|
31
|
+
_BASESTATION._serialized_start=598
|
|
32
|
+
_BASESTATION._serialized_end=850
|
|
33
|
+
# @@protoc_insertion_point(module_scope)
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
from google.protobuf import descriptor as _descriptor
|
|
2
|
+
from google.protobuf import message as _message
|
|
3
|
+
from typing import ClassVar as _ClassVar, Mapping as _Mapping, Optional as _Optional, Union as _Union
|
|
4
|
+
|
|
5
|
+
DESCRIPTOR: _descriptor.FileDescriptor
|
|
6
|
+
|
|
7
|
+
class BaseStation(_message.Message):
|
|
8
|
+
__slots__ = ["app_to_base_mqtt_rtk_msg", "base_to_app_mqtt_rtk_msg", "to_app", "to_dev"]
|
|
9
|
+
APP_TO_BASE_MQTT_RTK_MSG_FIELD_NUMBER: _ClassVar[int]
|
|
10
|
+
BASE_TO_APP_MQTT_RTK_MSG_FIELD_NUMBER: _ClassVar[int]
|
|
11
|
+
TO_APP_FIELD_NUMBER: _ClassVar[int]
|
|
12
|
+
TO_DEV_FIELD_NUMBER: _ClassVar[int]
|
|
13
|
+
app_to_base_mqtt_rtk_msg: app_to_base_mqtt_rtk_t
|
|
14
|
+
base_to_app_mqtt_rtk_msg: base_to_app_mqtt_rtk_t
|
|
15
|
+
to_app: response_basestation_info_t
|
|
16
|
+
to_dev: request_basestation_info_t
|
|
17
|
+
def __init__(self, to_dev: _Optional[_Union[request_basestation_info_t, _Mapping]] = ..., to_app: _Optional[_Union[response_basestation_info_t, _Mapping]] = ..., app_to_base_mqtt_rtk_msg: _Optional[_Union[app_to_base_mqtt_rtk_t, _Mapping]] = ..., base_to_app_mqtt_rtk_msg: _Optional[_Union[base_to_app_mqtt_rtk_t, _Mapping]] = ...) -> None: ...
|
|
18
|
+
|
|
19
|
+
class app_to_base_mqtt_rtk_t(_message.Message):
|
|
20
|
+
__slots__ = ["rtk_password", "rtk_port", "rtk_switch", "rtk_url", "rtk_username"]
|
|
21
|
+
RTK_PASSWORD_FIELD_NUMBER: _ClassVar[int]
|
|
22
|
+
RTK_PORT_FIELD_NUMBER: _ClassVar[int]
|
|
23
|
+
RTK_SWITCH_FIELD_NUMBER: _ClassVar[int]
|
|
24
|
+
RTK_URL_FIELD_NUMBER: _ClassVar[int]
|
|
25
|
+
RTK_USERNAME_FIELD_NUMBER: _ClassVar[int]
|
|
26
|
+
rtk_password: str
|
|
27
|
+
rtk_port: int
|
|
28
|
+
rtk_switch: int
|
|
29
|
+
rtk_url: str
|
|
30
|
+
rtk_username: str
|
|
31
|
+
def __init__(self, rtk_switch: _Optional[int] = ..., rtk_url: _Optional[str] = ..., rtk_port: _Optional[int] = ..., rtk_username: _Optional[str] = ..., rtk_password: _Optional[str] = ...) -> None: ...
|
|
32
|
+
|
|
33
|
+
class base_to_app_mqtt_rtk_t(_message.Message):
|
|
34
|
+
__slots__ = ["rtk_switch_status"]
|
|
35
|
+
RTK_SWITCH_STATUS_FIELD_NUMBER: _ClassVar[int]
|
|
36
|
+
rtk_switch_status: int
|
|
37
|
+
def __init__(self, rtk_switch_status: _Optional[int] = ...) -> None: ...
|
|
38
|
+
|
|
39
|
+
class request_basestation_info_t(_message.Message):
|
|
40
|
+
__slots__ = ["request_type"]
|
|
41
|
+
REQUEST_TYPE_FIELD_NUMBER: _ClassVar[int]
|
|
42
|
+
request_type: int
|
|
43
|
+
def __init__(self, request_type: _Optional[int] = ...) -> None: ...
|
|
44
|
+
|
|
45
|
+
class response_basestation_info_t(_message.Message):
|
|
46
|
+
__slots__ = ["app_connect_type", "ble_rssi", "lora_channel", "lora_locid", "lora_netid", "lora_scan", "lowpower_status", "mqtt_rtk_status", "rtk_channel", "rtk_status", "rtk_switch", "sats_num", "system_status", "wifi_rssi"]
|
|
47
|
+
APP_CONNECT_TYPE_FIELD_NUMBER: _ClassVar[int]
|
|
48
|
+
BLE_RSSI_FIELD_NUMBER: _ClassVar[int]
|
|
49
|
+
LORA_CHANNEL_FIELD_NUMBER: _ClassVar[int]
|
|
50
|
+
LORA_LOCID_FIELD_NUMBER: _ClassVar[int]
|
|
51
|
+
LORA_NETID_FIELD_NUMBER: _ClassVar[int]
|
|
52
|
+
LORA_SCAN_FIELD_NUMBER: _ClassVar[int]
|
|
53
|
+
LOWPOWER_STATUS_FIELD_NUMBER: _ClassVar[int]
|
|
54
|
+
MQTT_RTK_STATUS_FIELD_NUMBER: _ClassVar[int]
|
|
55
|
+
RTK_CHANNEL_FIELD_NUMBER: _ClassVar[int]
|
|
56
|
+
RTK_STATUS_FIELD_NUMBER: _ClassVar[int]
|
|
57
|
+
RTK_SWITCH_FIELD_NUMBER: _ClassVar[int]
|
|
58
|
+
SATS_NUM_FIELD_NUMBER: _ClassVar[int]
|
|
59
|
+
SYSTEM_STATUS_FIELD_NUMBER: _ClassVar[int]
|
|
60
|
+
WIFI_RSSI_FIELD_NUMBER: _ClassVar[int]
|
|
61
|
+
app_connect_type: int
|
|
62
|
+
ble_rssi: int
|
|
63
|
+
lora_channel: int
|
|
64
|
+
lora_locid: int
|
|
65
|
+
lora_netid: int
|
|
66
|
+
lora_scan: int
|
|
67
|
+
lowpower_status: int
|
|
68
|
+
mqtt_rtk_status: int
|
|
69
|
+
rtk_channel: int
|
|
70
|
+
rtk_status: int
|
|
71
|
+
rtk_switch: int
|
|
72
|
+
sats_num: int
|
|
73
|
+
system_status: int
|
|
74
|
+
wifi_rssi: int
|
|
75
|
+
def __init__(self, system_status: _Optional[int] = ..., app_connect_type: _Optional[int] = ..., ble_rssi: _Optional[int] = ..., wifi_rssi: _Optional[int] = ..., sats_num: _Optional[int] = ..., lora_scan: _Optional[int] = ..., lora_channel: _Optional[int] = ..., lora_locid: _Optional[int] = ..., lora_netid: _Optional[int] = ..., rtk_status: _Optional[int] = ..., lowpower_status: _Optional[int] = ..., mqtt_rtk_status: _Optional[int] = ..., rtk_channel: _Optional[int] = ..., rtk_switch: _Optional[int] = ...) -> None: ...
|
pymammotion/proto/dev_net.proto
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
syntax = "proto3";
|
|
2
2
|
|
|
3
3
|
message DrvWifiUpload {
|
|
4
|
-
int32
|
|
4
|
+
int32 wifi_msg_upload = 1;
|
|
5
5
|
}
|
|
6
6
|
|
|
7
7
|
message DrvWifiList {
|
|
8
|
-
int32
|
|
8
|
+
int32 nvs_wifi_upload = 1;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
message DrvWifiSet {
|
|
@@ -17,8 +17,8 @@ message DrvWifiSet {
|
|
|
17
17
|
message DrvWifiMsg {
|
|
18
18
|
bool status1 = 1;
|
|
19
19
|
bool status2 = 2;
|
|
20
|
-
string
|
|
21
|
-
string
|
|
20
|
+
string ip = 3;
|
|
21
|
+
string msgssid = 4;
|
|
22
22
|
string password = 5;
|
|
23
23
|
int32 rssi = 6;
|
|
24
24
|
string productkey = 7;
|
pymammotion/proto/dev_net.py
CHANGED
|
@@ -149,7 +149,7 @@ class DrvDevInfoReqId(betterproto.Message):
|
|
|
149
149
|
class DrvDevInfoRespId(betterproto.Message):
|
|
150
150
|
id: int = betterproto.int32_field(1)
|
|
151
151
|
type: int = betterproto.int32_field(2)
|
|
152
|
-
res: DrvDevInfoResult = betterproto.enum_field(3)
|
|
152
|
+
res: "DrvDevInfoResult" = betterproto.enum_field(3)
|
|
153
153
|
info: str = betterproto.string_field(4)
|
|
154
154
|
|
|
155
155
|
|
|
@@ -233,7 +233,7 @@ class GetMnetInfoReq(betterproto.Message):
|
|
|
233
233
|
class GetMnetInfoRsp(betterproto.Message):
|
|
234
234
|
req_ids: int = betterproto.int32_field(1)
|
|
235
235
|
result: int = betterproto.int32_field(2)
|
|
236
|
-
mnet: MnetInfo = betterproto.message_field(3)
|
|
236
|
+
mnet: "MnetInfo" = betterproto.message_field(3)
|
|
237
237
|
|
|
238
238
|
|
|
239
239
|
@dataclass
|
pymammotion/proto/dev_net_pb2.py
CHANGED
|
@@ -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\
|
|
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\"\x8a\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\"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\"\xb6\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\"!\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\"\xca\n\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\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*Z\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*^\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())
|
|
@@ -236,18 +236,16 @@ class DrvWifiConf(_message.Message):
|
|
|
236
236
|
def __init__(self, succFlag: bool = ..., code: _Optional[int] = ..., Confssid: _Optional[str] = ...) -> None: ...
|
|
237
237
|
|
|
238
238
|
class DrvWifiList(_message.Message):
|
|
239
|
-
__slots__ = ["
|
|
239
|
+
__slots__ = ["nvs_wifi_upload"]
|
|
240
240
|
NVS_WIFI_UPLOAD_FIELD_NUMBER: _ClassVar[int]
|
|
241
|
-
|
|
242
|
-
def __init__(self,
|
|
241
|
+
nvs_wifi_upload: int
|
|
242
|
+
def __init__(self, nvs_wifi_upload: _Optional[int] = ...) -> None: ...
|
|
243
243
|
|
|
244
244
|
class DrvWifiMsg(_message.Message):
|
|
245
|
-
__slots__ = ["
|
|
245
|
+
__slots__ = ["devicename", "ip", "msgssid", "password", "productkey", "rssi", "status1", "status2", "wifi_enable"]
|
|
246
246
|
DEVICENAME_FIELD_NUMBER: _ClassVar[int]
|
|
247
|
-
IP: str
|
|
248
247
|
IP_FIELD_NUMBER: _ClassVar[int]
|
|
249
248
|
MSGSSID_FIELD_NUMBER: _ClassVar[int]
|
|
250
|
-
Msgssid: str
|
|
251
249
|
PASSWORD_FIELD_NUMBER: _ClassVar[int]
|
|
252
250
|
PRODUCTKEY_FIELD_NUMBER: _ClassVar[int]
|
|
253
251
|
RSSI_FIELD_NUMBER: _ClassVar[int]
|
|
@@ -255,13 +253,15 @@ class DrvWifiMsg(_message.Message):
|
|
|
255
253
|
STATUS2_FIELD_NUMBER: _ClassVar[int]
|
|
256
254
|
WIFI_ENABLE_FIELD_NUMBER: _ClassVar[int]
|
|
257
255
|
devicename: str
|
|
256
|
+
ip: str
|
|
257
|
+
msgssid: str
|
|
258
258
|
password: str
|
|
259
259
|
productkey: str
|
|
260
260
|
rssi: int
|
|
261
261
|
status1: bool
|
|
262
262
|
status2: bool
|
|
263
263
|
wifi_enable: bool
|
|
264
|
-
def __init__(self, status1: bool = ..., status2: bool = ...,
|
|
264
|
+
def __init__(self, status1: bool = ..., status2: bool = ..., ip: _Optional[str] = ..., msgssid: _Optional[str] = ..., password: _Optional[str] = ..., rssi: _Optional[int] = ..., productkey: _Optional[str] = ..., devicename: _Optional[str] = ..., wifi_enable: bool = ...) -> None: ...
|
|
265
265
|
|
|
266
266
|
class DrvWifiSet(_message.Message):
|
|
267
267
|
__slots__ = ["Confssid", "configParam", "wifi_enable"]
|
|
@@ -274,10 +274,10 @@ class DrvWifiSet(_message.Message):
|
|
|
274
274
|
def __init__(self, configParam: _Optional[int] = ..., Confssid: _Optional[str] = ..., wifi_enable: bool = ...) -> None: ...
|
|
275
275
|
|
|
276
276
|
class DrvWifiUpload(_message.Message):
|
|
277
|
-
__slots__ = ["
|
|
277
|
+
__slots__ = ["wifi_msg_upload"]
|
|
278
278
|
WIFI_MSG_UPLOAD_FIELD_NUMBER: _ClassVar[int]
|
|
279
|
-
|
|
280
|
-
def __init__(self,
|
|
279
|
+
wifi_msg_upload: int
|
|
280
|
+
def __init__(self, wifi_msg_upload: _Optional[int] = ...) -> None: ...
|
|
281
281
|
|
|
282
282
|
class GetMnetCfgReq(_message.Message):
|
|
283
283
|
__slots__ = ["req_ids"]
|
pymammotion/proto/luba_msg.proto
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
syntax = "proto3";
|
|
2
2
|
|
|
3
|
+
import "pymammotion/proto/basestation.proto";
|
|
3
4
|
import "pymammotion/proto/mctrl_driver.proto";
|
|
4
5
|
import "pymammotion/proto/mctrl_nav.proto";
|
|
5
6
|
import "pymammotion/proto/mctrl_sys.proto";
|
|
@@ -28,6 +29,7 @@ message LubaMsg {
|
|
|
28
29
|
SocMul mul = 14;
|
|
29
30
|
MsgNull null = 16;
|
|
30
31
|
MctlPept pept = 17;
|
|
32
|
+
BaseStation base = 18;
|
|
31
33
|
}
|
|
32
34
|
uint64 timestamp = 15;
|
|
33
35
|
}
|
pymammotion/proto/luba_msg.py
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
from dataclasses import dataclass
|
|
5
5
|
|
|
6
6
|
import betterproto
|
|
7
|
-
|
|
8
7
|
from .common import *
|
|
8
|
+
from .basestation import *
|
|
9
9
|
from .dev_net import *
|
|
10
10
|
from .luba_mul import *
|
|
11
11
|
from .mctrl_driver import *
|
|
@@ -77,4 +77,5 @@ class LubaMsg(betterproto.Message):
|
|
|
77
77
|
mul: "SocMul" = betterproto.message_field(14, group="LubaSubMsg")
|
|
78
78
|
null: "MsgNull" = betterproto.message_field(16, group="LubaSubMsg")
|
|
79
79
|
pept: "MctlPept" = betterproto.message_field(17, group="LubaSubMsg")
|
|
80
|
+
base: "BaseStation" = betterproto.message_field(18, group="LubaSubMsg")
|
|
80
81
|
timestamp: int = betterproto.uint64_field(15)
|
|
@@ -11,6 +11,7 @@ from google.protobuf import symbol_database as _symbol_database
|
|
|
11
11
|
_sym_db = _symbol_database.Default()
|
|
12
12
|
|
|
13
13
|
|
|
14
|
+
from pymammotion.proto import basestation_pb2 as pymammotion_dot_proto_dot_basestation__pb2
|
|
14
15
|
from pymammotion.proto import mctrl_driver_pb2 as pymammotion_dot_proto_dot_mctrl__driver__pb2
|
|
15
16
|
from pymammotion.proto import mctrl_nav_pb2 as pymammotion_dot_proto_dot_mctrl__nav__pb2
|
|
16
17
|
from pymammotion.proto import mctrl_sys_pb2 as pymammotion_dot_proto_dot_mctrl__sys__pb2
|
|
@@ -20,21 +21,21 @@ from pymammotion.proto import luba_mul_pb2 as pymammotion_dot_proto_dot_luba__mu
|
|
|
20
21
|
from pymammotion.proto import mctrl_pept_pb2 as pymammotion_dot_proto_dot_mctrl__pept__pb2
|
|
21
22
|
|
|
22
23
|
|
|
23
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n pymammotion/proto/luba_msg.proto\x1a$pymammotion/proto/mctrl_driver.proto\x1a!pymammotion/proto/mctrl_nav.proto\x1a!pymammotion/proto/mctrl_sys.proto\x1a\x1fpymammotion/proto/dev_net.proto\x1a!pymammotion/proto/mctrl_ota.proto\x1a pymammotion/proto/luba_mul.proto\x1a\"pymammotion/proto/mctrl_pept.proto\"\t\n\x07MsgNull\"\
|
|
24
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n pymammotion/proto/luba_msg.proto\x1a#pymammotion/proto/basestation.proto\x1a$pymammotion/proto/mctrl_driver.proto\x1a!pymammotion/proto/mctrl_nav.proto\x1a!pymammotion/proto/mctrl_sys.proto\x1a\x1fpymammotion/proto/dev_net.proto\x1a!pymammotion/proto/mctrl_ota.proto\x1a pymammotion/proto/luba_mul.proto\x1a\"pymammotion/proto/mctrl_pept.proto\"\t\n\x07MsgNull\"\xb7\x03\n\x07LubaMsg\x12\x1c\n\x07msgtype\x18\x01 \x01(\x0e\x32\x0b.MsgCmdType\x12\x1a\n\x06sender\x18\x02 \x01(\x0e\x32\n.MsgDevice\x12\x19\n\x05rcver\x18\x03 \x01(\x0e\x32\n.MsgDevice\x12\x19\n\x07msgattr\x18\x04 \x01(\x0e\x32\x08.MsgAttr\x12\x0c\n\x04seqs\x18\x05 \x01(\x05\x12\x0f\n\x07version\x18\x06 \x01(\x05\x12\x0f\n\x07subtype\x18\x07 \x01(\x05\x12\x16\n\x03net\x18\x08 \x01(\x0b\x32\x07.DevNetH\x00\x12\x17\n\x03sys\x18\n \x01(\x0b\x32\x08.MctlSysH\x00\x12\x17\n\x03nav\x18\x0b \x01(\x0b\x32\x08.MctlNavH\x00\x12\x1d\n\x06\x64river\x18\x0c \x01(\x0b\x32\x0b.MctlDriverH\x00\x12\x17\n\x03ota\x18\r \x01(\x0b\x32\x08.MctlOtaH\x00\x12\x16\n\x03mul\x18\x0e \x01(\x0b\x32\x07.SocMulH\x00\x12\x18\n\x04null\x18\x10 \x01(\x0b\x32\x08.MsgNullH\x00\x12\x19\n\x04pept\x18\x11 \x01(\x0b\x32\t.MctlPeptH\x00\x12\x1c\n\x04\x62\x61se\x18\x12 \x01(\x0b\x32\x0c.BaseStationH\x00\x12\x11\n\ttimestamp\x18\x0f \x01(\x04\x42\x0c\n\nLubaSubMsg*\xd7\x02\n\nMsgCmdType\x12\x16\n\x12MSG_CMD_TYPE_START\x10\x00\x12\x15\n\x10MSG_CMD_TYPE_NAV\x10\xf0\x01\x12\x1e\n\x19MSG_CMD_TYPE_LOCALIZATION\x10\xf1\x01\x12\x1a\n\x15MSG_CMD_TYPE_PLANNING\x10\xf2\x01\x12\x1e\n\x19MSG_CMD_TYPE_EMBED_DRIVER\x10\xf3\x01\x12\x1b\n\x16MSG_CMD_TYPE_EMBED_SYS\x10\xf4\x01\x12\x1f\n\x1aMSG_CMD_TYPE_EMBED_MIDWARE\x10\xf5\x01\x12\x1b\n\x16MSG_CMD_TYPE_EMBED_OTA\x10\xf6\x01\x12\x1d\n\x18MSG_CMD_TYPE_APPLICATION\x10\xf7\x01\x12\x15\n\x10MSG_CMD_TYPE_ESP\x10\xf8\x01\x12\x15\n\x10MSG_CMD_TYPE_MUL\x10\xf9\x01\x12\x16\n\x11MSG_CMD_TYPE_PEPT\x10\xfa\x01*V\n\x07MsgAttr\x12\x11\n\rMSG_ATTR_NONE\x10\x00\x12\x10\n\x0cMSG_ATTR_REQ\x10\x01\x12\x11\n\rMSG_ATTR_RESP\x10\x02\x12\x13\n\x0fMSG_ATTR_REPORT\x10\x03*\xa8\x02\n\tMsgDevice\x12\x10\n\x0c\x44\x45V_COMM_ESP\x10\x00\x12\x0f\n\x0b\x44\x45V_MAINCTL\x10\x01\x12\x11\n\rDEV_LEFTMOTOR\x10\x02\x12\x12\n\x0e\x44\x45V_RIGHTMOTOR\x10\x03\x12\x13\n\x0f\x44\x45V_BASESTATION\x10\x04\x12\x0e\n\nDEV_RTKCLI\x10\x05\x12\x0f\n\x0b\x44\x45V_USBHOST\x10\x06\x12\x11\n\rDEV_MOBILEAPP\x10\x07\x12\x11\n\rDEV_IOTSERVER\x10\x08\x12\x0b\n\x07\x44\x45V_BMS\x10\t\x12\x12\n\x0e\x44\x45V_NAVIGATION\x10\x11\x12\x14\n\x10\x44\x45V_LOCALIZATION\x10\x12\x12\x12\n\x0e\x44\x45V_PERCEPTION\x10\x13\x12\x19\n\x15SOC_MODULE_MULTIMEDIA\x10\x15\x12\x0f\n\x0b\x44\x45V_IOTCTRL\x10\x19\x62\x06proto3')
|
|
24
25
|
|
|
25
26
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
|
|
26
27
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'pymammotion.proto.luba_msg_pb2', globals())
|
|
27
28
|
if _descriptor._USE_C_DESCRIPTORS == False:
|
|
28
29
|
|
|
29
30
|
DESCRIPTOR._options = None
|
|
30
|
-
_MSGCMDTYPE._serialized_start=
|
|
31
|
-
_MSGCMDTYPE._serialized_end=
|
|
32
|
-
_MSGATTR._serialized_start=
|
|
33
|
-
_MSGATTR._serialized_end=
|
|
34
|
-
_MSGDEVICE._serialized_start=
|
|
35
|
-
_MSGDEVICE._serialized_end=
|
|
36
|
-
_MSGNULL._serialized_start=
|
|
37
|
-
_MSGNULL._serialized_end=
|
|
38
|
-
_LUBAMSG._serialized_start=
|
|
39
|
-
_LUBAMSG._serialized_end=
|
|
31
|
+
_MSGCMDTYPE._serialized_start=773
|
|
32
|
+
_MSGCMDTYPE._serialized_end=1116
|
|
33
|
+
_MSGATTR._serialized_start=1118
|
|
34
|
+
_MSGATTR._serialized_end=1204
|
|
35
|
+
_MSGDEVICE._serialized_start=1207
|
|
36
|
+
_MSGDEVICE._serialized_end=1503
|
|
37
|
+
_MSGNULL._serialized_start=319
|
|
38
|
+
_MSGNULL._serialized_end=328
|
|
39
|
+
_LUBAMSG._serialized_start=331
|
|
40
|
+
_LUBAMSG._serialized_end=770
|
|
40
41
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
from pymammotion.proto import basestation_pb2 as _basestation_pb2
|
|
1
2
|
from pymammotion.proto import mctrl_driver_pb2 as _mctrl_driver_pb2
|
|
2
3
|
from pymammotion.proto import mctrl_nav_pb2 as _mctrl_nav_pb2
|
|
3
4
|
from pymammotion.proto import mctrl_sys_pb2 as _mctrl_sys_pb2
|
|
@@ -44,7 +45,8 @@ MSG_CMD_TYPE_START: MsgCmdType
|
|
|
44
45
|
SOC_MODULE_MULTIMEDIA: MsgDevice
|
|
45
46
|
|
|
46
47
|
class LubaMsg(_message.Message):
|
|
47
|
-
__slots__ = ["driver", "msgattr", "msgtype", "mul", "nav", "net", "null", "ota", "pept", "rcver", "sender", "seqs", "subtype", "sys", "timestamp", "version"]
|
|
48
|
+
__slots__ = ["base", "driver", "msgattr", "msgtype", "mul", "nav", "net", "null", "ota", "pept", "rcver", "sender", "seqs", "subtype", "sys", "timestamp", "version"]
|
|
49
|
+
BASE_FIELD_NUMBER: _ClassVar[int]
|
|
48
50
|
DRIVER_FIELD_NUMBER: _ClassVar[int]
|
|
49
51
|
MSGATTR_FIELD_NUMBER: _ClassVar[int]
|
|
50
52
|
MSGTYPE_FIELD_NUMBER: _ClassVar[int]
|
|
@@ -61,6 +63,7 @@ class LubaMsg(_message.Message):
|
|
|
61
63
|
SYS_FIELD_NUMBER: _ClassVar[int]
|
|
62
64
|
TIMESTAMP_FIELD_NUMBER: _ClassVar[int]
|
|
63
65
|
VERSION_FIELD_NUMBER: _ClassVar[int]
|
|
66
|
+
base: _basestation_pb2.BaseStation
|
|
64
67
|
driver: _mctrl_driver_pb2.MctlDriver
|
|
65
68
|
msgattr: MsgAttr
|
|
66
69
|
msgtype: MsgCmdType
|
|
@@ -77,7 +80,7 @@ class LubaMsg(_message.Message):
|
|
|
77
80
|
sys: _mctrl_sys_pb2.MctlSys
|
|
78
81
|
timestamp: int
|
|
79
82
|
version: int
|
|
80
|
-
def __init__(self, msgtype: _Optional[_Union[MsgCmdType, str]] = ..., sender: _Optional[_Union[MsgDevice, str]] = ..., rcver: _Optional[_Union[MsgDevice, str]] = ..., msgattr: _Optional[_Union[MsgAttr, str]] = ..., seqs: _Optional[int] = ..., version: _Optional[int] = ..., subtype: _Optional[int] = ..., net: _Optional[_Union[_dev_net_pb2.DevNet, _Mapping]] = ..., sys: _Optional[_Union[_mctrl_sys_pb2.MctlSys, _Mapping]] = ..., nav: _Optional[_Union[_mctrl_nav_pb2.MctlNav, _Mapping]] = ..., driver: _Optional[_Union[_mctrl_driver_pb2.MctlDriver, _Mapping]] = ..., ota: _Optional[_Union[_mctrl_ota_pb2.MctlOta, _Mapping]] = ..., mul: _Optional[_Union[_luba_mul_pb2.SocMul, _Mapping]] = ..., null: _Optional[_Union[MsgNull, _Mapping]] = ..., pept: _Optional[_Union[_mctrl_pept_pb2.MctlPept, _Mapping]] = ..., timestamp: _Optional[int] = ...) -> None: ...
|
|
83
|
+
def __init__(self, msgtype: _Optional[_Union[MsgCmdType, str]] = ..., sender: _Optional[_Union[MsgDevice, str]] = ..., rcver: _Optional[_Union[MsgDevice, str]] = ..., msgattr: _Optional[_Union[MsgAttr, str]] = ..., seqs: _Optional[int] = ..., version: _Optional[int] = ..., subtype: _Optional[int] = ..., net: _Optional[_Union[_dev_net_pb2.DevNet, _Mapping]] = ..., sys: _Optional[_Union[_mctrl_sys_pb2.MctlSys, _Mapping]] = ..., nav: _Optional[_Union[_mctrl_nav_pb2.MctlNav, _Mapping]] = ..., driver: _Optional[_Union[_mctrl_driver_pb2.MctlDriver, _Mapping]] = ..., ota: _Optional[_Union[_mctrl_ota_pb2.MctlOta, _Mapping]] = ..., mul: _Optional[_Union[_luba_mul_pb2.SocMul, _Mapping]] = ..., null: _Optional[_Union[MsgNull, _Mapping]] = ..., pept: _Optional[_Union[_mctrl_pept_pb2.MctlPept, _Mapping]] = ..., base: _Optional[_Union[_basestation_pb2.BaseStation, _Mapping]] = ..., timestamp: _Optional[int] = ...) -> None: ...
|
|
81
84
|
|
|
82
85
|
class MsgNull(_message.Message):
|
|
83
86
|
__slots__ = []
|
pymammotion/proto/mctrl_nav.py
CHANGED
pymammotion/proto/mctrl_sys.py
CHANGED
|
@@ -3,11 +3,10 @@
|
|
|
3
3
|
# plugin: python-betterproto
|
|
4
4
|
from dataclasses import dataclass
|
|
5
5
|
|
|
6
|
+
from .dev_net import *
|
|
6
7
|
|
|
7
8
|
import betterproto
|
|
8
9
|
|
|
9
|
-
from .dev_net import *
|
|
10
|
-
|
|
11
10
|
|
|
12
11
|
class Operation(betterproto.Enum):
|
|
13
12
|
WRITE = 0
|
|
@@ -287,8 +286,8 @@ class SystemUpdateBufMsg(betterproto.Message):
|
|
|
287
286
|
|
|
288
287
|
@dataclass
|
|
289
288
|
class SysOffChipFlash(betterproto.Message):
|
|
290
|
-
op: Operation = betterproto.enum_field(1)
|
|
291
|
-
id: OffPartId = betterproto.enum_field(2)
|
|
289
|
+
op: "Operation" = betterproto.enum_field(1)
|
|
290
|
+
id: "OffPartId" = betterproto.enum_field(2)
|
|
292
291
|
start_addr: int = betterproto.uint32_field(3)
|
|
293
292
|
offset: int = betterproto.uint32_field(4)
|
|
294
293
|
length: int = betterproto.int32_field(5)
|
|
@@ -434,10 +433,10 @@ class RptDevStatus(betterproto.Message):
|
|
|
434
433
|
last_status: int = betterproto.int32_field(5)
|
|
435
434
|
sys_time_stamp: int = betterproto.int64_field(6)
|
|
436
435
|
vslam_status: int = betterproto.int32_field(7)
|
|
437
|
-
mnet_info: MnetInfo = betterproto.message_field(8)
|
|
438
|
-
vio_survival_info: VioSurvivalInfoT = betterproto.message_field(9)
|
|
439
|
-
collector_status: CollectorStatusT = betterproto.message_field(10)
|
|
440
|
-
lock_state: LockStateT = betterproto.message_field(11)
|
|
436
|
+
mnet_info: "MnetInfo" = betterproto.message_field(8)
|
|
437
|
+
vio_survival_info: "VioSurvivalInfoT" = betterproto.message_field(9)
|
|
438
|
+
collector_status: "CollectorStatusT" = betterproto.message_field(10)
|
|
439
|
+
lock_state: "LockStateT" = betterproto.message_field(11)
|
|
441
440
|
|
|
442
441
|
|
|
443
442
|
@dataclass
|
|
@@ -494,16 +493,16 @@ class ReportInfoCfg(betterproto.Message):
|
|
|
494
493
|
|
|
495
494
|
@dataclass
|
|
496
495
|
class ReportInfoData(betterproto.Message):
|
|
497
|
-
connect: RptConnectStatus = betterproto.message_field(1)
|
|
498
|
-
dev: RptDevStatus = betterproto.message_field(2)
|
|
499
|
-
rtk: RptRtk = betterproto.message_field(3)
|
|
500
|
-
locations: list[RptDevLocation] = betterproto.message_field(4)
|
|
501
|
-
work: RptWork = betterproto.message_field(5)
|
|
502
|
-
fw_info: DeviceFwInfo = betterproto.message_field(6)
|
|
503
|
-
maintain: RptMaintain = betterproto.message_field(7)
|
|
504
|
-
vision_point_info: list[VisionPointInfoMsg] = betterproto.message_field(8)
|
|
505
|
-
vio_to_app_info: VioToAppInfoMsg = betterproto.message_field(9)
|
|
506
|
-
vision_statistic_info: VisionStatisticInfoMsg = betterproto.message_field(10)
|
|
496
|
+
connect: "RptConnectStatus" = betterproto.message_field(1)
|
|
497
|
+
dev: "RptDevStatus" = betterproto.message_field(2)
|
|
498
|
+
rtk: "RptRtk" = betterproto.message_field(3)
|
|
499
|
+
locations: list["RptDevLocation"] = betterproto.message_field(4)
|
|
500
|
+
work: "RptWork" = betterproto.message_field(5)
|
|
501
|
+
fw_info: "DeviceFwInfo" = betterproto.message_field(6)
|
|
502
|
+
maintain: "RptMaintain" = betterproto.message_field(7)
|
|
503
|
+
vision_point_info: list["VisionPointInfoMsg"] = betterproto.message_field(8)
|
|
504
|
+
vio_to_app_info: "VioToAppInfoMsg" = betterproto.message_field(9)
|
|
505
|
+
vision_statistic_info: "VisionStatisticInfoMsg" = betterproto.message_field(10)
|
|
507
506
|
|
|
508
507
|
|
|
509
508
|
@dataclass
|
|
@@ -566,7 +565,7 @@ class MctlSys(betterproto.Message):
|
|
|
566
565
|
37, group="SubSysMsg"
|
|
567
566
|
)
|
|
568
567
|
todev_report_cfg: "ReportInfoCfg" = betterproto.message_field(38, group="SubSysMsg")
|
|
569
|
-
toapp_report_data: ReportInfoData = betterproto.message_field(
|
|
568
|
+
toapp_report_data: "ReportInfoData" = betterproto.message_field(
|
|
570
569
|
39, group="SubSysMsg"
|
|
571
570
|
)
|
|
572
571
|
simulation_cmd: "MCtrlSimulationCmdData" = betterproto.message_field(
|
|
@@ -14,25 +14,25 @@ _sym_db = _symbol_database.Default()
|
|
|
14
14
|
from pymammotion.proto import dev_net_pb2 as pymammotion_dot_proto_dot_dev__net__pb2
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!pymammotion/proto/mctrl_sys.proto\x1a\x1fpymammotion/proto/dev_net.proto\"\x1a\n\x08SysBatUp\x12\x0e\n\x06\x62\x61tVal\x18\x01 \x01(\x05\"Z\n\x0cSysWorkState\x12\x13\n\x0b\x64\x65viceState\x18\x01 \x01(\x05\x12\x13\n\x0b\x63hargeState\x18\x02 \x01(\x05\x12\x0e\n\x06\x63mHash\x18\x03 \x01(\x03\x12\x10\n\x08pathHash\x18\x04 \x01(\x03\"5\n\x0eSysSetTimeZone\x12\x11\n\ttimeStamp\x18\x01 \x01(\x05\x12\x10\n\x08timeArea\x18\x02 \x01(\x05\"\x9e\x01\n\x0eSysSetDateTime\x12\x0c\n\x04Year\x18\x01 \x01(\x05\x12\r\n\x05Month\x18\x02 \x01(\x05\x12\x0c\n\x04\x44\x61te\x18\x03 \x01(\x05\x12\x0c\n\x04Week\x18\x04 \x01(\x05\x12\r\n\x05Hours\x18\x05 \x01(\x05\x12\x0f\n\x07Minutes\x18\x06 \x01(\x05\x12\x0f\n\x07Seconds\x18\x07 \x01(\x05\x12\x10\n\x08timeZone\x18\x08 \x01(\x05\x12\x10\n\x08\x64\x61ylight\x18\t \x01(\x05\"V\n\nSysJobPlan\x12\r\n\x05jobId\x18\x01 \x01(\x03\x12\x0f\n\x07jobMode\x18\x02 \x01(\x05\x12\x13\n\x0brainTactics\x18\x03 \x01(\x05\x12\x13\n\x0bknifeHeight\x18\x04 \x01(\x05\"\"\n\rSysDevErrCode\x12\x11\n\terrorCode\x18\x01 \x01(\x05\"!\n\x0cSysBoardType\x12\x11\n\tboardType\x18\x01 \x01(\x05\"5\n\x0cSysSwVersion\x12\x11\n\tboardType\x18\x01 \x01(\x05\x12\x12\n\nversionLen\x18\x02 \x01(\x05\"1\n\rSysDelJobPlan\x12\x10\n\x08\x64\x65viceId\x18\x01 \x01(\t\x12\x0e\n\x06planId\x18\x02 \x01(\t\"\xec\x01\n\x0eSysJobPlanTime\x12\x0e\n\x06planId\x18\x01 \x01(\x03\x12\x16\n\x0estart_job_time\x18\x02 \x01(\x05\x12\x14\n\x0c\x65nd_job_time\x18\x03 \x01(\x05\x12\x13\n\x0btime_in_day\x18\x04 \x01(\x05\x12\x15\n\rjob_plan_mode\x18\x05 \x01(\x05\x12\x17\n\x0fjob_plan_enable\x18\x06 \x01(\x05\x12\x0f\n\x07weekDay\x18\x07 \x03(\x05\x12\x15\n\rtimeInWeekDay\x18\x08 \x03(\x05\x12\x10\n\x08\x65veryDay\x18\t \x01(\x05\x12\x1d\n\x08job_plan\x18\n \x01(\x0b\x32\x0b.SysJobPlan\"k\n\nSysMowInfo\x12\x13\n\x0b\x64\x65viceState\x18\x01 \x01(\x05\x12\x0e\n\x06\x62\x61tVal\x18\x02 \x01(\x05\x12\x13\n\x0bknifeHeight\x18\x03 \x01(\x05\x12\x11\n\tRTKstatus\x18\x04 \x01(\x05\x12\x10\n\x08RTKstars\x18\x05 \x01(\x05\";\n\x0eSysOptiLineAck\x12\x13\n\x0bresponesCmd\x18\x01 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x02 \x01(\x05\"5\n\nSysCommCmd\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\"H\n\x15SysUploadFileProgress\x12\r\n\x05\x62izId\x18\x01 \x01(\t\x12\x0e\n\x06result\x18\x02 \x01(\x05\x12\x10\n\x08progress\x18\x03 \x01(\x05\"\x1f\n\x0cSysErrorCode\x12\x0f\n\x07\x63ode_no\x18\x01 \x01(\x05\"\x1e\n\tSysBorder\x12\x11\n\tborderval\x18\x01 \x01(\x05\"*\n\x10SysPlanJobStatus\x12\x16\n\x0eplanjob_status\x18\x01 \x01(\x05\"=\n\x0fSysKnifeControl\x12\x14\n\x0cknife_status\x18\x01 \x01(\x05\x12\x14\n\x0cknife_height\x18\x02 \x01(\x05\"+\n\x14SysResetSystemStatus\x12\x13\n\x0breset_staus\x18\x01 \x01(\x05\"\x8a\x01\n\rTimeCtrlLight\x12\x0f\n\x07operate\x18\x01 \x01(\x05\x12\x0e\n\x06\x65nable\x18\x02 \x01(\x05\x12\x12\n\nstart_hour\x18\x03 \x01(\x05\x12\x11\n\tstart_min\x18\x04 \x01(\x05\x12\x10\n\x08\x65nd_hour\x18\x05 \x01(\x05\x12\x0f\n\x07\x65nd_min\x18\x06 \x01(\x05\x12\x0e\n\x06\x61\x63tion\x18\x07 \x01(\x05\"3\n\x10vision_point_msg\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\x12\t\n\x01z\x18\x03 \x01(\x02\"\\\n\x15vision_point_info_msg\x12\r\n\x05lable\x18\x01 \x01(\x05\x12\x0b\n\x03num\x18\x02 \x01(\x05\x12\'\n\x0cvision_point\x18\x03 \x03(\x0b\x32\x11.vision_point_msg\"\x9a\x01\n\x13vio_to_app_info_msg\x12\t\n\x01x\x18\x01 \x01(\x01\x12\t\n\x01y\x18\x02 \x01(\x01\x12\x0f\n\x07heading\x18\x03 \x01(\x01\x12\x11\n\tvio_state\x18\x04 \x01(\x05\x12\x12\n\nbrightness\x18\x05 \x01(\x05\x12\x1a\n\x12\x64\x65tect_feature_num\x18\x06 \x01(\x05\x12\x19\n\x11track_feature_num\x18\x07 \x01(\x05\"1\n\x14vision_statistic_msg\x12\x0c\n\x04mean\x18\x01 \x01(\x02\x12\x0b\n\x03var\x18\x02 \x01(\x02\"m\n\x19vision_statistic_info_msg\x12\x11\n\ttimestamp\x18\x01 \x01(\x01\x12\x0b\n\x03num\x18\x02 \x01(\x05\x12\x30\n\x11vision_statistics\x18\x03 \x03(\x0b\x32\x15.vision_statistic_msg\"\xd3\x01\n\x1asystemRapidStateTunnel_msg\x12\x18\n\x10rapid_state_data\x18\x01 \x03(\x03\x12\x31\n\x11vision_point_info\x18\x02 \x03(\x0b\x32\x16.vision_point_info_msg\x12-\n\x0fvio_to_app_info\x18\x03 \x01(\x0b\x32\x14.vio_to_app_info_msg\x12\x39\n\x15vision_statistic_info\x18\x04 \x01(\x0b\x32\x1a.vision_statistic_info_msg\"4\n\x19systemTardStateTunnel_msg\x12\x17\n\x0ftard_state_data\x18\x01 \x03(\x03\".\n\x13systemUpdateBuf_msg\x12\x17\n\x0fupdate_buf_data\x18\x01 \x03(\x03\"\x9e\x01\n\x0fSysOffChipFlash\x12\x16\n\x02op\x18\x01 \x01(\x0e\x32\n.Operation\x12\x16\n\x02id\x18\x02 \x01(\x0e\x32\n.OffPartId\x12\x12\n\nstart_addr\x18\x03 \x01(\r\x12\x0e\n\x06offset\x18\x04 \x01(\r\x12\x0e\n\x06length\x18\x05 \x01(\x05\x12\x0c\n\x04\x64\x61ta\x18\x06 \x01(\x0c\x12\x0c\n\x04\x63ode\x18\x07 \x01(\x05\x12\x0b\n\x03msg\x18\x08 \x01(\t\"-\n\x14systemTmpCycleTx_msg\x12\x15\n\rcycle_tx_data\x18\x01 \x03(\x03\"%\n\nLoraCfgReq\x12\n\n\x02op\x18\x01 \x01(\x05\x12\x0b\n\x03\x63\x66g\x18\x02 \x01(\t\"F\n\nLoraCfgRsp\x12\x0e\n\x06result\x18\x01 \x01(\x05\x12\n\n\x02op\x18\x02 \x01(\x05\x12\x0b\n\x03\x63\x66g\x18\x03 \x01(\t\x12\x0f\n\x07\x66\x61\x63_cfg\x18\x04 \x01(\t\">\n\x0bmod_fw_info\x12\x0c\n\x04type\x18\x01 \x01(\x05\x12\x10\n\x08identify\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\t\"L\n\x0e\x64\x65vice_fw_info\x12\x0e\n\x06result\x18\x01 \x01(\x05\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x19\n\x03mod\x18\x03 \x03(\x0b\x32\x0c.mod_fw_info\"@\n\x11mow_to_app_info_t\x12\x0c\n\x04type\x18\x01 \x01(\x05\x12\x0b\n\x03\x63md\x18\x02 \x01(\x05\x12\x10\n\x08mow_data\x18\x03 \x03(\x05\"a\n\x1a\x64\x65vice_product_type_info_t\x12\x0e\n\x06result\x18\x01 \x01(\x05\x12\x19\n\x11main_product_type\x18\x02 \x01(\t\x12\x18\n\x10sub_product_type\x18\x03 \x01(\t\"P\n\x0fQCAppTestExcept\x12\x13\n\x0b\x65xcept_type\x18\x01 \x01(\t\x12(\n\nconditions\x18\x02 \x03(\x0b\x32\x14.QCAppTestConditions\"t\n\x13QCAppTestConditions\x12\x11\n\tcond_type\x18\x01 \x01(\t\x12\x0f\n\x07int_val\x18\x02 \x01(\x05\x12\x11\n\tfloat_val\x18\x03 \x01(\x02\x12\x12\n\ndouble_val\x18\x04 \x01(\x01\x12\x12\n\nstring_val\x18\x05 \x01(\t\"\x99\x01\n\x19mow_to_app_qctools_info_t\x12\x1a\n\x04type\x18\x01 \x01(\x0e\x32\x0c.QCAppTestId\x12\x16\n\x0etimeOfDuration\x18\x02 \x01(\x05\x12\x0e\n\x06result\x18\x03 \x01(\x05\x12\x16\n\x0eresult_details\x18\x04 \x01(\t\x12 \n\x06\x65xcept\x18\x05 \x03(\x0b\x32\x10.QCAppTestExcept\"O\n\x16mCtrlSimulationCmdData\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\"\x8f\x01\n\x08rpt_lora\x12\x16\n\x0epair_code_scan\x18\x01 \x01(\x05\x12\x19\n\x11pair_code_channel\x18\x02 \x01(\x05\x12\x17\n\x0fpair_code_locid\x18\x03 \x01(\x05\x12\x17\n\x0fpair_code_netid\x18\x04 \x01(\x05\x12\x1e\n\x16lora_connection_status\x18\x05 \x01(\x05\"\xf1\x01\n\x07rpt_rtk\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x11\n\tpos_level\x18\x02 \x01(\x05\x12\x11\n\tgps_stars\x18\x03 \x01(\x05\x12\x0b\n\x03\x61ge\x18\x04 \x01(\x05\x12\x0f\n\x07lat_std\x18\x05 \x01(\x05\x12\x0f\n\x07lon_std\x18\x06 \x01(\x05\x12\x10\n\x08l2_stars\x18\x07 \x01(\x05\x12\x12\n\ndis_status\x18\x08 \x01(\x03\x12\x17\n\x0ftop4_total_mean\x18\t \x01(\x03\x12\x15\n\rco_view_stars\x18\n \x01(\x05\x12\r\n\x05reset\x18\x0b \x01(\x05\x12\x1c\n\tlora_info\x18\x0c \x01(\x0b\x32\t.rpt_lora\"\x86\x01\n\x10rpt_dev_location\x12\x12\n\nreal_pos_x\x18\x01 \x01(\x05\x12\x12\n\nreal_pos_y\x18\x02 \x01(\x05\x12\x13\n\x0breal_toward\x18\x03 \x01(\x05\x12\x10\n\x08pos_type\x18\x04 \x01(\x05\x12\x11\n\tzone_hash\x18\x05 \x01(\x03\x12\x10\n\x08\x62ol_hash\x18\x06 \x01(\x03\"4\n\x13vio_survival_info_t\x12\x1d\n\x15vio_survival_distance\x18\x01 \x01(\x02\";\n\x12\x63ollector_status_t\x12%\n\x1d\x63ollector_installation_status\x18\x01 \x01(\x05\"\"\n\x0clock_state_t\x12\x12\n\nlock_state\x18\x01 \x01(\r\"\xca\x02\n\x0erpt_dev_status\x12\x12\n\nsys_status\x18\x01 \x01(\x05\x12\x14\n\x0c\x63harge_state\x18\x02 \x01(\x05\x12\x13\n\x0b\x62\x61ttery_val\x18\x03 \x01(\x05\x12\x15\n\rsensor_status\x18\x04 \x01(\x05\x12\x13\n\x0blast_status\x18\x05 \x01(\x05\x12\x16\n\x0esys_time_stamp\x18\x06 \x01(\x03\x12\x14\n\x0cvslam_status\x18\x07 \x01(\x05\x12\x1c\n\tmnet_info\x18\x08 \x01(\x0b\x32\t.MnetInfo\x12/\n\x11vio_survival_info\x18\t \x01(\x0b\x32\x14.vio_survival_info_t\x12-\n\x10\x63ollector_status\x18\n \x01(\x0b\x32\x13.collector_status_t\x12!\n\nlock_state\x18\x0b \x01(\x0b\x32\r.lock_state_t\"\xaa\x01\n\x12rpt_connect_status\x12\x14\n\x0c\x63onnect_type\x18\x01 \x01(\x05\x12\x10\n\x08\x62le_rssi\x18\x02 \x01(\x05\x12\x11\n\twifi_rssi\x18\x03 \x01(\x05\x12\x11\n\tlink_type\x18\x04 \x01(\x05\x12\x11\n\tmnet_rssi\x18\x05 \x01(\x05\x12\x11\n\tmnet_inet\x18\x06 \x01(\x05\x12 \n\x08used_net\x18\x07 \x01(\x0e\x32\x0e.net_used_type\"\xa0\x03\n\x08rpt_work\x12\x0c\n\x04plan\x18\x01 \x01(\x05\x12\x11\n\tpath_hash\x18\x02 \x01(\x03\x12\x10\n\x08progress\x18\x03 \x01(\x05\x12\x0c\n\x04\x61rea\x18\x04 \x01(\x05\x12\x0f\n\x07\x62p_info\x18\x05 \x01(\x05\x12\x0f\n\x07\x62p_hash\x18\x06 \x01(\x03\x12\x10\n\x08\x62p_pos_x\x18\x07 \x01(\x05\x12\x10\n\x08\x62p_pos_y\x18\x08 \x01(\x05\x12\x15\n\rreal_path_num\x18\t \x01(\x03\x12\x12\n\npath_pos_x\x18\n \x01(\x05\x12\x12\n\npath_pos_y\x18\x0b \x01(\x05\x12\x14\n\x0cub_zone_hash\x18\x0c \x01(\x03\x12\x14\n\x0cub_path_hash\x18\r \x01(\x03\x12\x15\n\rinit_cfg_hash\x18\x0e \x01(\x03\x12\x15\n\rub_ecode_hash\x18\x0f \x01(\x03\x12\x14\n\x0cnav_run_mode\x18\x10 \x01(\x05\x12\x18\n\x10test_mode_status\x18\x11 \x01(\x03\x12\x15\n\rman_run_speed\x18\x12 \x01(\x05\x12\x17\n\x0fnav_edit_status\x18\x13 \x01(\x05\x12\x14\n\x0cknife_height\x18\x14 \x01(\x05\"F\n\x0crpt_maintain\x12\x0f\n\x07mileage\x18\x01 \x01(\x03\x12\x11\n\twork_time\x18\x02 \x01(\x05\x12\x12\n\nbat_cycles\x18\x03 \x01(\x05\"\x8f\x01\n\x0freport_info_cfg\x12\x15\n\x03\x61\x63t\x18\x01 \x01(\x0e\x32\x08.rpt_act\x12\x0f\n\x07timeout\x18\x02 \x01(\x05\x12\x0e\n\x06period\x18\x03 \x01(\x05\x12\x18\n\x10no_change_period\x18\x04 \x01(\x05\x12\r\n\x05\x63ount\x18\x05 \x01(\x05\x12\x1b\n\x03sub\x18\x06 \x03(\x0e\x32\x0e.rpt_info_type\"\x8c\x03\n\x10report_info_data\x12$\n\x07\x63onnect\x18\x01 \x01(\x0b\x32\x13.rpt_connect_status\x12\x1c\n\x03\x64\x65v\x18\x02 \x01(\x0b\x32\x0f.rpt_dev_status\x12\x15\n\x03rtk\x18\x03 \x01(\x0b\x32\x08.rpt_rtk\x12$\n\tlocations\x18\x04 \x03(\x0b\x32\x11.rpt_dev_location\x12\x17\n\x04work\x18\x05 \x01(\x0b\x32\t.rpt_work\x12 \n\x07\x66w_info\x18\x06 \x01(\x0b\x32\x0f.device_fw_info\x12\x1f\n\x08maintain\x18\x07 \x01(\x0b\x32\r.rpt_maintain\x12\x31\n\x11vision_point_info\x18\x08 \x03(\x0b\x32\x16.vision_point_info_msg\x12-\n\x0fvio_to_app_info\x18\t \x01(\x0b\x32\x14.vio_to_app_info_msg\x12\x39\n\x15vision_statistic_info\x18\n \x01(\x0b\x32\x1a.vision_statistic_info_msg\"\x9c\x0c\n\x07MctlSys\x12\"\n\rtoapp_batinfo\x18\x01 \x01(\x0b\x32\t.SysBatUpH\x00\x12)\n\x10toapp_work_state\x18\x02 \x01(\x0b\x32\r.SysWorkStateH\x00\x12*\n\x0ftodev_time_zone\x18\x03 \x01(\x0b\x32\x0f.SysSetTimeZoneH\x00\x12*\n\x0ftodev_data_time\x18\x04 \x01(\x0b\x32\x0f.SysSetDateTimeH\x00\x12\x1f\n\x08job_plan\x18\x06 \x01(\x0b\x32\x0b.SysJobPlanH\x00\x12(\n\x0etoapp_err_code\x18\x07 \x01(\x0b\x32\x0e.SysDevErrCodeH\x00\x12.\n\x13todev_job_plan_time\x18\n \x01(\x0b\x32\x0f.SysJobPlanTimeH\x00\x12%\n\x0etoapp_mow_info\x18\x0b \x01(\x0b\x32\x0b.SysMowInfoH\x00\x12&\n\x0f\x62idire_comm_cmd\x18\x0c \x01(\x0b\x32\x0b.SysCommCmdH\x00\x12\x16\n\x0cplan_job_del\x18\x0e \x01(\x03H\x00\x12\x1c\n\x06\x62order\x18\x0f \x01(\x0b\x32\n.SysBorderH\x00\x12.\n\x11toapp_plan_status\x18\x12 \x01(\x0b\x32\x11.SysPlanJobStatusH\x00\x12\x34\n\x12toapp_ul_fprogress\x18\x13 \x01(\x0b\x32\x16.SysUploadFileProgressH\x00\x12*\n\x10todev_deljobplan\x18\x14 \x01(\x0b\x32\x0e.SysDelJobPlanH\x00\x12\x1b\n\x11todev_mow_info_up\x18\x15 \x01(\x05H\x00\x12,\n\x10todev_knife_ctrl\x18\x16 \x01(\x0b\x32\x10.SysKnifeControlH\x00\x12\x1c\n\x12todev_reset_system\x18\x17 \x01(\x05H\x00\x12:\n\x19todev_reset_system_status\x18\x18 \x01(\x0b\x32\x15.SysResetSystemStatusH\x00\x12=\n\x16systemRapidStateTunnel\x18\x19 \x01(\x0b\x32\x1b.systemRapidStateTunnel_msgH\x00\x12;\n\x15systemTardStateTunnel\x18\x1a \x01(\x0b\x32\x1a.systemTardStateTunnel_msgH\x00\x12/\n\x0fsystemUpdateBuf\x18\x1b \x01(\x0b\x32\x14.systemUpdateBuf_msgH\x00\x12/\n\x15todev_time_ctrl_light\x18\x1c \x01(\x0b\x32\x0e.TimeCtrlLightH\x00\x12\x31\n\x10systemTmpCycleTx\x18\x1d \x01(\x0b\x32\x15.systemTmpCycleTx_msgH\x00\x12\x30\n\x14todev_off_chip_flash\x18\x1e \x01(\x0b\x32\x10.SysOffChipFlashH\x00\x12\x1f\n\x15todev_get_dev_fw_info\x18\x1f \x01(\x05H\x00\x12,\n\x11toapp_dev_fw_info\x18 \x01(\x0b\x32\x0f.device_fw_infoH\x00\x12)\n\x12todev_lora_cfg_req\x18! \x01(\x0b\x32\x0b.LoraCfgReqH\x00\x12)\n\x12toapp_lora_cfg_rsp\x18\" \x01(\x0b\x32\x0b.LoraCfgRspH\x00\x12-\n\x0fmow_to_app_info\x18# \x01(\x0b\x32\x12.mow_to_app_info_tH\x00\x12?\n\x18\x64\x65vice_product_type_info\x18$ \x01(\x0b\x32\x1b.device_product_type_info_tH\x00\x12=\n\x17mow_to_app_qctools_info\x18% \x01(\x0b\x32\x1a.mow_to_app_qctools_info_tH\x00\x12,\n\x10todev_report_cfg\x18& \x01(\x0b\x32\x10.report_info_cfgH\x00\x12.\n\x11toapp_report_data\x18\' \x01(\x0b\x32\x11.report_info_dataH\x00\x12\x31\n\x0esimulation_cmd\x18* \x01(\x0b\x32\x17.mCtrlSimulationCmdDataH\x00\x42\x0b\n\tSubSysMsg*+\n\tOperation\x12\t\n\x05WRITE\x10\x00\x12\x08\n\x04READ\x10\x01\x12\t\n\x05\x45RASE\x10\x02*\x8d\x02\n\tOffPartId\x12\x13\n\x0fOFF_PART_DL_IMG\x10\x00\x12\x19\n\x15OFF_PART_UPDINFO_BACK\x10\x01\x12\x14\n\x10OFF_PART_UPDINFO\x10\x02\x12\x13\n\x0fOFF_PART_NAKEDB\x10\x03\x12\x14\n\x10OFF_PART_FLASHDB\x10\x04\x12\x18\n\x14OFF_PART_UPD_APP_IMG\x10\x05\x12\x18\n\x14OFF_PART_UPD_BMS_IMG\x10\x06\x12\x18\n\x14OFF_PART_UPD_TMP_IMG\x10\x07\x12\x15\n\x11OFF_PART_DEV_INFO\x10\x08\x12\x18\n\x14OFF_PART_NAKEDB_BACK\x10\t\x12\x10\n\x0cOFF_PART_MAX\x10\n*\x95\x07\n\x0bQCAppTestId\x12!\n\x1dQC_APP_ITEM_ON_CHARGESATSTION\x10\x00\x12\x1a\n\x16QC_APP_TEST_X3_SPEAKER\x10\x01\x12)\n%QC_APP_TEST_STATIC_OBSTACLE_DETECTION\x10\x02\x12\"\n\x1eQC_APP_TEST_CHARGESTATION_TEMP\x10\x03\x12\x13\n\x0fQC_APP_ITEM_KEY\x10\x04\x12 \n\x1cQC_APP_TEST_BUMPER_FRONTLEFT\x10\x05\x12!\n\x1dQC_APP_TEST_BUMPER_FRONTRIGHT\x10\x06\x12\x14\n\x10QC_APP_TEST_STOP\x10\x07\x12\x16\n\x12QC_APP_TEST_UNLOCK\x10\x08\x12\x14\n\x10QC_APP_TEST_BUZZ\x10\t\x12\x14\n\x10QC_APP_TEST_LIFT\x10\n\x12\x16\n\x12QC_APP_ITEM_SENEOR\x10\x0b\x12\x19\n\x15QC_APP_TEST_ROLL_LEFT\x10\x0c\x12\x1a\n\x16QC_APP_TEST_ROLL_RIGHT\x10\r\x12\x1d\n\x19QC_APP_TEST_ULTRA_UNCOVER\x10\x0e\x12\x1c\n\x18QC_APP_TEST_ULTRA0_COVER\x10\x0f\x12\x1c\n\x18QC_APP_TEST_ULTRA1_COVER\x10\x10\x12\x1c\n\x18QC_APP_TEST_ULTRA2_COVER\x10\x11\x12\x14\n\x10QC_APP_TEST_RAIN\x10\x12\x12\x12\n\x0eQC_APP_ITEM_SQ\x10\x13\x12\x18\n\x14QC_APP_TEST_BLE_RSSI\x10\x14\x12 \n\x1cQC_APP_TEST_SATELLITES_ROVER\x10\x15\x12)\n%QC_APP_TEST_SATELLITES_REF_STATION_L1\x10\x16\x12)\n%QC_APP_TEST_SATELLITES_REF_STATION_L2\x10\x17\x12&\n\"QC_APP_TEST_SATELLITES_COMMON_VIEW\x10\x18\x12\x19\n\x15QC_APP_TEST_CNO_ROVER\x10\x19\x12\x1f\n\x1bQC_APP_TEST_CNO_REF_STATION\x10\x1a\x12\'\n#QC_APP_TEST_REF_STATION_LINK_STATUS\x10\x1b\x12\x1e\n\x1aQC_APP_TEST_LOCATION_STATE\x10\x1c\x12\x13\n\x0fQC_APP_TEST_MAX\x10\x1d*W\n\rnet_used_type\x12\x16\n\x12NET_USED_TYPE_NONE\x10\x00\x12\x16\n\x12NET_USED_TYPE_WIFI\x10\x01\x12\x16\n\x12NET_USED_TYPE_MNET\x10\x02*\xbf\x01\n\rrpt_info_type\x12\x0f\n\x0bRIT_CONNECT\x10\x00\x12\x0f\n\x0bRIT_DEV_STA\x10\x01\x12\x0b\n\x07RIT_RTK\x10\x02\x12\x11\n\rRIT_DEV_LOCAL\x10\x03\x12\x0c\n\x08RIT_WORK\x10\x04\x12\x0f\n\x0bRIT_FW_INFO\x10\x05\x12\x10\n\x0cRIT_MAINTAIN\x10\x06\x12\x14\n\x10RIT_VISION_POINT\x10\x07\x12\x0b\n\x07RIT_VIO\x10\x08\x12\x18\n\x14RIT_VISION_STATISTIC\x10\t*4\n\x07rpt_act\x12\r\n\tRPT_START\x10\x00\x12\x0c\n\x08RPT_STOP\x10\x01\x12\x0c\n\x08RPT_KEEP\x10\x02\x62\x06proto3')
|
|
17
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!pymammotion/proto/mctrl_sys.proto\x1a\x1fpymammotion/proto/dev_net.proto\"\x1a\n\x08SysBatUp\x12\x0e\n\x06\x62\x61tVal\x18\x01 \x01(\x05\"Z\n\x0cSysWorkState\x12\x13\n\x0b\x64\x65viceState\x18\x01 \x01(\x05\x12\x13\n\x0b\x63hargeState\x18\x02 \x01(\x05\x12\x0e\n\x06\x63mHash\x18\x03 \x01(\x03\x12\x10\n\x08pathHash\x18\x04 \x01(\x03\"5\n\x0eSysSetTimeZone\x12\x11\n\ttimeStamp\x18\x01 \x01(\x05\x12\x10\n\x08timeArea\x18\x02 \x01(\x05\"\x9e\x01\n\x0eSysSetDateTime\x12\x0c\n\x04Year\x18\x01 \x01(\x05\x12\r\n\x05Month\x18\x02 \x01(\x05\x12\x0c\n\x04\x44\x61te\x18\x03 \x01(\x05\x12\x0c\n\x04Week\x18\x04 \x01(\x05\x12\r\n\x05Hours\x18\x05 \x01(\x05\x12\x0f\n\x07Minutes\x18\x06 \x01(\x05\x12\x0f\n\x07Seconds\x18\x07 \x01(\x05\x12\x10\n\x08timeZone\x18\x08 \x01(\x05\x12\x10\n\x08\x64\x61ylight\x18\t \x01(\x05\"V\n\nSysJobPlan\x12\r\n\x05jobId\x18\x01 \x01(\x03\x12\x0f\n\x07jobMode\x18\x02 \x01(\x05\x12\x13\n\x0brainTactics\x18\x03 \x01(\x05\x12\x13\n\x0bknifeHeight\x18\x04 \x01(\x05\"\"\n\rSysDevErrCode\x12\x11\n\terrorCode\x18\x01 \x01(\x05\"!\n\x0cSysBoardType\x12\x11\n\tboardType\x18\x01 \x01(\x05\"5\n\x0cSysSwVersion\x12\x11\n\tboardType\x18\x01 \x01(\x05\x12\x12\n\nversionLen\x18\x02 \x01(\x05\"1\n\rSysDelJobPlan\x12\x10\n\x08\x64\x65viceId\x18\x01 \x01(\t\x12\x0e\n\x06planId\x18\x02 \x01(\t\"\xec\x01\n\x0eSysJobPlanTime\x12\x0e\n\x06planId\x18\x01 \x01(\x03\x12\x16\n\x0estart_job_time\x18\x02 \x01(\x05\x12\x14\n\x0c\x65nd_job_time\x18\x03 \x01(\x05\x12\x13\n\x0btime_in_day\x18\x04 \x01(\x05\x12\x15\n\rjob_plan_mode\x18\x05 \x01(\x05\x12\x17\n\x0fjob_plan_enable\x18\x06 \x01(\x05\x12\x0f\n\x07weekDay\x18\x07 \x03(\x05\x12\x15\n\rtimeInWeekDay\x18\x08 \x03(\x05\x12\x10\n\x08\x65veryDay\x18\t \x01(\x05\x12\x1d\n\x08job_plan\x18\n \x01(\x0b\x32\x0b.SysJobPlan\"m\n\nSysMowInfo\x12\x13\n\x0b\x64\x65viceState\x18\x01 \x01(\x05\x12\x0e\n\x06\x62\x61tVal\x18\x02 \x01(\x05\x12\x13\n\x0bknifeHeight\x18\x03 \x01(\x05\x12\x12\n\nrtk_status\x18\x04 \x01(\x05\x12\x11\n\trtk_stars\x18\x05 \x01(\x05\";\n\x0eSysOptiLineAck\x12\x13\n\x0bresponesCmd\x18\x01 \x01(\x05\x12\x14\n\x0c\x63urrentFrame\x18\x02 \x01(\x05\"5\n\nSysCommCmd\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\"H\n\x15SysUploadFileProgress\x12\r\n\x05\x62izId\x18\x01 \x01(\t\x12\x0e\n\x06result\x18\x02 \x01(\x05\x12\x10\n\x08progress\x18\x03 \x01(\x05\"\x1f\n\x0cSysErrorCode\x12\x0f\n\x07\x63ode_no\x18\x01 \x01(\x05\"\x1e\n\tSysBorder\x12\x11\n\tborderval\x18\x01 \x01(\x05\"*\n\x10SysPlanJobStatus\x12\x16\n\x0eplanjob_status\x18\x01 \x01(\x05\"=\n\x0fSysKnifeControl\x12\x14\n\x0cknife_status\x18\x01 \x01(\x05\x12\x14\n\x0cknife_height\x18\x02 \x01(\x05\"+\n\x14SysResetSystemStatus\x12\x13\n\x0breset_staus\x18\x01 \x01(\x05\"\x8a\x01\n\rTimeCtrlLight\x12\x0f\n\x07operate\x18\x01 \x01(\x05\x12\x0e\n\x06\x65nable\x18\x02 \x01(\x05\x12\x12\n\nstart_hour\x18\x03 \x01(\x05\x12\x11\n\tstart_min\x18\x04 \x01(\x05\x12\x10\n\x08\x65nd_hour\x18\x05 \x01(\x05\x12\x0f\n\x07\x65nd_min\x18\x06 \x01(\x05\x12\x0e\n\x06\x61\x63tion\x18\x07 \x01(\x05\"3\n\x10vision_point_msg\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\x12\t\n\x01z\x18\x03 \x01(\x02\"\\\n\x15vision_point_info_msg\x12\r\n\x05lable\x18\x01 \x01(\x05\x12\x0b\n\x03num\x18\x02 \x01(\x05\x12\'\n\x0cvision_point\x18\x03 \x03(\x0b\x32\x11.vision_point_msg\"\x9a\x01\n\x13vio_to_app_info_msg\x12\t\n\x01x\x18\x01 \x01(\x01\x12\t\n\x01y\x18\x02 \x01(\x01\x12\x0f\n\x07heading\x18\x03 \x01(\x01\x12\x11\n\tvio_state\x18\x04 \x01(\x05\x12\x12\n\nbrightness\x18\x05 \x01(\x05\x12\x1a\n\x12\x64\x65tect_feature_num\x18\x06 \x01(\x05\x12\x19\n\x11track_feature_num\x18\x07 \x01(\x05\"1\n\x14vision_statistic_msg\x12\x0c\n\x04mean\x18\x01 \x01(\x02\x12\x0b\n\x03var\x18\x02 \x01(\x02\"m\n\x19vision_statistic_info_msg\x12\x11\n\ttimestamp\x18\x01 \x01(\x01\x12\x0b\n\x03num\x18\x02 \x01(\x05\x12\x30\n\x11vision_statistics\x18\x03 \x03(\x0b\x32\x15.vision_statistic_msg\"\xd3\x01\n\x1asystemRapidStateTunnel_msg\x12\x18\n\x10rapid_state_data\x18\x01 \x03(\x03\x12\x31\n\x11vision_point_info\x18\x02 \x03(\x0b\x32\x16.vision_point_info_msg\x12-\n\x0fvio_to_app_info\x18\x03 \x01(\x0b\x32\x14.vio_to_app_info_msg\x12\x39\n\x15vision_statistic_info\x18\x04 \x01(\x0b\x32\x1a.vision_statistic_info_msg\"4\n\x19systemTardStateTunnel_msg\x12\x17\n\x0ftard_state_data\x18\x01 \x03(\x03\".\n\x13systemUpdateBuf_msg\x12\x17\n\x0fupdate_buf_data\x18\x01 \x03(\x03\"\x9e\x01\n\x0fSysOffChipFlash\x12\x16\n\x02op\x18\x01 \x01(\x0e\x32\n.Operation\x12\x16\n\x02id\x18\x02 \x01(\x0e\x32\n.OffPartId\x12\x12\n\nstart_addr\x18\x03 \x01(\r\x12\x0e\n\x06offset\x18\x04 \x01(\r\x12\x0e\n\x06length\x18\x05 \x01(\x05\x12\x0c\n\x04\x64\x61ta\x18\x06 \x01(\x0c\x12\x0c\n\x04\x63ode\x18\x07 \x01(\x05\x12\x0b\n\x03msg\x18\x08 \x01(\t\"-\n\x14systemTmpCycleTx_msg\x12\x15\n\rcycle_tx_data\x18\x01 \x03(\x03\"%\n\nLoraCfgReq\x12\n\n\x02op\x18\x01 \x01(\x05\x12\x0b\n\x03\x63\x66g\x18\x02 \x01(\t\"F\n\nLoraCfgRsp\x12\x0e\n\x06result\x18\x01 \x01(\x05\x12\n\n\x02op\x18\x02 \x01(\x05\x12\x0b\n\x03\x63\x66g\x18\x03 \x01(\t\x12\x0f\n\x07\x66\x61\x63_cfg\x18\x04 \x01(\t\">\n\x0bmod_fw_info\x12\x0c\n\x04type\x18\x01 \x01(\x05\x12\x10\n\x08identify\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\t\"L\n\x0e\x64\x65vice_fw_info\x12\x0e\n\x06result\x18\x01 \x01(\x05\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x19\n\x03mod\x18\x03 \x03(\x0b\x32\x0c.mod_fw_info\"@\n\x11mow_to_app_info_t\x12\x0c\n\x04type\x18\x01 \x01(\x05\x12\x0b\n\x03\x63md\x18\x02 \x01(\x05\x12\x10\n\x08mow_data\x18\x03 \x03(\x05\"a\n\x1a\x64\x65vice_product_type_info_t\x12\x0e\n\x06result\x18\x01 \x01(\x05\x12\x19\n\x11main_product_type\x18\x02 \x01(\t\x12\x18\n\x10sub_product_type\x18\x03 \x01(\t\"P\n\x0fQCAppTestExcept\x12\x13\n\x0b\x65xcept_type\x18\x01 \x01(\t\x12(\n\nconditions\x18\x02 \x03(\x0b\x32\x14.QCAppTestConditions\"t\n\x13QCAppTestConditions\x12\x11\n\tcond_type\x18\x01 \x01(\t\x12\x0f\n\x07int_val\x18\x02 \x01(\x05\x12\x11\n\tfloat_val\x18\x03 \x01(\x02\x12\x12\n\ndouble_val\x18\x04 \x01(\x01\x12\x12\n\nstring_val\x18\x05 \x01(\t\"\x99\x01\n\x19mow_to_app_qctools_info_t\x12\x1a\n\x04type\x18\x01 \x01(\x0e\x32\x0c.QCAppTestId\x12\x16\n\x0etimeOfDuration\x18\x02 \x01(\x05\x12\x0e\n\x06result\x18\x03 \x01(\x05\x12\x16\n\x0eresult_details\x18\x04 \x01(\t\x12 \n\x06\x65xcept\x18\x05 \x03(\x0b\x32\x10.QCAppTestExcept\"O\n\x16mCtrlSimulationCmdData\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\"\x8f\x01\n\x08rpt_lora\x12\x16\n\x0epair_code_scan\x18\x01 \x01(\x05\x12\x19\n\x11pair_code_channel\x18\x02 \x01(\x05\x12\x17\n\x0fpair_code_locid\x18\x03 \x01(\x05\x12\x17\n\x0fpair_code_netid\x18\x04 \x01(\x05\x12\x1e\n\x16lora_connection_status\x18\x05 \x01(\x05\"\xf1\x01\n\x07rpt_rtk\x12\x0e\n\x06status\x18\x01 \x01(\x05\x12\x11\n\tpos_level\x18\x02 \x01(\x05\x12\x11\n\tgps_stars\x18\x03 \x01(\x05\x12\x0b\n\x03\x61ge\x18\x04 \x01(\x05\x12\x0f\n\x07lat_std\x18\x05 \x01(\x05\x12\x0f\n\x07lon_std\x18\x06 \x01(\x05\x12\x10\n\x08l2_stars\x18\x07 \x01(\x05\x12\x12\n\ndis_status\x18\x08 \x01(\x03\x12\x17\n\x0ftop4_total_mean\x18\t \x01(\x03\x12\x15\n\rco_view_stars\x18\n \x01(\x05\x12\r\n\x05reset\x18\x0b \x01(\x05\x12\x1c\n\tlora_info\x18\x0c \x01(\x0b\x32\t.rpt_lora\"\x86\x01\n\x10rpt_dev_location\x12\x12\n\nreal_pos_x\x18\x01 \x01(\x05\x12\x12\n\nreal_pos_y\x18\x02 \x01(\x05\x12\x13\n\x0breal_toward\x18\x03 \x01(\x05\x12\x10\n\x08pos_type\x18\x04 \x01(\x05\x12\x11\n\tzone_hash\x18\x05 \x01(\x03\x12\x10\n\x08\x62ol_hash\x18\x06 \x01(\x03\"4\n\x13vio_survival_info_t\x12\x1d\n\x15vio_survival_distance\x18\x01 \x01(\x02\";\n\x12\x63ollector_status_t\x12%\n\x1d\x63ollector_installation_status\x18\x01 \x01(\x05\"\"\n\x0clock_state_t\x12\x12\n\nlock_state\x18\x01 \x01(\r\"\xca\x02\n\x0erpt_dev_status\x12\x12\n\nsys_status\x18\x01 \x01(\x05\x12\x14\n\x0c\x63harge_state\x18\x02 \x01(\x05\x12\x13\n\x0b\x62\x61ttery_val\x18\x03 \x01(\x05\x12\x15\n\rsensor_status\x18\x04 \x01(\x05\x12\x13\n\x0blast_status\x18\x05 \x01(\x05\x12\x16\n\x0esys_time_stamp\x18\x06 \x01(\x03\x12\x14\n\x0cvslam_status\x18\x07 \x01(\x05\x12\x1c\n\tmnet_info\x18\x08 \x01(\x0b\x32\t.MnetInfo\x12/\n\x11vio_survival_info\x18\t \x01(\x0b\x32\x14.vio_survival_info_t\x12-\n\x10\x63ollector_status\x18\n \x01(\x0b\x32\x13.collector_status_t\x12!\n\nlock_state\x18\x0b \x01(\x0b\x32\r.lock_state_t\"\xaa\x01\n\x12rpt_connect_status\x12\x14\n\x0c\x63onnect_type\x18\x01 \x01(\x05\x12\x10\n\x08\x62le_rssi\x18\x02 \x01(\x05\x12\x11\n\twifi_rssi\x18\x03 \x01(\x05\x12\x11\n\tlink_type\x18\x04 \x01(\x05\x12\x11\n\tmnet_rssi\x18\x05 \x01(\x05\x12\x11\n\tmnet_inet\x18\x06 \x01(\x05\x12 \n\x08used_net\x18\x07 \x01(\x0e\x32\x0e.net_used_type\"\xa0\x03\n\x08rpt_work\x12\x0c\n\x04plan\x18\x01 \x01(\x05\x12\x11\n\tpath_hash\x18\x02 \x01(\x03\x12\x10\n\x08progress\x18\x03 \x01(\x05\x12\x0c\n\x04\x61rea\x18\x04 \x01(\x05\x12\x0f\n\x07\x62p_info\x18\x05 \x01(\x05\x12\x0f\n\x07\x62p_hash\x18\x06 \x01(\x03\x12\x10\n\x08\x62p_pos_x\x18\x07 \x01(\x05\x12\x10\n\x08\x62p_pos_y\x18\x08 \x01(\x05\x12\x15\n\rreal_path_num\x18\t \x01(\x03\x12\x12\n\npath_pos_x\x18\n \x01(\x05\x12\x12\n\npath_pos_y\x18\x0b \x01(\x05\x12\x14\n\x0cub_zone_hash\x18\x0c \x01(\x03\x12\x14\n\x0cub_path_hash\x18\r \x01(\x03\x12\x15\n\rinit_cfg_hash\x18\x0e \x01(\x03\x12\x15\n\rub_ecode_hash\x18\x0f \x01(\x03\x12\x14\n\x0cnav_run_mode\x18\x10 \x01(\x05\x12\x18\n\x10test_mode_status\x18\x11 \x01(\x03\x12\x15\n\rman_run_speed\x18\x12 \x01(\x05\x12\x17\n\x0fnav_edit_status\x18\x13 \x01(\x05\x12\x14\n\x0cknife_height\x18\x14 \x01(\x05\"F\n\x0crpt_maintain\x12\x0f\n\x07mileage\x18\x01 \x01(\x03\x12\x11\n\twork_time\x18\x02 \x01(\x05\x12\x12\n\nbat_cycles\x18\x03 \x01(\x05\"\x8f\x01\n\x0freport_info_cfg\x12\x15\n\x03\x61\x63t\x18\x01 \x01(\x0e\x32\x08.rpt_act\x12\x0f\n\x07timeout\x18\x02 \x01(\x05\x12\x0e\n\x06period\x18\x03 \x01(\x05\x12\x18\n\x10no_change_period\x18\x04 \x01(\x05\x12\r\n\x05\x63ount\x18\x05 \x01(\x05\x12\x1b\n\x03sub\x18\x06 \x03(\x0e\x32\x0e.rpt_info_type\"\x8c\x03\n\x10report_info_data\x12$\n\x07\x63onnect\x18\x01 \x01(\x0b\x32\x13.rpt_connect_status\x12\x1c\n\x03\x64\x65v\x18\x02 \x01(\x0b\x32\x0f.rpt_dev_status\x12\x15\n\x03rtk\x18\x03 \x01(\x0b\x32\x08.rpt_rtk\x12$\n\tlocations\x18\x04 \x03(\x0b\x32\x11.rpt_dev_location\x12\x17\n\x04work\x18\x05 \x01(\x0b\x32\t.rpt_work\x12 \n\x07\x66w_info\x18\x06 \x01(\x0b\x32\x0f.device_fw_info\x12\x1f\n\x08maintain\x18\x07 \x01(\x0b\x32\r.rpt_maintain\x12\x31\n\x11vision_point_info\x18\x08 \x03(\x0b\x32\x16.vision_point_info_msg\x12-\n\x0fvio_to_app_info\x18\t \x01(\x0b\x32\x14.vio_to_app_info_msg\x12\x39\n\x15vision_statistic_info\x18\n \x01(\x0b\x32\x1a.vision_statistic_info_msg\"\x9c\x0c\n\x07MctlSys\x12\"\n\rtoapp_batinfo\x18\x01 \x01(\x0b\x32\t.SysBatUpH\x00\x12)\n\x10toapp_work_state\x18\x02 \x01(\x0b\x32\r.SysWorkStateH\x00\x12*\n\x0ftodev_time_zone\x18\x03 \x01(\x0b\x32\x0f.SysSetTimeZoneH\x00\x12*\n\x0ftodev_data_time\x18\x04 \x01(\x0b\x32\x0f.SysSetDateTimeH\x00\x12\x1f\n\x08job_plan\x18\x06 \x01(\x0b\x32\x0b.SysJobPlanH\x00\x12(\n\x0etoapp_err_code\x18\x07 \x01(\x0b\x32\x0e.SysDevErrCodeH\x00\x12.\n\x13todev_job_plan_time\x18\n \x01(\x0b\x32\x0f.SysJobPlanTimeH\x00\x12%\n\x0etoapp_mow_info\x18\x0b \x01(\x0b\x32\x0b.SysMowInfoH\x00\x12&\n\x0f\x62idire_comm_cmd\x18\x0c \x01(\x0b\x32\x0b.SysCommCmdH\x00\x12\x16\n\x0cplan_job_del\x18\x0e \x01(\x03H\x00\x12\x1c\n\x06\x62order\x18\x0f \x01(\x0b\x32\n.SysBorderH\x00\x12.\n\x11toapp_plan_status\x18\x12 \x01(\x0b\x32\x11.SysPlanJobStatusH\x00\x12\x34\n\x12toapp_ul_fprogress\x18\x13 \x01(\x0b\x32\x16.SysUploadFileProgressH\x00\x12*\n\x10todev_deljobplan\x18\x14 \x01(\x0b\x32\x0e.SysDelJobPlanH\x00\x12\x1b\n\x11todev_mow_info_up\x18\x15 \x01(\x05H\x00\x12,\n\x10todev_knife_ctrl\x18\x16 \x01(\x0b\x32\x10.SysKnifeControlH\x00\x12\x1c\n\x12todev_reset_system\x18\x17 \x01(\x05H\x00\x12:\n\x19todev_reset_system_status\x18\x18 \x01(\x0b\x32\x15.SysResetSystemStatusH\x00\x12=\n\x16systemRapidStateTunnel\x18\x19 \x01(\x0b\x32\x1b.systemRapidStateTunnel_msgH\x00\x12;\n\x15systemTardStateTunnel\x18\x1a \x01(\x0b\x32\x1a.systemTardStateTunnel_msgH\x00\x12/\n\x0fsystemUpdateBuf\x18\x1b \x01(\x0b\x32\x14.systemUpdateBuf_msgH\x00\x12/\n\x15todev_time_ctrl_light\x18\x1c \x01(\x0b\x32\x0e.TimeCtrlLightH\x00\x12\x31\n\x10systemTmpCycleTx\x18\x1d \x01(\x0b\x32\x15.systemTmpCycleTx_msgH\x00\x12\x30\n\x14todev_off_chip_flash\x18\x1e \x01(\x0b\x32\x10.SysOffChipFlashH\x00\x12\x1f\n\x15todev_get_dev_fw_info\x18\x1f \x01(\x05H\x00\x12,\n\x11toapp_dev_fw_info\x18 \x01(\x0b\x32\x0f.device_fw_infoH\x00\x12)\n\x12todev_lora_cfg_req\x18! \x01(\x0b\x32\x0b.LoraCfgReqH\x00\x12)\n\x12toapp_lora_cfg_rsp\x18\" \x01(\x0b\x32\x0b.LoraCfgRspH\x00\x12-\n\x0fmow_to_app_info\x18# \x01(\x0b\x32\x12.mow_to_app_info_tH\x00\x12?\n\x18\x64\x65vice_product_type_info\x18$ \x01(\x0b\x32\x1b.device_product_type_info_tH\x00\x12=\n\x17mow_to_app_qctools_info\x18% \x01(\x0b\x32\x1a.mow_to_app_qctools_info_tH\x00\x12,\n\x10todev_report_cfg\x18& \x01(\x0b\x32\x10.report_info_cfgH\x00\x12.\n\x11toapp_report_data\x18\' \x01(\x0b\x32\x11.report_info_dataH\x00\x12\x31\n\x0esimulation_cmd\x18* \x01(\x0b\x32\x17.mCtrlSimulationCmdDataH\x00\x42\x0b\n\tSubSysMsg*+\n\tOperation\x12\t\n\x05WRITE\x10\x00\x12\x08\n\x04READ\x10\x01\x12\t\n\x05\x45RASE\x10\x02*\x8d\x02\n\tOffPartId\x12\x13\n\x0fOFF_PART_DL_IMG\x10\x00\x12\x19\n\x15OFF_PART_UPDINFO_BACK\x10\x01\x12\x14\n\x10OFF_PART_UPDINFO\x10\x02\x12\x13\n\x0fOFF_PART_NAKEDB\x10\x03\x12\x14\n\x10OFF_PART_FLASHDB\x10\x04\x12\x18\n\x14OFF_PART_UPD_APP_IMG\x10\x05\x12\x18\n\x14OFF_PART_UPD_BMS_IMG\x10\x06\x12\x18\n\x14OFF_PART_UPD_TMP_IMG\x10\x07\x12\x15\n\x11OFF_PART_DEV_INFO\x10\x08\x12\x18\n\x14OFF_PART_NAKEDB_BACK\x10\t\x12\x10\n\x0cOFF_PART_MAX\x10\n*\x95\x07\n\x0bQCAppTestId\x12!\n\x1dQC_APP_ITEM_ON_CHARGESATSTION\x10\x00\x12\x1a\n\x16QC_APP_TEST_X3_SPEAKER\x10\x01\x12)\n%QC_APP_TEST_STATIC_OBSTACLE_DETECTION\x10\x02\x12\"\n\x1eQC_APP_TEST_CHARGESTATION_TEMP\x10\x03\x12\x13\n\x0fQC_APP_ITEM_KEY\x10\x04\x12 \n\x1cQC_APP_TEST_BUMPER_FRONTLEFT\x10\x05\x12!\n\x1dQC_APP_TEST_BUMPER_FRONTRIGHT\x10\x06\x12\x14\n\x10QC_APP_TEST_STOP\x10\x07\x12\x16\n\x12QC_APP_TEST_UNLOCK\x10\x08\x12\x14\n\x10QC_APP_TEST_BUZZ\x10\t\x12\x14\n\x10QC_APP_TEST_LIFT\x10\n\x12\x16\n\x12QC_APP_ITEM_SENEOR\x10\x0b\x12\x19\n\x15QC_APP_TEST_ROLL_LEFT\x10\x0c\x12\x1a\n\x16QC_APP_TEST_ROLL_RIGHT\x10\r\x12\x1d\n\x19QC_APP_TEST_ULTRA_UNCOVER\x10\x0e\x12\x1c\n\x18QC_APP_TEST_ULTRA0_COVER\x10\x0f\x12\x1c\n\x18QC_APP_TEST_ULTRA1_COVER\x10\x10\x12\x1c\n\x18QC_APP_TEST_ULTRA2_COVER\x10\x11\x12\x14\n\x10QC_APP_TEST_RAIN\x10\x12\x12\x12\n\x0eQC_APP_ITEM_SQ\x10\x13\x12\x18\n\x14QC_APP_TEST_BLE_RSSI\x10\x14\x12 \n\x1cQC_APP_TEST_SATELLITES_ROVER\x10\x15\x12)\n%QC_APP_TEST_SATELLITES_REF_STATION_L1\x10\x16\x12)\n%QC_APP_TEST_SATELLITES_REF_STATION_L2\x10\x17\x12&\n\"QC_APP_TEST_SATELLITES_COMMON_VIEW\x10\x18\x12\x19\n\x15QC_APP_TEST_CNO_ROVER\x10\x19\x12\x1f\n\x1bQC_APP_TEST_CNO_REF_STATION\x10\x1a\x12\'\n#QC_APP_TEST_REF_STATION_LINK_STATUS\x10\x1b\x12\x1e\n\x1aQC_APP_TEST_LOCATION_STATE\x10\x1c\x12\x13\n\x0fQC_APP_TEST_MAX\x10\x1d*W\n\rnet_used_type\x12\x16\n\x12NET_USED_TYPE_NONE\x10\x00\x12\x16\n\x12NET_USED_TYPE_WIFI\x10\x01\x12\x16\n\x12NET_USED_TYPE_MNET\x10\x02*\xbf\x01\n\rrpt_info_type\x12\x0f\n\x0bRIT_CONNECT\x10\x00\x12\x0f\n\x0bRIT_DEV_STA\x10\x01\x12\x0b\n\x07RIT_RTK\x10\x02\x12\x11\n\rRIT_DEV_LOCAL\x10\x03\x12\x0c\n\x08RIT_WORK\x10\x04\x12\x0f\n\x0bRIT_FW_INFO\x10\x05\x12\x10\n\x0cRIT_MAINTAIN\x10\x06\x12\x14\n\x10RIT_VISION_POINT\x10\x07\x12\x0b\n\x07RIT_VIO\x10\x08\x12\x18\n\x14RIT_VISION_STATISTIC\x10\t*4\n\x07rpt_act\x12\r\n\tRPT_START\x10\x00\x12\x0c\n\x08RPT_STOP\x10\x01\x12\x0c\n\x08RPT_KEEP\x10\x02\x62\x06proto3')
|
|
18
18
|
|
|
19
19
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
|
|
20
20
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'pymammotion.proto.mctrl_sys_pb2', globals())
|
|
21
21
|
if _descriptor._USE_C_DESCRIPTORS == False:
|
|
22
22
|
|
|
23
23
|
DESCRIPTOR._options = None
|
|
24
|
-
_OPERATION._serialized_start=
|
|
25
|
-
_OPERATION._serialized_end=
|
|
26
|
-
_OFFPARTID._serialized_start=
|
|
27
|
-
_OFFPARTID._serialized_end=
|
|
28
|
-
_QCAPPTESTID._serialized_start=
|
|
29
|
-
_QCAPPTESTID._serialized_end=
|
|
30
|
-
_NET_USED_TYPE._serialized_start=
|
|
31
|
-
_NET_USED_TYPE._serialized_end=
|
|
32
|
-
_RPT_INFO_TYPE._serialized_start=
|
|
33
|
-
_RPT_INFO_TYPE._serialized_end=
|
|
34
|
-
_RPT_ACT._serialized_start=
|
|
35
|
-
_RPT_ACT._serialized_end=
|
|
24
|
+
_OPERATION._serialized_start=7201
|
|
25
|
+
_OPERATION._serialized_end=7244
|
|
26
|
+
_OFFPARTID._serialized_start=7247
|
|
27
|
+
_OFFPARTID._serialized_end=7516
|
|
28
|
+
_QCAPPTESTID._serialized_start=7519
|
|
29
|
+
_QCAPPTESTID._serialized_end=8436
|
|
30
|
+
_NET_USED_TYPE._serialized_start=8438
|
|
31
|
+
_NET_USED_TYPE._serialized_end=8525
|
|
32
|
+
_RPT_INFO_TYPE._serialized_start=8528
|
|
33
|
+
_RPT_INFO_TYPE._serialized_end=8719
|
|
34
|
+
_RPT_ACT._serialized_start=8721
|
|
35
|
+
_RPT_ACT._serialized_end=8773
|
|
36
36
|
_SYSBATUP._serialized_start=70
|
|
37
37
|
_SYSBATUP._serialized_end=96
|
|
38
38
|
_SYSWORKSTATE._serialized_start=98
|
|
@@ -54,89 +54,89 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
|
54
54
|
_SYSJOBPLANTIME._serialized_start=672
|
|
55
55
|
_SYSJOBPLANTIME._serialized_end=908
|
|
56
56
|
_SYSMOWINFO._serialized_start=910
|
|
57
|
-
_SYSMOWINFO._serialized_end=
|
|
58
|
-
_SYSOPTILINEACK._serialized_start=
|
|
59
|
-
_SYSOPTILINEACK._serialized_end=
|
|
60
|
-
_SYSCOMMCMD._serialized_start=
|
|
61
|
-
_SYSCOMMCMD._serialized_end=
|
|
62
|
-
_SYSUPLOADFILEPROGRESS._serialized_start=
|
|
63
|
-
_SYSUPLOADFILEPROGRESS._serialized_end=
|
|
64
|
-
_SYSERRORCODE._serialized_start=
|
|
65
|
-
_SYSERRORCODE._serialized_end=
|
|
66
|
-
_SYSBORDER._serialized_start=
|
|
67
|
-
_SYSBORDER._serialized_end=
|
|
68
|
-
_SYSPLANJOBSTATUS._serialized_start=
|
|
69
|
-
_SYSPLANJOBSTATUS._serialized_end=
|
|
70
|
-
_SYSKNIFECONTROL._serialized_start=
|
|
71
|
-
_SYSKNIFECONTROL._serialized_end=
|
|
72
|
-
_SYSRESETSYSTEMSTATUS._serialized_start=
|
|
73
|
-
_SYSRESETSYSTEMSTATUS._serialized_end=
|
|
74
|
-
_TIMECTRLLIGHT._serialized_start=
|
|
75
|
-
_TIMECTRLLIGHT._serialized_end=
|
|
76
|
-
_VISION_POINT_MSG._serialized_start=
|
|
77
|
-
_VISION_POINT_MSG._serialized_end=
|
|
78
|
-
_VISION_POINT_INFO_MSG._serialized_start=
|
|
79
|
-
_VISION_POINT_INFO_MSG._serialized_end=
|
|
80
|
-
_VIO_TO_APP_INFO_MSG._serialized_start=
|
|
81
|
-
_VIO_TO_APP_INFO_MSG._serialized_end=
|
|
82
|
-
_VISION_STATISTIC_MSG._serialized_start=
|
|
83
|
-
_VISION_STATISTIC_MSG._serialized_end=
|
|
84
|
-
_VISION_STATISTIC_INFO_MSG._serialized_start=
|
|
85
|
-
_VISION_STATISTIC_INFO_MSG._serialized_end=
|
|
86
|
-
_SYSTEMRAPIDSTATETUNNEL_MSG._serialized_start=
|
|
87
|
-
_SYSTEMRAPIDSTATETUNNEL_MSG._serialized_end=
|
|
88
|
-
_SYSTEMTARDSTATETUNNEL_MSG._serialized_start=
|
|
89
|
-
_SYSTEMTARDSTATETUNNEL_MSG._serialized_end=
|
|
90
|
-
_SYSTEMUPDATEBUF_MSG._serialized_start=
|
|
91
|
-
_SYSTEMUPDATEBUF_MSG._serialized_end=
|
|
92
|
-
_SYSOFFCHIPFLASH._serialized_start=
|
|
93
|
-
_SYSOFFCHIPFLASH._serialized_end=
|
|
94
|
-
_SYSTEMTMPCYCLETX_MSG._serialized_start=
|
|
95
|
-
_SYSTEMTMPCYCLETX_MSG._serialized_end=
|
|
96
|
-
_LORACFGREQ._serialized_start=
|
|
97
|
-
_LORACFGREQ._serialized_end=
|
|
98
|
-
_LORACFGRSP._serialized_start=
|
|
99
|
-
_LORACFGRSP._serialized_end=
|
|
100
|
-
_MOD_FW_INFO._serialized_start=
|
|
101
|
-
_MOD_FW_INFO._serialized_end=
|
|
102
|
-
_DEVICE_FW_INFO._serialized_start=
|
|
103
|
-
_DEVICE_FW_INFO._serialized_end=
|
|
104
|
-
_MOW_TO_APP_INFO_T._serialized_start=
|
|
105
|
-
_MOW_TO_APP_INFO_T._serialized_end=
|
|
106
|
-
_DEVICE_PRODUCT_TYPE_INFO_T._serialized_start=
|
|
107
|
-
_DEVICE_PRODUCT_TYPE_INFO_T._serialized_end=
|
|
108
|
-
_QCAPPTESTEXCEPT._serialized_start=
|
|
109
|
-
_QCAPPTESTEXCEPT._serialized_end=
|
|
110
|
-
_QCAPPTESTCONDITIONS._serialized_start=
|
|
111
|
-
_QCAPPTESTCONDITIONS._serialized_end=
|
|
112
|
-
_MOW_TO_APP_QCTOOLS_INFO_T._serialized_start=
|
|
113
|
-
_MOW_TO_APP_QCTOOLS_INFO_T._serialized_end=
|
|
114
|
-
_MCTRLSIMULATIONCMDDATA._serialized_start=
|
|
115
|
-
_MCTRLSIMULATIONCMDDATA._serialized_end=
|
|
116
|
-
_RPT_LORA._serialized_start=
|
|
117
|
-
_RPT_LORA._serialized_end=
|
|
118
|
-
_RPT_RTK._serialized_start=
|
|
119
|
-
_RPT_RTK._serialized_end=
|
|
120
|
-
_RPT_DEV_LOCATION._serialized_start=
|
|
121
|
-
_RPT_DEV_LOCATION._serialized_end=
|
|
122
|
-
_VIO_SURVIVAL_INFO_T._serialized_start=
|
|
123
|
-
_VIO_SURVIVAL_INFO_T._serialized_end=
|
|
124
|
-
_COLLECTOR_STATUS_T._serialized_start=
|
|
125
|
-
_COLLECTOR_STATUS_T._serialized_end=
|
|
126
|
-
_LOCK_STATE_T._serialized_start=
|
|
127
|
-
_LOCK_STATE_T._serialized_end=
|
|
128
|
-
_RPT_DEV_STATUS._serialized_start=
|
|
129
|
-
_RPT_DEV_STATUS._serialized_end=
|
|
130
|
-
_RPT_CONNECT_STATUS._serialized_start=
|
|
131
|
-
_RPT_CONNECT_STATUS._serialized_end=
|
|
132
|
-
_RPT_WORK._serialized_start=
|
|
133
|
-
_RPT_WORK._serialized_end=
|
|
134
|
-
_RPT_MAINTAIN._serialized_start=
|
|
135
|
-
_RPT_MAINTAIN._serialized_end=
|
|
136
|
-
_REPORT_INFO_CFG._serialized_start=
|
|
137
|
-
_REPORT_INFO_CFG._serialized_end=
|
|
138
|
-
_REPORT_INFO_DATA._serialized_start=
|
|
139
|
-
_REPORT_INFO_DATA._serialized_end=
|
|
140
|
-
_MCTLSYS._serialized_start=
|
|
141
|
-
_MCTLSYS._serialized_end=
|
|
57
|
+
_SYSMOWINFO._serialized_end=1019
|
|
58
|
+
_SYSOPTILINEACK._serialized_start=1021
|
|
59
|
+
_SYSOPTILINEACK._serialized_end=1080
|
|
60
|
+
_SYSCOMMCMD._serialized_start=1082
|
|
61
|
+
_SYSCOMMCMD._serialized_end=1135
|
|
62
|
+
_SYSUPLOADFILEPROGRESS._serialized_start=1137
|
|
63
|
+
_SYSUPLOADFILEPROGRESS._serialized_end=1209
|
|
64
|
+
_SYSERRORCODE._serialized_start=1211
|
|
65
|
+
_SYSERRORCODE._serialized_end=1242
|
|
66
|
+
_SYSBORDER._serialized_start=1244
|
|
67
|
+
_SYSBORDER._serialized_end=1274
|
|
68
|
+
_SYSPLANJOBSTATUS._serialized_start=1276
|
|
69
|
+
_SYSPLANJOBSTATUS._serialized_end=1318
|
|
70
|
+
_SYSKNIFECONTROL._serialized_start=1320
|
|
71
|
+
_SYSKNIFECONTROL._serialized_end=1381
|
|
72
|
+
_SYSRESETSYSTEMSTATUS._serialized_start=1383
|
|
73
|
+
_SYSRESETSYSTEMSTATUS._serialized_end=1426
|
|
74
|
+
_TIMECTRLLIGHT._serialized_start=1429
|
|
75
|
+
_TIMECTRLLIGHT._serialized_end=1567
|
|
76
|
+
_VISION_POINT_MSG._serialized_start=1569
|
|
77
|
+
_VISION_POINT_MSG._serialized_end=1620
|
|
78
|
+
_VISION_POINT_INFO_MSG._serialized_start=1622
|
|
79
|
+
_VISION_POINT_INFO_MSG._serialized_end=1714
|
|
80
|
+
_VIO_TO_APP_INFO_MSG._serialized_start=1717
|
|
81
|
+
_VIO_TO_APP_INFO_MSG._serialized_end=1871
|
|
82
|
+
_VISION_STATISTIC_MSG._serialized_start=1873
|
|
83
|
+
_VISION_STATISTIC_MSG._serialized_end=1922
|
|
84
|
+
_VISION_STATISTIC_INFO_MSG._serialized_start=1924
|
|
85
|
+
_VISION_STATISTIC_INFO_MSG._serialized_end=2033
|
|
86
|
+
_SYSTEMRAPIDSTATETUNNEL_MSG._serialized_start=2036
|
|
87
|
+
_SYSTEMRAPIDSTATETUNNEL_MSG._serialized_end=2247
|
|
88
|
+
_SYSTEMTARDSTATETUNNEL_MSG._serialized_start=2249
|
|
89
|
+
_SYSTEMTARDSTATETUNNEL_MSG._serialized_end=2301
|
|
90
|
+
_SYSTEMUPDATEBUF_MSG._serialized_start=2303
|
|
91
|
+
_SYSTEMUPDATEBUF_MSG._serialized_end=2349
|
|
92
|
+
_SYSOFFCHIPFLASH._serialized_start=2352
|
|
93
|
+
_SYSOFFCHIPFLASH._serialized_end=2510
|
|
94
|
+
_SYSTEMTMPCYCLETX_MSG._serialized_start=2512
|
|
95
|
+
_SYSTEMTMPCYCLETX_MSG._serialized_end=2557
|
|
96
|
+
_LORACFGREQ._serialized_start=2559
|
|
97
|
+
_LORACFGREQ._serialized_end=2596
|
|
98
|
+
_LORACFGRSP._serialized_start=2598
|
|
99
|
+
_LORACFGRSP._serialized_end=2668
|
|
100
|
+
_MOD_FW_INFO._serialized_start=2670
|
|
101
|
+
_MOD_FW_INFO._serialized_end=2732
|
|
102
|
+
_DEVICE_FW_INFO._serialized_start=2734
|
|
103
|
+
_DEVICE_FW_INFO._serialized_end=2810
|
|
104
|
+
_MOW_TO_APP_INFO_T._serialized_start=2812
|
|
105
|
+
_MOW_TO_APP_INFO_T._serialized_end=2876
|
|
106
|
+
_DEVICE_PRODUCT_TYPE_INFO_T._serialized_start=2878
|
|
107
|
+
_DEVICE_PRODUCT_TYPE_INFO_T._serialized_end=2975
|
|
108
|
+
_QCAPPTESTEXCEPT._serialized_start=2977
|
|
109
|
+
_QCAPPTESTEXCEPT._serialized_end=3057
|
|
110
|
+
_QCAPPTESTCONDITIONS._serialized_start=3059
|
|
111
|
+
_QCAPPTESTCONDITIONS._serialized_end=3175
|
|
112
|
+
_MOW_TO_APP_QCTOOLS_INFO_T._serialized_start=3178
|
|
113
|
+
_MOW_TO_APP_QCTOOLS_INFO_T._serialized_end=3331
|
|
114
|
+
_MCTRLSIMULATIONCMDDATA._serialized_start=3333
|
|
115
|
+
_MCTRLSIMULATIONCMDDATA._serialized_end=3412
|
|
116
|
+
_RPT_LORA._serialized_start=3415
|
|
117
|
+
_RPT_LORA._serialized_end=3558
|
|
118
|
+
_RPT_RTK._serialized_start=3561
|
|
119
|
+
_RPT_RTK._serialized_end=3802
|
|
120
|
+
_RPT_DEV_LOCATION._serialized_start=3805
|
|
121
|
+
_RPT_DEV_LOCATION._serialized_end=3939
|
|
122
|
+
_VIO_SURVIVAL_INFO_T._serialized_start=3941
|
|
123
|
+
_VIO_SURVIVAL_INFO_T._serialized_end=3993
|
|
124
|
+
_COLLECTOR_STATUS_T._serialized_start=3995
|
|
125
|
+
_COLLECTOR_STATUS_T._serialized_end=4054
|
|
126
|
+
_LOCK_STATE_T._serialized_start=4056
|
|
127
|
+
_LOCK_STATE_T._serialized_end=4090
|
|
128
|
+
_RPT_DEV_STATUS._serialized_start=4093
|
|
129
|
+
_RPT_DEV_STATUS._serialized_end=4423
|
|
130
|
+
_RPT_CONNECT_STATUS._serialized_start=4426
|
|
131
|
+
_RPT_CONNECT_STATUS._serialized_end=4596
|
|
132
|
+
_RPT_WORK._serialized_start=4599
|
|
133
|
+
_RPT_WORK._serialized_end=5015
|
|
134
|
+
_RPT_MAINTAIN._serialized_start=5017
|
|
135
|
+
_RPT_MAINTAIN._serialized_end=5087
|
|
136
|
+
_REPORT_INFO_CFG._serialized_start=5090
|
|
137
|
+
_REPORT_INFO_CFG._serialized_end=5233
|
|
138
|
+
_REPORT_INFO_DATA._serialized_start=5236
|
|
139
|
+
_REPORT_INFO_DATA._serialized_end=5632
|
|
140
|
+
_MCTLSYS._serialized_start=5635
|
|
141
|
+
_MCTLSYS._serialized_end=7199
|
|
142
142
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -274,18 +274,18 @@ class SysKnifeControl(_message.Message):
|
|
|
274
274
|
def __init__(self, knife_status: _Optional[int] = ..., knife_height: _Optional[int] = ...) -> None: ...
|
|
275
275
|
|
|
276
276
|
class SysMowInfo(_message.Message):
|
|
277
|
-
__slots__ = ["
|
|
277
|
+
__slots__ = ["batVal", "deviceState", "knifeHeight", "rtk_stars", "rtk_status"]
|
|
278
278
|
BATVAL_FIELD_NUMBER: _ClassVar[int]
|
|
279
279
|
DEVICESTATE_FIELD_NUMBER: _ClassVar[int]
|
|
280
280
|
KNIFEHEIGHT_FIELD_NUMBER: _ClassVar[int]
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
RTKstars: int
|
|
284
|
-
RTKstatus: int
|
|
281
|
+
RTK_STARS_FIELD_NUMBER: _ClassVar[int]
|
|
282
|
+
RTK_STATUS_FIELD_NUMBER: _ClassVar[int]
|
|
285
283
|
batVal: int
|
|
286
284
|
deviceState: int
|
|
287
285
|
knifeHeight: int
|
|
288
|
-
|
|
286
|
+
rtk_stars: int
|
|
287
|
+
rtk_status: int
|
|
288
|
+
def __init__(self, deviceState: _Optional[int] = ..., batVal: _Optional[int] = ..., knifeHeight: _Optional[int] = ..., rtk_status: _Optional[int] = ..., rtk_stars: _Optional[int] = ...) -> None: ...
|
|
289
289
|
|
|
290
290
|
class SysOffChipFlash(_message.Message):
|
|
291
291
|
__slots__ = ["code", "data", "id", "length", "msg", "offset", "op", "start_addr"]
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import math
|
|
2
|
+
import numpy as np
|
|
3
|
+
|
|
4
|
+
from pymammotion.data.model.location import Point
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class CoordinateConverter:
|
|
8
|
+
def __init__(self, lat_degrees: float, lon_degrees: float):
|
|
9
|
+
# Initialize constants
|
|
10
|
+
self.WGS84A = 6378137.0
|
|
11
|
+
self.f_ = 3.3528106647474805E-21
|
|
12
|
+
self.b_ = (1.0 - self.f_) * self.WGS84A
|
|
13
|
+
self.e2_ = (2.0 - self.f_) * self.f_
|
|
14
|
+
self.e2m_ = (1.0 - self.f_) * (1.0 - self.f_)
|
|
15
|
+
self.ep2_ = ((self.WGS84A ** 2) - (self.b_ ** 2)) / (self.b_ ** 2)
|
|
16
|
+
|
|
17
|
+
# Initialize rotation matrix
|
|
18
|
+
self.R_ = np.zeros((3, 3))
|
|
19
|
+
|
|
20
|
+
# Variables to store initial LLA
|
|
21
|
+
self.x0_ = 0.0
|
|
22
|
+
self.y0_ = 0.0
|
|
23
|
+
self.z0_ = 0.0
|
|
24
|
+
|
|
25
|
+
# Call set_init_lla with provided lat/lon
|
|
26
|
+
latitude_rad = math.radians(lat_degrees)
|
|
27
|
+
longitude_rad = math.radians(lon_degrees)
|
|
28
|
+
self.set_init_lla(latitude_rad, longitude_rad)
|
|
29
|
+
|
|
30
|
+
def set_init_lla(self, lat_rad, lon_rad):
|
|
31
|
+
sin_lat = math.sin(lat_rad)
|
|
32
|
+
cos_lat = math.cos(lat_rad)
|
|
33
|
+
sin_lon = math.sin(lon_rad)
|
|
34
|
+
cos_lon = math.cos(lon_rad)
|
|
35
|
+
|
|
36
|
+
sqrt = self.WGS84A / math.sqrt(1.0 - (self.e2_ * (sin_lat ** 2)))
|
|
37
|
+
d3 = sqrt * cos_lat
|
|
38
|
+
|
|
39
|
+
self.x0_ = d3 * cos_lon
|
|
40
|
+
self.y0_ = d3 * sin_lon
|
|
41
|
+
self.z0_ = self.e2m_ * sqrt * sin_lat
|
|
42
|
+
|
|
43
|
+
self.R_[0][0] = -sin_lon
|
|
44
|
+
self.R_[0][1] = cos_lon
|
|
45
|
+
self.R_[0][2] = 0.0
|
|
46
|
+
|
|
47
|
+
self.R_[1][0] = -cos_lon * sin_lat
|
|
48
|
+
self.R_[1][1] = -sin_lon * sin_lat
|
|
49
|
+
self.R_[1][2] = cos_lat
|
|
50
|
+
|
|
51
|
+
self.R_[2][0] = cos_lon * cos_lat
|
|
52
|
+
self.R_[2][1] = sin_lon * cos_lat
|
|
53
|
+
self.R_[2][2] = sin_lat
|
|
54
|
+
|
|
55
|
+
def enu_to_lla(self, e, n) -> Point:
|
|
56
|
+
d3 = self.R_[0][0] * n + self.R_[1][0] * e + self.x0_
|
|
57
|
+
d4 = self.R_[0][1] * n + self.R_[1][1] * e + self.y0_
|
|
58
|
+
d5 = self.R_[0][2] * n + self.R_[1][2] * e + self.z0_
|
|
59
|
+
|
|
60
|
+
hypot = math.hypot(d3, d4)
|
|
61
|
+
atan2_lat = math.atan2(self.WGS84A * d5, self.b_ * hypot)
|
|
62
|
+
|
|
63
|
+
sin_lat = math.sin(atan2_lat)
|
|
64
|
+
cos_lat = math.cos(atan2_lat)
|
|
65
|
+
|
|
66
|
+
lon = math.atan2(d4, d3) * 180.0 / math.pi
|
|
67
|
+
lat = math.atan2(d5 + self.ep2_ * self.b_ * (sin_lat ** 3), hypot - self.e2_ * self.WGS84A * (cos_lat ** 3)) * 180.0 / math.pi
|
|
68
|
+
|
|
69
|
+
return Point(latitude=lat, longitude=lon)
|
|
70
|
+
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: pymammotion
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.2
|
|
4
4
|
Summary:
|
|
5
5
|
License: GNU-3.0
|
|
6
6
|
Author: Michael Arthur
|
|
@@ -23,6 +23,7 @@ Requires-Dist: bleak-retry-connector (>=3.5.0,<4.0.0)
|
|
|
23
23
|
Requires-Dist: jsonic (>=1.0.0,<2.0.0)
|
|
24
24
|
Requires-Dist: mashumaro (>=3.13,<4.0)
|
|
25
25
|
Requires-Dist: nest-asyncio (>=1.6.0,<2.0.0)
|
|
26
|
+
Requires-Dist: numpy (>=2.0.1,<3.0.0)
|
|
26
27
|
Requires-Dist: orjson (>=3.9.15,<4.0.0)
|
|
27
28
|
Requires-Dist: paho-mqtt (>=1.6.1,<2.0.0)
|
|
28
29
|
Requires-Dist: protobuf (>=4.23.1)
|
|
@@ -20,14 +20,14 @@ pymammotion/bluetooth/data/notifydata.py,sha256=N1bphpueWUWbsWUcpZmMGt2CyCgLcKAF
|
|
|
20
20
|
pymammotion/const.py,sha256=3plR6t5sFVhx3LoUbW5PE2gqIANoD-fSm-T0q8uIwIU,336
|
|
21
21
|
pymammotion/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
22
22
|
pymammotion/data/model/__init__.py,sha256=d8FlIgCcWqoH3jJSpnm-IY-25RM-l2nbRwLtWjSHo74,222
|
|
23
|
-
pymammotion/data/model/device.py,sha256=
|
|
23
|
+
pymammotion/data/model/device.py,sha256=iW7EK36A6ndAmfJlMNjxcB2PxjRXhg5slI4ITGzfi_k,9911
|
|
24
24
|
pymammotion/data/model/device_config.py,sha256=6BcyVbMyw6vA1jANof8_mnG-jizGsF96pbKeHP4t8G4,179
|
|
25
25
|
pymammotion/data/model/enums.py,sha256=tD_vYsxstOV_lUkYF9uWkrjVOgAJPNnGevy_xmiu3WE,1558
|
|
26
26
|
pymammotion/data/model/excute_boarder_params.py,sha256=kadSth4y-VXlXIZ6R-Ng-kDvBbM-3YRr8bmR86qR0U0,1355
|
|
27
27
|
pymammotion/data/model/execute_boarder.py,sha256=oDb2h5tFtOQIa8OCNYaDugqCgCZBLjQRzQTNVcJVAGQ,1072
|
|
28
28
|
pymammotion/data/model/generate_route_information.py,sha256=5w1MM1-gXGXb_AoEap_I5xTxAFbNSzXuqQFEkw4NmDs,4301
|
|
29
29
|
pymammotion/data/model/hash_list.py,sha256=z4y0mzbW8LQ5nsaHbMlt1y6uS4suB4D_VljAyIEjFR0,1171
|
|
30
|
-
pymammotion/data/model/location.py,sha256=
|
|
30
|
+
pymammotion/data/model/location.py,sha256=KEDVD5RgW7z5713EtWgdcseswK71u-7Kb__o58Dl_h8,783
|
|
31
31
|
pymammotion/data/model/mowing_modes.py,sha256=121zhvouPKRbF7mynJIc7tJ0zO9bS-Nq4CFhFI7Nt0s,663
|
|
32
32
|
pymammotion/data/model/plan.py,sha256=7JvqAo0a9Yg1Vtifd4J3Dx3StEppxrMOfmq2-877kYg,2891
|
|
33
33
|
pymammotion/data/model/rapid_state.py,sha256=_e9M-65AbkvIqXyMYzLKBxbNvpso42qD8R-JSt66THY,986
|
|
@@ -36,7 +36,7 @@ pymammotion/data/mqtt/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdr
|
|
|
36
36
|
pymammotion/data/mqtt/event.py,sha256=kEilMLmwZG2nbokLw7X28KF3b-te8G-MfNARYm4LG6I,2170
|
|
37
37
|
pymammotion/data/mqtt/properties.py,sha256=HkBPghr26L9_b4QaOi1DtPgb0UoPIOGSe9wb3kgnM6Y,2815
|
|
38
38
|
pymammotion/data/mqtt/status.py,sha256=zqnlo-MzejEQZszl0i0Wucoc3E76x6UtI9JLxoBnu54,1067
|
|
39
|
-
pymammotion/data/state_manager.py,sha256=
|
|
39
|
+
pymammotion/data/state_manager.py,sha256=bi_ThLe65n-kjhVq8lfW1P1a4GUp4czs_86hbXj4URs,2798
|
|
40
40
|
pymammotion/event/__init__.py,sha256=mgATR6vPHACNQ-0zH5fi7NdzeTCDV1CZyaWPmtUusi8,115
|
|
41
41
|
pymammotion/event/event.py,sha256=Fy5-I1p92AO_D67VW4eHQqA4pOt7MZsrP--tVfIVUz8,1820
|
|
42
42
|
pymammotion/http/_init_.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -51,27 +51,31 @@ pymammotion/mammotion/commands/messages/media.py,sha256=ps0l06CXy5Ej--gTNCsyKttw
|
|
|
51
51
|
pymammotion/mammotion/commands/messages/navigation.py,sha256=c7C6Dru-Xwtq-epzS9vKsy_6QlQ7ozKq9QDhFn2IRHU,23181
|
|
52
52
|
pymammotion/mammotion/commands/messages/network.py,sha256=1a0BIhaBhBuhqYaK5EUqLbDgfzjzsIGrXS32wMKtxOU,8316
|
|
53
53
|
pymammotion/mammotion/commands/messages/ota.py,sha256=XkeuWBZtpYMMBze6r8UN7dJXbe2FxUNGNnjwBpXJKM0,1240
|
|
54
|
-
pymammotion/mammotion/commands/messages/system.py,sha256=
|
|
54
|
+
pymammotion/mammotion/commands/messages/system.py,sha256=nQ-g-0ESDQ2YBB6JW7IF4Q1bmTbX_baA4dOw2P3GixI,10957
|
|
55
55
|
pymammotion/mammotion/commands/messages/video.py,sha256=_8lJsU4sLm2CGnc7RDkueA0A51Ysui6x7SqFnhX8O2g,1007
|
|
56
56
|
pymammotion/mammotion/control/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
57
57
|
pymammotion/mammotion/control/joystick.py,sha256=EWV20MMzQuhbLlNlXbsyZKSEpeM7x1CQL7saU4Pn0-g,6165
|
|
58
58
|
pymammotion/mammotion/devices/__init__.py,sha256=T72jt0ejtMjo1rPmn_FeMF3pmp0LLeRRpc9WcDKEYYY,126
|
|
59
|
-
pymammotion/mammotion/devices/mammotion.py,sha256=
|
|
59
|
+
pymammotion/mammotion/devices/mammotion.py,sha256=Dhn7KJxqCiCGbLh5NXJjAjx8Usg3NlD4QykseXK9tpI,31135
|
|
60
60
|
pymammotion/mqtt/__init__.py,sha256=Ocs5e-HLJvTuDpVXyECEsWIvwsUaxzj7lZ9mSYutNDY,105
|
|
61
61
|
pymammotion/mqtt/mammotion_mqtt.py,sha256=EBnUwqah-mZNcAn5Hq2sV3NKXueIYWNhYPiaXwaXdHg,9084
|
|
62
62
|
pymammotion/proto/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
63
|
+
pymammotion/proto/basestation.proto,sha256=_x5gAz3FkZXS1jtq4GgZgaDCuRU-UV-7HTFdsfQ3zbo,1034
|
|
64
|
+
pymammotion/proto/basestation.py,sha256=js64_N2xQYRxWPRdVNEapO0qe7vBlfYnjW5sE8hi7hw,2026
|
|
65
|
+
pymammotion/proto/basestation_pb2.py,sha256=PTVlHcDLQeRV6qv7ZPjGke9MF68mpqoUeJA0Sw_AoT0,2776
|
|
66
|
+
pymammotion/proto/basestation_pb2.pyi,sha256=eeYW9l_5OsokGzP9OE_lg6TdJwXGAFvPiojQ3tipcak,3970
|
|
63
67
|
pymammotion/proto/common.proto,sha256=op8TCU1ppCMeP-izK2tXMoJXQyZXdgj1EgOKcd14A-A,81
|
|
64
68
|
pymammotion/proto/common.py,sha256=stFYSHAjVKasFfPacxLcMfpGuUtGYkTb8RUAoJEtaRc,324
|
|
65
69
|
pymammotion/proto/common_pb2.py,sha256=8OpJ04lLq8sAktY6CkP8TxVGar9x858sCf6FqLy7Rs4,1030
|
|
66
70
|
pymammotion/proto/common_pb2.pyi,sha256=skF2ydSIQIvoobjiCUjXVD-pTfJiAILbaUl6nkdh2SY,460
|
|
67
|
-
pymammotion/proto/dev_net.proto,sha256=
|
|
68
|
-
pymammotion/proto/dev_net.py,sha256=
|
|
69
|
-
pymammotion/proto/dev_net_pb2.py,sha256=
|
|
70
|
-
pymammotion/proto/dev_net_pb2.pyi,sha256=
|
|
71
|
-
pymammotion/proto/luba_msg.proto,sha256=
|
|
72
|
-
pymammotion/proto/luba_msg.py,sha256=
|
|
73
|
-
pymammotion/proto/luba_msg_pb2.py,sha256=
|
|
74
|
-
pymammotion/proto/luba_msg_pb2.pyi,sha256=
|
|
71
|
+
pymammotion/proto/dev_net.proto,sha256=sh10FFXCkcQHBt3OlvW-4Jvv_EATOLxkcIGWDKzivs8,5502
|
|
72
|
+
pymammotion/proto/dev_net.py,sha256=7RPkgEBa6z8jwQ3h15WZZfXSo2t_srxtGQtBoCEOJQM,11260
|
|
73
|
+
pymammotion/proto/dev_net_pb2.py,sha256=URvPWl3bDTpgcXsPR7GMOTcbrmDgBgm-PxWcd4ZGiCM,12868
|
|
74
|
+
pymammotion/proto/dev_net_pb2.pyi,sha256=0S1HyPT1WQUNQXsW9xEgKSAoEy-0LBfP9ZBJeQlhChc,21825
|
|
75
|
+
pymammotion/proto/luba_msg.proto,sha256=KfEKnPy4HyI2msoFyE5tY2tp913PGyWuki9G6tuju_A,1661
|
|
76
|
+
pymammotion/proto/luba_msg.py,sha256=Q9I8R7xmhLuenn5r0XOmYzH3UmWrPk6KJF0xzkjfvDM,2473
|
|
77
|
+
pymammotion/proto/luba_msg_pb2.py,sha256=tM_jjxnRcAL_PFbNSbY2i11YP27boXYxysB0VE1Rjdc,4514
|
|
78
|
+
pymammotion/proto/luba_msg_pb2.pyi,sha256=u1YgUrGoqfuizHt2ckQUL1Y_u9tLOievwrJ2e_ySOss,4288
|
|
75
79
|
pymammotion/proto/luba_mul.proto,sha256=YhzrsoILd14pM_MjuZLQIK08AoKMn_mYyL7CxZLp0-Q,1114
|
|
76
80
|
pymammotion/proto/luba_mul.py,sha256=M-26YJDIAQLYNAmXb3CRAjrxeOGezbJQwRcTEM-4TqI,2061
|
|
77
81
|
pymammotion/proto/luba_mul_pb2.py,sha256=nJ25xWmuBldTQsAddTR5EImTEN-D2FSUCd_5vBUUTwA,3399
|
|
@@ -81,7 +85,7 @@ pymammotion/proto/mctrl_driver.py,sha256=sseY2MxUtaQZvg7fvbA_gNvtqx9MVDW_rvUcfA2
|
|
|
81
85
|
pymammotion/proto/mctrl_driver_pb2.py,sha256=bfLwZb5Hehb6OIkgFrZMkQ0oTBXoOBxpruszKz-UM1U,3785
|
|
82
86
|
pymammotion/proto/mctrl_driver_pb2.pyi,sha256=9_rcQELsSeOfeIQMTEFIpeXICpDe3arQeA4kAYWNSWw,5860
|
|
83
87
|
pymammotion/proto/mctrl_nav.proto,sha256=3OQ8DDP5yaZpKBcqeflGLQ5v5YE5AdBOftkKLRne2Tg,12530
|
|
84
|
-
pymammotion/proto/mctrl_nav.py,sha256=
|
|
88
|
+
pymammotion/proto/mctrl_nav.py,sha256=hRnCl2BkwbzDS167QOapwQnB15n0t3XY-H8NyZqT3DM,24993
|
|
85
89
|
pymammotion/proto/mctrl_nav_pb2.py,sha256=LAHfEmGfNVZCN6vuLSZF6s2wd1Qk-siaWe4mdPWPdxc,24213
|
|
86
90
|
pymammotion/proto/mctrl_nav_pb2.pyi,sha256=qmGYfKh2o63e5ppl9QIWnwDbmGVUVOf7EqhC9ApE5fg,51336
|
|
87
91
|
pymammotion/proto/mctrl_ota.proto,sha256=4iHr-v1R0QiNndCnv3b6mhXiERLukB67ZzhTgt1iMc0,629
|
|
@@ -92,18 +96,19 @@ pymammotion/proto/mctrl_pept.proto,sha256=HBTRiP1XJB5w9hT1V38aePPREpePBk5jkjupu_
|
|
|
92
96
|
pymammotion/proto/mctrl_pept.py,sha256=utMtbXsCwGS14YggTqUdVIbTZsR0w49B6gKU8jHzbJg,1332
|
|
93
97
|
pymammotion/proto/mctrl_pept_pb2.py,sha256=QqQ1BXo_EBs7cLmQGtRbnNy0rRxvaqtrGfKxXS8R5A8,2134
|
|
94
98
|
pymammotion/proto/mctrl_pept_pb2.pyi,sha256=gr0lxUPqhyEnDdni9vpIQnAIhqAGtHlv1rFeb5EJnMY,2840
|
|
95
|
-
pymammotion/proto/mctrl_sys.proto,sha256=
|
|
96
|
-
pymammotion/proto/mctrl_sys.py,sha256=
|
|
97
|
-
pymammotion/proto/mctrl_sys_pb2.py,sha256=
|
|
98
|
-
pymammotion/proto/mctrl_sys_pb2.pyi,sha256=
|
|
99
|
+
pymammotion/proto/mctrl_sys.proto,sha256=6SONb-xEqIlDUQFR_bi0AQEWAeAirFgz1Y-1Ormoko0,10194
|
|
100
|
+
pymammotion/proto/mctrl_sys.py,sha256=F1XQTqfGqvaWvgx6IQb4jJDxV7i4unzOs9Kmf9Bh8DU,19107
|
|
101
|
+
pymammotion/proto/mctrl_sys_pb2.py,sha256=DYemb514mlC7c27t-k1YqqBif0xxhLmnIWk8rXtSj1c,21497
|
|
102
|
+
pymammotion/proto/mctrl_sys_pb2.pyi,sha256=BrivyEP8s7nnuSQkezTbnse9A4J1ad5o6yFcufELLVU,38910
|
|
99
103
|
pymammotion/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
100
104
|
pymammotion/utility/constant/__init__.py,sha256=tZz7szqIhrzNjfcLU3ysfINfg5VEBUAisd9AhP4mvT0,38
|
|
101
105
|
pymammotion/utility/constant/device_constant.py,sha256=Ebmf1S9Of4s_SNp8yC7Vsbh35IniAeY-DYV4lRY5Kmw,7109
|
|
102
106
|
pymammotion/utility/datatype_converter.py,sha256=v6zym2Zu0upxQjR-xDqXwi3516zpntSlg7LP8tQF5K8,4216
|
|
103
107
|
pymammotion/utility/device_type.py,sha256=KYawu2glZMVlPmxRbA4kVFujXz3miHp3rJiOWRVj-GI,8285
|
|
108
|
+
pymammotion/utility/map.py,sha256=CRW-CjkLBp8R9UcobH2cQ9x4qNxHSLlI2u0jAiKyB8A,2271
|
|
104
109
|
pymammotion/utility/periodic.py,sha256=9wJMfwXPlx6Mbp3Fws7LLTI34ZDKphH1bva_Ggyk32g,3281
|
|
105
110
|
pymammotion/utility/rocker_util.py,sha256=syPL0QN4zMzHiTIkUKS7RXBBptjdbkfNlPddwUD5V3A,7171
|
|
106
|
-
pymammotion-0.1.
|
|
107
|
-
pymammotion-0.1.
|
|
108
|
-
pymammotion-0.1.
|
|
109
|
-
pymammotion-0.1.
|
|
111
|
+
pymammotion-0.1.2.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
112
|
+
pymammotion-0.1.2.dist-info/METADATA,sha256=sGPlxMHLYdo5F5dNcJOQiQVPCMBZGPX-7B15TN51K2A,3921
|
|
113
|
+
pymammotion-0.1.2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
114
|
+
pymammotion-0.1.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|