pymammotion 0.4.45__tar.gz → 0.4.47__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. {pymammotion-0.4.45 → pymammotion-0.4.47}/PKG-INFO +1 -1
  2. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/data/model/device.py +14 -6
  3. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/data/model/device_info.py +5 -0
  4. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/data/model/mowing_modes.py +2 -2
  5. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/data/state_manager.py +17 -5
  6. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/mammotion/commands/messages/system.py +2 -10
  7. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/mammotion/devices/base.py +3 -0
  8. {pymammotion-0.4.45 → pymammotion-0.4.47}/pyproject.toml +2 -2
  9. {pymammotion-0.4.45 → pymammotion-0.4.47}/LICENSE +0 -0
  10. {pymammotion-0.4.45 → pymammotion-0.4.47}/README.md +0 -0
  11. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/__init__.py +0 -0
  12. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/aliyun/__init__.py +0 -0
  13. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/aliyun/client.py +0 -0
  14. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/aliyun/cloud_gateway.py +0 -0
  15. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/aliyun/model/aep_response.py +0 -0
  16. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/aliyun/model/connect_response.py +0 -0
  17. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/aliyun/model/dev_by_account_response.py +0 -0
  18. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/aliyun/model/login_by_oauth_response.py +0 -0
  19. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/aliyun/model/regions_response.py +0 -0
  20. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/aliyun/model/session_by_authcode_response.py +0 -0
  21. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/aliyun/regions.py +0 -0
  22. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/aliyun/tea/core.py +0 -0
  23. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/aliyun/tmp_constant.py +0 -0
  24. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/bluetooth/__init__.py +0 -0
  25. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/bluetooth/ble.py +0 -0
  26. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/bluetooth/ble_message.py +0 -0
  27. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/bluetooth/const.py +0 -0
  28. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/bluetooth/data/__init__.py +0 -0
  29. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/bluetooth/data/convert.py +0 -0
  30. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/bluetooth/data/framectrldata.py +0 -0
  31. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/bluetooth/data/notifydata.py +0 -0
  32. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/bluetooth/model/__init__.py +0 -0
  33. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/bluetooth/model/atomic_integer.py +0 -0
  34. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/const.py +0 -0
  35. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/data/__init__.py +0 -0
  36. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/data/model/__init__.py +0 -0
  37. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/data/model/account.py +0 -0
  38. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/data/model/device_config.py +0 -0
  39. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/data/model/device_limits.py +0 -0
  40. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/data/model/enums.py +0 -0
  41. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/data/model/excute_boarder_params.py +0 -0
  42. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/data/model/execute_boarder.py +0 -0
  43. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/data/model/generate_route_information.py +0 -0
  44. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/data/model/hash_list.py +0 -0
  45. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/data/model/location.py +0 -0
  46. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/data/model/rapid_state.py +0 -0
  47. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/data/model/raw_data.py +0 -0
  48. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/data/model/region_data.py +0 -0
  49. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/data/model/report_info.py +0 -0
  50. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/data/model/work.py +0 -0
  51. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/data/mqtt/__init__.py +0 -0
  52. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/data/mqtt/event.py +0 -0
  53. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/data/mqtt/properties.py +0 -0
  54. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/data/mqtt/status.py +0 -0
  55. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/event/__init__.py +0 -0
  56. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/event/event.py +0 -0
  57. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/http/__init__.py +0 -0
  58. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/http/_init_.py +0 -0
  59. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/http/encryption.py +0 -0
  60. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/http/http.py +0 -0
  61. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/http/model/__init__.py +0 -0
  62. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/http/model/camera_stream.py +0 -0
  63. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/http/model/http.py +0 -0
  64. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/mammotion/__init__.py +0 -0
  65. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/mammotion/commands/__init__.py +0 -0
  66. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/mammotion/commands/abstract_message.py +0 -0
  67. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/mammotion/commands/mammotion_command.py +0 -0
  68. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/mammotion/commands/messages/__init__.py +0 -0
  69. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/mammotion/commands/messages/driver.py +0 -0
  70. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/mammotion/commands/messages/media.py +0 -0
  71. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/mammotion/commands/messages/navigation.py +0 -0
  72. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/mammotion/commands/messages/network.py +0 -0
  73. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/mammotion/commands/messages/ota.py +0 -0
  74. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/mammotion/commands/messages/video.py +0 -0
  75. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/mammotion/control/__init__.py +0 -0
  76. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/mammotion/control/joystick.py +0 -0
  77. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/mammotion/devices/__init__.py +0 -0
  78. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/mammotion/devices/mammotion.py +0 -0
  79. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/mammotion/devices/mammotion_bluetooth.py +0 -0
  80. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/mammotion/devices/mammotion_cloud.py +0 -0
  81. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/mqtt/__init__.py +0 -0
  82. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/mqtt/linkkit/__init__.py +0 -0
  83. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/mqtt/linkkit/h2client.py +0 -0
  84. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/mqtt/linkkit/linkkit.py +0 -0
  85. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/mqtt/mammotion_future.py +0 -0
  86. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/mqtt/mammotion_mqtt.py +0 -0
  87. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/proto/__init__.py +0 -0
  88. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/proto/basestation.proto +0 -0
  89. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/proto/basestation_pb2.py +0 -0
  90. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/proto/basestation_pb2.pyi +0 -0
  91. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/proto/common.proto +0 -0
  92. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/proto/common_pb2.py +0 -0
  93. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/proto/common_pb2.pyi +0 -0
  94. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/proto/dev_net.proto +0 -0
  95. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/proto/dev_net_pb2.py +0 -0
  96. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/proto/dev_net_pb2.pyi +0 -0
  97. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/proto/luba_msg.proto +0 -0
  98. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/proto/luba_msg_pb2.py +0 -0
  99. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/proto/luba_msg_pb2.pyi +0 -0
  100. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/proto/luba_mul.proto +0 -0
  101. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/proto/luba_mul_pb2.py +0 -0
  102. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/proto/luba_mul_pb2.pyi +0 -0
  103. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/proto/mctrl_driver.proto +0 -0
  104. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/proto/mctrl_driver_pb2.py +0 -0
  105. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/proto/mctrl_driver_pb2.pyi +0 -0
  106. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/proto/mctrl_nav.proto +0 -0
  107. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/proto/mctrl_nav_pb2.py +0 -0
  108. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/proto/mctrl_nav_pb2.pyi +0 -0
  109. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/proto/mctrl_ota.proto +0 -0
  110. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/proto/mctrl_ota_pb2.py +0 -0
  111. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/proto/mctrl_ota_pb2.pyi +0 -0
  112. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/proto/mctrl_pept.proto +0 -0
  113. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/proto/mctrl_pept_pb2.py +0 -0
  114. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/proto/mctrl_pept_pb2.pyi +0 -0
  115. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/proto/mctrl_sys.proto +0 -0
  116. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/proto/mctrl_sys_pb2.py +0 -0
  117. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/proto/mctrl_sys_pb2.pyi +0 -0
  118. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/py.typed +0 -0
  119. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/utility/constant/__init__.py +0 -0
  120. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/utility/constant/device_constant.py +0 -0
  121. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/utility/conversions.py +0 -0
  122. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/utility/datatype_converter.py +0 -0
  123. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/utility/device_config.py +0 -0
  124. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/utility/device_type.py +0 -0
  125. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/utility/map.py +0 -0
  126. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/utility/movement.py +0 -0
  127. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/utility/mur_mur_hash.py +0 -0
  128. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/utility/periodic.py +0 -0
  129. {pymammotion-0.4.45 → pymammotion-0.4.47}/pymammotion/utility/rocker_util.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pymammotion
