pymammotion 0.2.73__tar.gz → 0.2.75__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 (125) hide show
  1. {pymammotion-0.2.73 → pymammotion-0.2.75}/PKG-INFO +1 -1
  2. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/bluetooth/ble.py +3 -1
  3. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/model/device_config.py +8 -12
  4. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/model/generate_route_information.py +1 -1
  5. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/model/mowing_modes.py +2 -2
  6. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/mqtt/event.py +1 -1
  7. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/devices/mammotion_bluetooth.py +1 -1
  8. {pymammotion-0.2.73 → pymammotion-0.2.75}/pyproject.toml +3 -3
  9. {pymammotion-0.2.73 → pymammotion-0.2.75}/LICENSE +0 -0
  10. {pymammotion-0.2.73 → pymammotion-0.2.75}/README.md +0 -0
  11. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/__init__.py +0 -0
  12. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/aliyun/__init__.py +0 -0
  13. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/aliyun/cloud_gateway.py +0 -0
  14. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/aliyun/cloud_service.py +0 -0
  15. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/aliyun/model/aep_response.py +0 -0
  16. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/aliyun/model/connect_response.py +0 -0
  17. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/aliyun/model/dev_by_account_response.py +0 -0
  18. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/aliyun/model/login_by_oauth_response.py +0 -0
  19. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/aliyun/model/regions_response.py +0 -0
  20. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/aliyun/model/session_by_authcode_response.py +0 -0
  21. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/aliyun/model/stream_subscription_response.py +0 -0
  22. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/aliyun/tmp_constant.py +0 -0
  23. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/bluetooth/__init__.py +0 -0
  24. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/bluetooth/ble_message.py +0 -0
  25. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/bluetooth/const.py +0 -0
  26. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/bluetooth/data/__init__.py +0 -0
  27. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/bluetooth/data/convert.py +0 -0
  28. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/bluetooth/data/framectrldata.py +0 -0
  29. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/bluetooth/data/notifydata.py +0 -0
  30. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/const.py +0 -0
  31. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/__init__.py +0 -0
  32. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/model/__init__.py +0 -0
  33. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/model/account.py +0 -0
  34. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/model/device.py +0 -0
  35. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/model/device_info.py +0 -0
  36. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/model/enums.py +0 -0
  37. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/model/excute_boarder_params.py +0 -0
  38. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/model/execute_boarder.py +0 -0
  39. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/model/hash_list.py +0 -0
  40. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/model/location.py +0 -0
  41. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/model/plan.py +0 -0
  42. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/model/rapid_state.py +0 -0
  43. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/model/region_data.py +0 -0
  44. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/model/report_info.py +0 -0
  45. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/mqtt/__init__.py +0 -0
  46. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/mqtt/properties.py +0 -0
  47. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/mqtt/status.py +0 -0
  48. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/data/state_manager.py +0 -0
  49. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/event/__init__.py +0 -0
  50. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/event/event.py +0 -0
  51. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/http/_init_.py +0 -0
  52. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/http/http.py +0 -0
  53. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/http/model/http.py +0 -0
  54. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/__init__.py +0 -0
  55. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/commands/__init__.py +0 -0
  56. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/commands/abstract_message.py +0 -0
  57. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/commands/mammotion_command.py +2 -2
  58. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/commands/messages/__init__.py +0 -0
  59. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/commands/messages/driver.py +0 -0
  60. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/commands/messages/media.py +0 -0
  61. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/commands/messages/navigation.py +0 -0
  62. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/commands/messages/network.py +0 -0
  63. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/commands/messages/ota.py +0 -0
  64. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/commands/messages/system.py +0 -0
  65. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/commands/messages/video.py +0 -0
  66. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/control/__init__.py +0 -0
  67. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/control/joystick.py +0 -0
  68. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/devices/__init__.py +0 -0
  69. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/devices/base.py +0 -0
  70. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/devices/mammotion.py +0 -0
  71. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mammotion/devices/mammotion_cloud.py +0 -0
  72. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mqtt/__init__.py +0 -0
  73. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mqtt/mammotion_future.py +0 -0
  74. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/mqtt/mammotion_mqtt.py +0 -0
  75. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/__init__.py +0 -0
  76. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/basestation.proto +0 -0
  77. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/basestation.py +0 -0
  78. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/basestation_pb2.py +0 -0
  79. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/basestation_pb2.pyi +0 -0
  80. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/common.proto +0 -0
  81. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/common.py +0 -0
  82. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/common_pb2.py +0 -0
  83. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/common_pb2.pyi +0 -0
  84. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/dev_net.proto +0 -0
  85. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/dev_net.py +0 -0
  86. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/dev_net_pb2.py +0 -0
  87. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/dev_net_pb2.pyi +0 -0
  88. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/luba_msg.proto +0 -0
  89. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/luba_msg.py +0 -0
  90. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/luba_msg_pb2.py +0 -0
  91. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/luba_msg_pb2.pyi +0 -0
  92. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/luba_mul.proto +0 -0
  93. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/luba_mul.py +0 -0
  94. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/luba_mul_pb2.py +0 -0
  95. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/luba_mul_pb2.pyi +0 -0
  96. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_driver.proto +0 -0
  97. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_driver.py +0 -0
  98. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_driver_pb2.py +0 -0
  99. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_driver_pb2.pyi +0 -0
  100. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_nav.proto +0 -0
  101. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_nav.py +0 -0
  102. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_nav_pb2.py +0 -0
  103. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_nav_pb2.pyi +0 -0
  104. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_ota.proto +0 -0
  105. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_ota.py +0 -0
  106. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_ota_pb2.py +0 -0
  107. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_ota_pb2.pyi +0 -0
  108. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_pept.proto +0 -0
  109. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_pept.py +0 -0
  110. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_pept_pb2.py +0 -0
  111. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_pept_pb2.pyi +0 -0
  112. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_sys.proto +0 -0
  113. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_sys.py +0 -0
  114. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_sys_pb2.py +0 -0
  115. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/proto/mctrl_sys_pb2.pyi +0 -0
  116. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/py.typed +0 -0
  117. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/utility/constant/__init__.py +0 -0
  118. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/utility/constant/device_constant.py +0 -0
  119. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/utility/conversions.py +0 -0
  120. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/utility/datatype_converter.py +0 -0
  121. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/utility/device_type.py +0 -0
  122. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/utility/map.py +0 -0
  123. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/utility/movement.py +0 -0
  124. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/utility/periodic.py +0 -0
  125. {pymammotion-0.2.73 → pymammotion-0.2.75}/pymammotion/utility/rocker_util.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pymammotion
