pymammotion 0.1.1__py3-none-any.whl → 0.1.3__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 +18 -1
- pymammotion/data/model/location.py +5 -3
- pymammotion/data/model/report_info.py +121 -0
- pymammotion/data/state_manager.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.1.dist-info → pymammotion-0.1.3.dist-info}/METADATA +2 -1
- {pymammotion-0.1.1.dist-info → pymammotion-0.1.3.dist-info}/RECORD +27 -21
- {pymammotion-0.1.1.dist-info → pymammotion-0.1.3.dist-info}/LICENSE +0 -0
- {pymammotion-0.1.1.dist-info → pymammotion-0.1.3.dist-info}/WHEEL +0 -0
|
@@ -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.3
|
|
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)
|