3
- Version: 0.4.45
3
+ Version: 0.4.47
4
4
  Summary:
5
5
  License: GPL-3.0
6
6
  Author: Michael Arthur
@@ -43,12 +43,14 @@ class MowingDevice(DataClassORJSONMixin):
43
43
  """Update the device based on which buffer we are reading from."""
44
44
  match buffer_list.update_buf_data[0]:
45
45
  case 1:
46
- # 4 speed
47
- self.location.RTK.latitude = parse_double(buffer_list.update_buf_data[5], 8.0)
48
- self.location.RTK.longitude = parse_double(buffer_list.update_buf_data[6], 8.0)
49
- self.location.dock.latitude = parse_double(buffer_list.update_buf_data[7], 4.0)
50
- self.location.dock.longitude = parse_double(buffer_list.update_buf_data[8], 4.0)
51
- self.location.dock.rotation = buffer_list.update_buf_data[3] + 180
46
+ # 4 speed?
47
+ if buffer_list.update_buf_data[5] != 0:
48
+ self.location.RTK.latitude = parse_double(buffer_list.update_buf_data[5], 8.0)
49
+ self.location.RTK.longitude = parse_double(buffer_list.update_buf_data[6], 8.0)
50
+ if buffer_list.update_buf_data[7] != 0:
51
+ self.location.dock.latitude = parse_double(buffer_list.update_buf_data[7], 4.0)
52
+ self.location.dock.longitude = parse_double(buffer_list.update_buf_data[8], 4.0)
53
+ self.location.dock.rotation = buffer_list.update_buf_data[3] + 180
52
54
  case 2:
53
55
  self.err_code_list.clear()
54
56
  self.err_code_list_time.clear()
@@ -94,6 +96,12 @@ class MowingDevice(DataClassORJSONMixin):
94
96
  self.location.work_zone = (
95
97
  location.zone_hash if self.report_data.dev.sys_status == WorkMode.MODE_WORKING else 0
96
98
  )
99
+ # if location.bol_hash:
100
+ # for loc in toapp_report_data.locations:
101
+ # if loc.bol_hash:
102
+ # if loc.bol_hash != location.bol_hash:
103
+ # self.map = HashList()
104
+ # MurMurHashUtil.hash_unsigned_list(list(self.map.area.keys()))
97
105
 
98
106
  if toapp_report_data.fw_info:
99
107
  self.update_device_firmwares(toapp_report_data.fw_info)
@@ -2,6 +2,8 @@ from dataclasses import dataclass, field
2
2
 
3
3
  from mashumaro.mixins.orjson import DataClassORJSONMixin
4
4
 
5
+ from pymammotion.data.model.mowing_modes import TraversalMode, TurningMode
6
+
5
7
 
6
8
  @dataclass
7
9
  class SideLight(DataClassORJSONMixin):
@@ -17,6 +19,9 @@ class SideLight(DataClassORJSONMixin):
17
19
  @dataclass
18
20
  class MowerInfo(DataClassORJSONMixin):
19
21
  blade_status: bool = False
22
+ rain_detection: bool = False
23
+ traversal_mode: TraversalMode = TraversalMode.direct
24
+ turning_mode: TurningMode = TurningMode.zero_turn
20
25
  side_led: SideLight = field(default_factory=SideLight)
21
26
  collector_installation_status: bool = False
22
27
  model: str = ""
@@ -47,8 +47,8 @@ class TraversalMode(IntEnum):
47
47
  class TurningMode(IntEnum):
48
48
  """Turning mode on corners."""
49
49
 
50
- multipoint = 0
51
- zero_turn = 1
50
+ zero_turn = 0
51
+ multipoint = 1
52
52
 
53
53
 
54
54
  class DetectionStrategy(IntEnum):
@@ -11,6 +11,7 @@ from pymammotion.data.model.device import MowingDevice
11
11
  from pymammotion.data.model.device_info import SideLight
12
12
  from pymammotion.data.model.enums import ConnectionPreference
13
13
  from pymammotion.data.model.hash_list import AreaHashNameList, NavGetCommData, NavGetHashListData, Plan, SvgMessage
14
+ from pymammotion.data.model.mowing_modes import TraversalMode, TurningMode
14
15
  from pymammotion.data.model.work import CurrentTaskSettings
15
16
  from pymammotion.data.mqtt.properties import ThingPropertiesMessage
16
17
  from pymammotion.data.mqtt.status import ThingStatusMessage