3
- Version: 0.2.73
3
+ Version: 0.2.75
4
4
  Summary:
5
5
  License: GNU-3.0
6
6
  Author: Michael Arthur
@@ -21,7 +21,9 @@ class MammotionBLE:
21
21
  # TODO: do something with incoming data
22
22
  print(device)
23
23
  print(advertising_data)
24
- if advertising_data.local_name and ("Luba-" in advertising_data.local_name or "Yuka-" in advertising_data.local_name):
24
+ if advertising_data.local_name and (
25
+ "Luba-" in advertising_data.local_name or "Yuka-" in advertising_data.local_name
26
+ ):
25
27
  return True
26
28
  return False
27
29
 
@@ -36,33 +36,29 @@ class OperationSettings(DataClassORJSONMixin):
36
36
  toward: int = 0 # is just angle
37
37
  toward_included_angle: int = 90
38
38
  toward_mode: int = 0 # angle type relative etc
39
- border_mode: int = 1 # border laps
39
+ border_mode: int = 1
40
40
  obstacle_laps: int = 1
41
- mowing_laps: int = 1
41
+ mowing_laps: int = 1 # border laps
42
42
  start_progress: int = 0
43
43
  areas: list[int] = field(default_factory=list)
44
44
 
45
45
 
46
46
  def create_path_order(operation_mode: OperationSettings, device_name: str) -> str:
47
- i = 8
47
+ # TODO add scheduling logic from getReserved() WorkSettingViewModel.java
48
+ i2 = 0
48
49
  bArr = bytearray(8)
49
50
  bArr[0] = operation_mode.border_mode
50
51
  bArr[1] = operation_mode.obstacle_laps
51
52
  bArr[3] = int(operation_mode.start_progress)
52
53
  bArr[2] = 0
53
-
54
54
  if not DeviceType.is_luba1(device_name):
55
55
  bArr[4] = 0
56
56
  if DeviceType.is_yuka(device_name):
