pymammotion 0.2.49__py3-none-any.whl → 0.2.50__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.
- pymammotion/aliyun/cloud_gateway.py +3 -0
- pymammotion/data/model/hash_list.py +11 -2
- pymammotion/mammotion/commands/messages/driver.py +1 -1
- pymammotion/mammotion/devices/base.py +5 -4
- {pymammotion-0.2.49.dist-info → pymammotion-0.2.50.dist-info}/METADATA +1 -1
- {pymammotion-0.2.49.dist-info → pymammotion-0.2.50.dist-info}/RECORD +8 -8
- {pymammotion-0.2.49.dist-info → pymammotion-0.2.50.dist-info}/LICENSE +0 -0
- {pymammotion-0.2.49.dist-info → pymammotion-0.2.50.dist-info}/WHEEL +0 -0
@@ -478,6 +478,8 @@ class CloudIOTGateway:
|
|
478
478
|
|
479
479
|
# Load the JSON string into a dictionary
|
480
480
|
response_body_dict = json.loads(response_body_str)
|
481
|
+
logger.debug(response_body_dict)
|
482
|
+
return response_body_dict
|
481
483
|
|
482
484
|
def check_or_refresh_session(self):
|
483
485
|
"""Check or refresh the session."""
|
@@ -689,6 +691,7 @@ class CloudIOTGateway:
|
|
689
691
|
str(response_body_dict.get("msg")),
|
690
692
|
)
|
691
693
|
if response_body_dict.get("code") == 29003:
|
694
|
+
self.sign_out()
|
692
695
|
raise SetupException(response_body_dict.get("code"))
|
693
696
|
if response_body_dict.get("code") == 6205:
|
694
697
|
raise DeviceOfflineException(response_body_dict.get("code"))
|
@@ -22,8 +22,8 @@ class FrameList(DataClassORJSONMixin):
|
|
22
22
|
|
23
23
|
@dataclass
|
24
24
|
class RootHashList(DataClassORJSONMixin):
|
25
|
-
total_frame: int
|
26
|
-
data: list[NavGetHashListAck]
|
25
|
+
total_frame: int
|
26
|
+
data: list[NavGetHashListAck]
|
27
27
|
|
28
28
|
|
29
29
|
@dataclass
|
@@ -56,6 +56,15 @@ class HashList(DataClassORJSONMixin):
|
|
56
56
|
def hashlist(self) -> list[int]:
|
57
57
|
return [i for obj in self.root_hash_list.data for i in obj.data_couple]
|
58
58
|
|
59
|
+
@property
|
60
|
+
def missing_hashlist(self) -> list[int]:
|
61
|
+
return [
|
62
|
+
i
|
63
|
+
for obj in self.root_hash_list.data
|
64
|
+
for i in obj.data_couple
|
65
|
+
if i not in set(self.area.keys()).union(self.path.keys(), self.obstacle.keys())
|
66
|
+
]
|
67
|
+
|
59
68
|
def update_root_hash_list(self, hash_list: NavGetHashListAck) -> None:
|
60
69
|
self.root_hash_list.total_frame = hash_list.total_frame
|
61
70
|
|
@@ -27,7 +27,7 @@ class MessageDriver(AbstractMessage, ABC):
|
|
27
27
|
|
28
28
|
def set_blade_height(self, height: int):
|
29
29
|
logger.debug(f"Send knife height height={height}")
|
30
|
-
build = mctrl_driver.MctlDriver(todev_knife_height_set=mctrl_driver.DrvKnifeHeight(
|
30
|
+
build = mctrl_driver.MctlDriver(todev_knife_height_set=mctrl_driver.DrvKnifeHeight(knife_height=height))
|
31
31
|
logger.debug(f"Send command--Knife motor height setting height={height}")
|
32
32
|
return self.send_order_msg_driver(build)
|
33
33
|
|
@@ -58,7 +58,8 @@ class MammotionBaseDevice:
|
|
58
58
|
|
59
59
|
missing_frames = self.mower.map.missing_hash_frame()
|
60
60
|
if len(missing_frames) == 0:
|
61
|
-
|
61
|
+
data_hash = self.mower.map.missing_hashlist.pop()
|
62
|
+
return await self.queue_command("synchronize_hash_data", hash_num=data_hash)
|
62
63
|
|
63
64
|
if current_frame != missing_frames[0] - 1:
|
64
65
|
current_frame = missing_frames[0] - 1
|
@@ -73,7 +74,7 @@ class MammotionBaseDevice:
|
|
73
74
|
if len(missing_frames) == 0:
|
74
75
|
# get next in hash ack list
|
75
76
|
|
76
|
-
data_hash =
|
77
|
+
data_hash = self.mower.map.missing_hashlist.pop()
|
77
78
|
if data_hash is None:
|
78
79
|
return
|
79
80
|
|
@@ -216,8 +217,8 @@ class MammotionBaseDevice:
|
|
216
217
|
|
217
218
|
await self.queue_command("get_all_boundary_hash_list", sub_cmd=0)
|
218
219
|
await self.queue_command("get_hash_response", total_frame=1, current_frame=1)
|
219
|
-
|
220
|
-
|
220
|
+
data_hash = self.mower.map.missing_hashlist.pop()
|
221
|
+
await self.queue_command("synchronize_hash_data", hash_num=data_hash)
|
221
222
|
|
222
223
|
# sub_cmd 3 is job hashes??
|
223
224
|
# sub_cmd 4 is dump location (yuka)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
pymammotion/__init__.py,sha256=jHCQrpJaG1jAoID9T4RT3g4JsZc0JpJqIcqjnA7cXd0,1605
|
2
2
|
pymammotion/aliyun/__init__.py,sha256=T1lkX7TRYiL4nqYanG4l4MImV-SlavSbuooC-W-uUGw,29
|
3
|
-
pymammotion/aliyun/cloud_gateway.py,sha256=
|
3
|
+
pymammotion/aliyun/cloud_gateway.py,sha256=96xbl_QefMcN0x8Dhz0OJQr_IaAcgrrrqfxCQAUGxTc,25668
|
4
4
|
pymammotion/aliyun/cloud_service.py,sha256=px7dUKow5Z7VyebjYzuKkzkm77XbUXYiFiYO_2e-UQ0,2207
|
5
5
|
pymammotion/aliyun/model/aep_response.py,sha256=8f6GIP58ve8gd6AL3HBoXxsy0n2q4ygWvjELGnoOnVc,452
|
6
6
|
pymammotion/aliyun/model/connect_response.py,sha256=Yz-fEbDzgGPTo5Of2oAjmFkSv08T7ze80pQU4k-gKIU,824
|
@@ -28,7 +28,7 @@ pymammotion/data/model/enums.py,sha256=EpKmO8yVUZyEnTY4yH0DMMVKYNQM42zpW1maUu0i3
|
|
28
28
|
pymammotion/data/model/excute_boarder_params.py,sha256=9CpUqrygcle1C_1hDW-riLmm4map4ZbE842NXjcomEI,1394
|
29
29
|
pymammotion/data/model/execute_boarder.py,sha256=9rd_h4fbcsXxgnLOd2rO2hWyD1abnTGc47QTEpp8DD0,1103
|
30
30
|
pymammotion/data/model/generate_route_information.py,sha256=MkUBoqGtCAKmiVQ4Q1pEoDVHZs5uLIo7vhfWT4nGbtY,801
|
31
|
-
pymammotion/data/model/hash_list.py,sha256=
|
31
|
+
pymammotion/data/model/hash_list.py,sha256=URJeh0vSy2dIDx0za2w-wtqFs4dQb2g9ec2UXz3f7TY,4638
|
32
32
|
pymammotion/data/model/location.py,sha256=PwmITejfI4pm7PI4rzqSuuHetwle6IJr_CV95435s2M,871
|
33
33
|
pymammotion/data/model/mowing_modes.py,sha256=5TrHSijUyPtIDWpNtgzx_vFQukRJWRz4gIrUaXggKPw,827
|
34
34
|
pymammotion/data/model/plan.py,sha256=mcadkSL7fQXy0iJ0q786I3GEQY4i6kmQXfW6Ri69lcQ,2906
|
@@ -50,7 +50,7 @@ pymammotion/mammotion/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5
|
|
50
50
|
pymammotion/mammotion/commands/abstract_message.py,sha256=nw6r7694yzl7iJKqRqhLmAPRjd_TL_Xo_-JXq2_a_ug,222
|
51
51
|
pymammotion/mammotion/commands/mammotion_command.py,sha256=Cdv8sAt-W-Sihmhir1eN56OMA2e5b8y47NP2QKYqb-o,2419
|
52
52
|
pymammotion/mammotion/commands/messages/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
53
|
-
pymammotion/mammotion/commands/messages/driver.py,sha256=
|
53
|
+
pymammotion/mammotion/commands/messages/driver.py,sha256=spkNa-sag_7xDuHy7mjsR_Fc8z9ztNKHCjtojWayJms,3710
|
54
54
|
pymammotion/mammotion/commands/messages/media.py,sha256=ps0l06CXy5Ej--gTNCsyKttwo7yHLVrJUpn-wNJYecs,1150
|
55
55
|
pymammotion/mammotion/commands/messages/navigation.py,sha256=4rXBL-mViWc38K6x1w5O-GjwV8UWS5xZXkf4aHYjs8A,23684
|
56
56
|
pymammotion/mammotion/commands/messages/network.py,sha256=61msRJWyXdrO8FbI_rhrO2K8R1qkGVUj5BFzNwm7lwg,8155
|
@@ -60,7 +60,7 @@ pymammotion/mammotion/commands/messages/video.py,sha256=_8lJsU4sLm2CGnc7RDkueA0A
|
|
60
60
|
pymammotion/mammotion/control/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
61
61
|
pymammotion/mammotion/control/joystick.py,sha256=QfBVxM_gxpWsZAGO90whtgxCI2tIZ3TTad9wHIPsU9s,5640
|
62
62
|
pymammotion/mammotion/devices/__init__.py,sha256=f2qQFPgLGmV85W2hSlMUh5BYuht9o_Ar_JEAAMD4fsE,102
|
63
|
-
pymammotion/mammotion/devices/base.py,sha256=
|
63
|
+
pymammotion/mammotion/devices/base.py,sha256=iqvGglud4GYKgivBjzge7WU9-pLY8Z6l4QjShxLT7Go,9746
|
64
64
|
pymammotion/mammotion/devices/mammotion.py,sha256=ForzwnQu1IRxtwsFMHAudFCtOAUJC01BcX5RK7dYYcs,12295
|
65
65
|
pymammotion/mammotion/devices/mammotion_bluetooth.py,sha256=nyO7pkKgAoRPs-28ESf6ee-y3G5JTYRO-MCp4wKPMlE,17476
|
66
66
|
pymammotion/mammotion/devices/mammotion_cloud.py,sha256=Q1Il0nCxH-8utg_9AKAY3HxuuhB78uHZV4yVpZ4k1TI,11282
|
@@ -118,7 +118,7 @@ pymammotion/utility/map.py,sha256=GYscVMg2cX3IPlNpCBNHDW0S55yS1WGRf1iHnNZ7TfQ,22
|
|
118
118
|
pymammotion/utility/movement.py,sha256=N75oAoAgFydqoaOedYIxGUHmuTCtPzAOtb-d_29tpfI,615
|
119
119
|
pymammotion/utility/periodic.py,sha256=MbeSb9cfhxzYmdT_RiE0dZe3H9IfbQW_zSqhmSX2RUc,3321
|
120
120
|
pymammotion/utility/rocker_util.py,sha256=6tX7sS87qoQC_tsxbx3NLL-HgS08wtzXiZkhDiz7uo0,7179
|
121
|
-
pymammotion-0.2.
|
122
|
-
pymammotion-0.2.
|
123
|
-
pymammotion-0.2.
|
124
|
-
pymammotion-0.2.
|
121
|
+
pymammotion-0.2.50.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
122
|
+
pymammotion-0.2.50.dist-info/METADATA,sha256=k0s4Czkpb0hP2t0AK1kc5R3o_Y71HosYscCC6vdeIUI,4052
|
123
|
+
pymammotion-0.2.50.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
124
|
+
pymammotion-0.2.50.dist-info/RECORD,,
|
File without changes
|
File without changes
|