@@ -25,6 +26,7 @@ from pymammotion.proto import (
25
26
  NavGetHashListAck,
26
27
  NavPlanJobSet,
27
28
  NavReqCoverPath,
29
+ NavSysParamMsg,
28
30
  SvgMessageAckT,
29
31
  TimeCtrlLight,
30
32
  WifiIotStatusReport,
@@ -168,6 +170,21 @@ class StateManager:
168
170
  converted_list = [AreaHashNameList(name=item.name, hash=item.hash) for item in hash_names.hashnames]
169
171
  self._device.map.area_name = converted_list
170
172
 
173
+ case "bidire_reqconver_path":
174
+ work_settings: NavReqCoverPath = nav_msg[1]
175
+ self._device.work = CurrentTaskSettings.from_dict(
176
+ work_settings.to_dict(casing=betterproto.Casing.SNAKE)
177
+ )
178
+ case "nav_sys_param_cmd":
179
+ settings: NavSysParamMsg = nav_msg[1]
180
+ match settings.id:
181
+ case 3:
182
+ self._device.mower_state.rain_detection = bool(settings.context)
183
+ case 6:
184
+ self._device.mower_state.turning_mode = TurningMode(settings.context)
185
+ case 7:
186
+ self._device.mower_state.traversal_mode = TraversalMode(settings.context)
187
+
171
188
  def _update_sys_data(self, message) -> None:
172
189
  """Update system."""
173
190
  sys_msg = betterproto.which_one_of(message.sys, "SubSysMsg")
@@ -209,11 +226,6 @@ class StateManager:
209
226
  if resp.res == DrvDevInfoResult.DRV_RESULT_SUC and resp.id == 1 and resp.type == 6:
210
227
  self._device.mower_state.swversion = resp.info
211
228
  self._device.device_firmwares.device_version = resp.info
212
- case "bidire_reqconver_path":
213
- work_settings: NavReqCoverPath = net_msg[1]
214
- self._device.work = CurrentTaskSettings.from_dict(
215
- work_settings.to_dict(casing=betterproto.Casing.SNAKE)
216
- )
217
229
 
218
230
  def _update_mul_data(self, message) -> None:
219
231
  pass
@@ -125,14 +125,6 @@ class MessageSystem(AbstractMessage, ABC):
125
125
  return self.messageNavigation.allpowerfull_rw_adapter_x3(rw_id, context, rw)
126
126
  build = MctlSys(bidire_comm_cmd=SysCommCmd(id=rw_id, context=context, rw=rw))
127
127
  logger.debug(f"Send command - 9 general read and write command id={rw_id}, context={context}, rw={rw}")
128
- if rw_id == 5:
129
- # TODO investigate if the original code makes any difference to this call.
130
- """
131
- LubaMsgOuterClass.LubaMsg.Builder protoBufBuilderSet = getProtoBufBuilderSet(LubaMsgOuterClass.MsgCmdType.EMBED_SYS, LubaMsgOuterClass.MsgDevice.DEV_MAINCTL, LubaMsgOuterClass.MsgAttr.REQ);
132
- protoBufBuilderSet.setSys(build);
133
- sendMsg(protoBufBuilderSet, 122, true, "发送指令--9通用读写命令id=" + i + ",context=" + i2 + ",rw=" + i3);
134
- """
135
- return self.send_order_msg_sys(build)
136
128
  return self.send_order_msg_sys(build)
137
129
 
138
130
  def traverse_mode(self, context: int) -> bytes:
@@ -145,8 +137,8 @@ class MessageSystem(AbstractMessage, ABC):
145
137
  def turning_mode(self, context: int) -> bytes:
146
138
  """Sets the traversal mode back to charger."""
147
139
  # setTurnAroundMode
148
- # 0 multipoint turn
149
- # 1 zero turn
140
+ # 0 zero turn
141
+ # 1 multipoint turn
150
142
  return self.allpowerfull_rw(6, context, 1)
151
143
 
152
144
  # Commented out as not needed and too many refs to try fix up
@@ -262,8 +262,11 @@ class MammotionBaseDevice:
262
262
 
263
263
  async def async_read_settings(self) -> None:
264
264
  """Read settings from device."""
265
+ # no cutting in rain nav_sys_param_cmd (id 3 context 1/0)
265
266
  await self.queue_command("allpowerfull_rw", rw_id=3, context=1, rw=0)
267
+ # ??
266
268
  await self.queue_command("allpowerfull_rw", rw_id=4, context=1, rw=0)
269
+ # turning mode nav_sys_param_cmd (id 6, context 1/0)
267
270
  await self.queue_command("allpowerfull_rw", rw_id=6, context=1, rw=0)
268
271
  # traversal mode
269
272
  await self.queue_command("allpowerfull_rw", rw_id=7, context=1, rw=0)
@@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"
4
4
 
5
5
  [project]
6
6
  name = "pymammotion"
7
- version = "0.4.45"
7
+ version = "0.4.47"
8
8
  license = "GPL-3.0"
9
9
  description = ""
10
10
  readme = "README.md"
@@ -66,7 +66,7 @@ autotyping = "^24.3.0"
66
66
  ipython = "^9.0.2"
67
67
 
68
68
  [tool.bumpver]
69
- current_version = "0.4.45"
69
+ current_version = "0.4.47"
70
70
  version_pattern = "MAJOR.MINOR.PATCH"
71
71
  commit_message = "Bump version {old_version} -> {new_version}"
72
72
  commit = true
File without changes
File without changes