pymammotion 0.4.46__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.46 → pymammotion-0.4.47}/PKG-INFO +1 -1
  2. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/data/model/device.py +9 -9
  3. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/data/model/device_info.py +5 -0
  4. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/data/model/mowing_modes.py +2 -2
  5. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/data/state_manager.py +11 -0
  6. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/mammotion/commands/messages/system.py +2 -10
  7. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/mammotion/devices/base.py +3 -0
  8. {pymammotion-0.4.46 → pymammotion-0.4.47}/pyproject.toml +2 -2
  9. {pymammotion-0.4.46 → pymammotion-0.4.47}/LICENSE +0 -0
  10. {pymammotion-0.4.46 → pymammotion-0.4.47}/README.md +0 -0
  11. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/__init__.py +0 -0
  12. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/aliyun/__init__.py +0 -0
  13. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/aliyun/client.py +0 -0
  14. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/aliyun/cloud_gateway.py +0 -0
  15. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/aliyun/model/aep_response.py +0 -0
  16. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/aliyun/model/connect_response.py +0 -0
  17. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/aliyun/model/dev_by_account_response.py +0 -0
  18. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/aliyun/model/login_by_oauth_response.py +0 -0
  19. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/aliyun/model/regions_response.py +0 -0
  20. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/aliyun/model/session_by_authcode_response.py +0 -0
  21. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/aliyun/regions.py +0 -0
  22. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/aliyun/tea/core.py +0 -0
  23. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/aliyun/tmp_constant.py +0 -0
  24. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/bluetooth/__init__.py +0 -0
  25. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/bluetooth/ble.py +0 -0
  26. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/bluetooth/ble_message.py +0 -0
  27. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/bluetooth/const.py +0 -0
  28. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/bluetooth/data/__init__.py +0 -0
  29. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/bluetooth/data/convert.py +0 -0
  30. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/bluetooth/data/framectrldata.py +0 -0
  31. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/bluetooth/data/notifydata.py +0 -0
  32. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/bluetooth/model/__init__.py +0 -0
  33. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/bluetooth/model/atomic_integer.py +0 -0
  34. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/const.py +0 -0
  35. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/data/__init__.py +0 -0
  36. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/data/model/__init__.py +0 -0
  37. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/data/model/account.py +0 -0
  38. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/data/model/device_config.py +0 -0
  39. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/data/model/device_limits.py +0 -0
  40. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/data/model/enums.py +0 -0
  41. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/data/model/excute_boarder_params.py +0 -0
  42. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/data/model/execute_boarder.py +0 -0
  43. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/data/model/generate_route_information.py +0 -0
  44. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/data/model/hash_list.py +0 -0
  45. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/data/model/location.py +0 -0
  46. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/data/model/rapid_state.py +0 -0
  47. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/data/model/raw_data.py +0 -0
  48. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/data/model/region_data.py +0 -0
  49. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/data/model/report_info.py +0 -0
  50. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/data/model/work.py +0 -0
  51. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/data/mqtt/__init__.py +0 -0
  52. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/data/mqtt/event.py +0 -0
  53. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/data/mqtt/properties.py +0 -0
  54. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/data/mqtt/status.py +0 -0
  55. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/event/__init__.py +0 -0
  56. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/event/event.py +0 -0
  57. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/http/__init__.py +0 -0
  58. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/http/_init_.py +0 -0
  59. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/http/encryption.py +0 -0
  60. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/http/http.py +0 -0
  61. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/http/model/__init__.py +0 -0
  62. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/http/model/camera_stream.py +0 -0
  63. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/http/model/http.py +0 -0
  64. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/mammotion/__init__.py +0 -0
  65. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/mammotion/commands/__init__.py +0 -0
  66. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/mammotion/commands/abstract_message.py +0 -0
  67. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/mammotion/commands/mammotion_command.py +0 -0
  68. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/mammotion/commands/messages/__init__.py +0 -0
  69. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/mammotion/commands/messages/driver.py +0 -0
  70. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/mammotion/commands/messages/media.py +0 -0
  71. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/mammotion/commands/messages/navigation.py +0 -0
  72. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/mammotion/commands/messages/network.py +0 -0
  73. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/mammotion/commands/messages/ota.py +0 -0
  74. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/mammotion/commands/messages/video.py +0 -0
  75. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/mammotion/control/__init__.py +0 -0
  76. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/mammotion/control/joystick.py +0 -0
  77. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/mammotion/devices/__init__.py +0 -0
  78. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/mammotion/devices/mammotion.py +0 -0
  79. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/mammotion/devices/mammotion_bluetooth.py +0 -0
  80. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/mammotion/devices/mammotion_cloud.py +0 -0
  81. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/mqtt/__init__.py +0 -0
  82. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/mqtt/linkkit/__init__.py +0 -0
  83. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/mqtt/linkkit/h2client.py +0 -0
  84. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/mqtt/linkkit/linkkit.py +0 -0
  85. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/mqtt/mammotion_future.py +0 -0
  86. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/mqtt/mammotion_mqtt.py +0 -0
  87. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/proto/__init__.py +0 -0
  88. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/proto/basestation.proto +0 -0
  89. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/proto/basestation_pb2.py +0 -0
  90. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/proto/basestation_pb2.pyi +0 -0
  91. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/proto/common.proto +0 -0
  92. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/proto/common_pb2.py +0 -0
  93. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/proto/common_pb2.pyi +0 -0
  94. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/proto/dev_net.proto +0 -0
  95. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/proto/dev_net_pb2.py +0 -0
  96. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/proto/dev_net_pb2.pyi +0 -0
  97. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/proto/luba_msg.proto +0 -0
  98. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/proto/luba_msg_pb2.py +0 -0
  99. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/proto/luba_msg_pb2.pyi +0 -0
  100. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/proto/luba_mul.proto +0 -0
  101. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/proto/luba_mul_pb2.py +0 -0
  102. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/proto/luba_mul_pb2.pyi +0 -0
  103. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/proto/mctrl_driver.proto +0 -0
  104. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/proto/mctrl_driver_pb2.py +0 -0
  105. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/proto/mctrl_driver_pb2.pyi +0 -0
  106. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/proto/mctrl_nav.proto +0 -0
  107. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/proto/mctrl_nav_pb2.py +0 -0
  108. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/proto/mctrl_nav_pb2.pyi +0 -0
  109. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/proto/mctrl_ota.proto +0 -0
  110. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/proto/mctrl_ota_pb2.py +0 -0
  111. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/proto/mctrl_ota_pb2.pyi +0 -0
  112. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/proto/mctrl_pept.proto +0 -0
  113. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/proto/mctrl_pept_pb2.py +0 -0
  114. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/proto/mctrl_pept_pb2.pyi +0 -0
  115. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/proto/mctrl_sys.proto +0 -0
  116. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/proto/mctrl_sys_pb2.py +0 -0
  117. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/proto/mctrl_sys_pb2.pyi +0 -0
  118. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/py.typed +0 -0
  119. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/utility/constant/__init__.py +0 -0
  120. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/utility/constant/device_constant.py +0 -0
  121. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/utility/conversions.py +0 -0
  122. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/utility/datatype_converter.py +0 -0
  123. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/utility/device_config.py +0 -0
  124. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/utility/device_type.py +0 -0
  125. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/utility/map.py +0 -0
  126. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/utility/movement.py +0 -0
  127. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/utility/mur_mur_hash.py +0 -0
  128. {pymammotion-0.4.46 → pymammotion-0.4.47}/pymammotion/utility/periodic.py +0 -0
  129. {pymammotion-0.4.46 → 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.46
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()
@@ -99,13 +101,11 @@ class MowingDevice(DataClassORJSONMixin):
99
101
  # if loc.bol_hash:
100
102
  # if loc.bol_hash != location.bol_hash:
101
103
  # self.map = HashList()
102
- #MurMurHashUtil.hash_unsigned_list(list(self.map.area.keys()))
104
+ # MurMurHashUtil.hash_unsigned_list(list(self.map.area.keys()))
103
105
 
104
106
  if toapp_report_data.fw_info:
105
107
  self.update_device_firmwares(toapp_report_data.fw_info)
106
108
 
107
-
108
-
109
109
  self.report_data.update(toapp_report_data.to_dict(casing=betterproto.Casing.SNAKE))
110
110
 
111
111
  def run_state_update(self, rapid_state: SystemRapidStateTunnelMsg) -> None:
@@ -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,
@@ -173,6 +175,15 @@ class StateManager:
173
175
  self._device.work = CurrentTaskSettings.from_dict(
174
176
  work_settings.to_dict(casing=betterproto.Casing.SNAKE)
175
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)
176
187
 
177
188
  def _update_sys_data(self, message) -> None:
178
189
  """Update system."""
@@ -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.46"
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.46"
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