57
- i = calculate_yuka_mode(operation_mode)
58
- elif not DeviceType.is_luba_2(device_name):
59
- i = 0
60
- bArr[5] = i
61
- if operation_mode.is_dump:
62
- b = int(operation_mode.collect_grass_frequency)
57
+ bArr[5] = calculate_yuka_mode(operation_mode)
63
58
  else:
64
- b = 10
65
- bArr[6] = b
59
+ bArr[5] = 8 if DeviceType.is_luba_2(device_name) else 0
60
+
61
+ bArr[6] = int(operation_mode.collect_grass_frequency) if operation_mode.is_dump else 10
66
62
  if DeviceType.is_luba1(device_name):
67
63
  bArr[4] = operation_mode.toward_mode
68
64
  return bArr.decode()
@@ -10,7 +10,7 @@ class GenerateRouteInformation:
10
10
  """Creates a model for generating route information and mowing plan before starting a job."""
11
11
 
12
12
  one_hashs: list[int] = list
13
- job_mode: int = 0 # taskMode
13
+ job_mode: int = 4 # taskMode
14
14
  job_version: int = 0
15
15
  job_id: int = 0
16
16
  speed: float = 0.3
@@ -33,8 +33,8 @@ class ObstacleLapsMode(IntEnum):
33
33
  class MowOrder(IntEnum):
34
34
  """path_order"""
35
35
 
36
- border_first = 0
37
- grid_first = 1
36
+ grid_first = 0
37
+ border_first = 1
38
38
 
39
39
 
40
40
  class BypassStrategy(IntEnum):
@@ -75,7 +75,7 @@ class DeviceBizReqEventValue(DataClassORJSONMixin):
75
75
  class GeneralParams(DataClassORJSONMixin):
76
76
  groupIdList: list[str]
77
77
  groupId: str
78
- categoryKey: Literal["LawnMower"]
78
+ categoryKey: Literal["LawnMower", "Tracker"]
79
79
  batchId: str
80
80
  gmtCreate: int
81
81
  productKey: str
@@ -322,7 +322,7 @@ class MammotionBaseBLEDevice(MammotionBaseDevice):
322
322
  self._update_raw_data(data)
323
323
  except (KeyError, ValueError, IndexError, UnicodeDecodeError):
324
324
  _LOGGER.exception("Error parsing message %s", data)
325
- data = b''
325
+ data = b""
326
326
  finally:
327
327
  self._message.clearNotification()
328
328
 
@@ -1,10 +1,10 @@
1
1
  [project]
2
2
  name = "pymammotion"
3
- version = "0.2.73"
3
+ version = "0.2.75"
4
4
 
5
5
  [tool.poetry]
6
6
  name = "pymammotion"
7
- version = "0.2.73"
7
+ version = "0.2.75"
8
8
  license = "GNU-3.0"
9
9
  description = ""
10
10
  readme = "README.md"
@@ -61,7 +61,7 @@ mypy = "^1.11.2"
61
61
  autotyping = "^24.3.0"
62
62
 
63
63
  [tool.bumpver]
64
- current_version = "0.2.73"
64
+ current_version = "0.2.75"
65
65
  version_pattern = "MAJOR.MINOR.PATCH"
66
66
  commit_message = "Bump version {old_version} -> {new_version}"
67
67
  commit = true
File without changes
File without changes
@@ -42,11 +42,11 @@ class MammotionCommand(
42
42
  def move_left(self, angular: float) -> bytes:
43
43
  """Move forward. values 0.0 1.0."""
44
44
  angular_percent = get_percent(abs(angular * 100))
45
- (linear_speed, angular_speed) = transform_both_speeds(0.0, 0.0, 0.0, angular_percent)
45
+ (linear_speed, angular_speed) = transform_both_speeds(0.0, 180.0, 0.0, angular_percent)
46
46
  return self.send_movement(linear_speed=linear_speed, angular_speed=angular_speed)
47
47
 
48
48
  def move_right(self, angular: float) -> bytes:
49
49
  """Move back. values 0.0 1.0."""
50
50
  angular_percent = get_percent(abs(angular * 100))
51
- (linear_speed, angular_speed) = transform_both_speeds(0.0, 180.0, 0.0, angular_percent)
51
+ (linear_speed, angular_speed) = transform_both_speeds(0.0, 0.0, 0.0, angular_percent)
52
52
  return self.send_movement(linear_speed=linear_speed, angular_speed=angular_speed)