meshcore 2.2.28__tar.gz → 2.2.30__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 (68) hide show
  1. {meshcore-2.2.28 → meshcore-2.2.30}/PKG-INFO +1 -1
  2. {meshcore-2.2.28 → meshcore-2.2.30}/pyproject.toml +1 -1
  3. {meshcore-2.2.28 → meshcore-2.2.30}/src/meshcore/commands/contact.py +6 -4
  4. {meshcore-2.2.28 → meshcore-2.2.30}/.github/python-test.yml +0 -0
  5. {meshcore-2.2.28 → meshcore-2.2.30}/.gitignore +0 -0
  6. {meshcore-2.2.28 → meshcore-2.2.30}/LICENSE +0 -0
  7. {meshcore-2.2.28 → meshcore-2.2.30}/README.md +0 -0
  8. {meshcore-2.2.28 → meshcore-2.2.30}/examples/.pubsub_example.py.swp +0 -0
  9. {meshcore-2.2.28 → meshcore-2.2.30}/examples/ble_chat.py +0 -0
  10. {meshcore-2.2.28 → meshcore-2.2.30}/examples/ble_pin_pairing_example.py +0 -0
  11. {meshcore-2.2.28 → meshcore-2.2.30}/examples/ble_private_key_export.py +0 -0
  12. {meshcore-2.2.28 → meshcore-2.2.30}/examples/ble_sign_example.py +0 -0
  13. {meshcore-2.2.28 → meshcore-2.2.30}/examples/ble_stats.py +0 -0
  14. {meshcore-2.2.28 → meshcore-2.2.30}/examples/ble_t1000_chan_msg.py +0 -0
  15. {meshcore-2.2.28 → meshcore-2.2.30}/examples/ble_t1000_custom_vars.py +0 -0
  16. {meshcore-2.2.28 → meshcore-2.2.30}/examples/ble_t1000_infos.py +0 -0
  17. {meshcore-2.2.28 → meshcore-2.2.30}/examples/ble_t1000_msg.py +0 -0
  18. {meshcore-2.2.28 → meshcore-2.2.30}/examples/ble_t1000_msg_retries.py +0 -0
  19. {meshcore-2.2.28 → meshcore-2.2.30}/examples/ble_t1000_set_cv.py +0 -0
  20. {meshcore-2.2.28 → meshcore-2.2.30}/examples/chan_recv_with_path.py +0 -0
  21. {meshcore-2.2.28 → meshcore-2.2.30}/examples/connection_events_example.py +0 -0
  22. {meshcore-2.2.28 → meshcore-2.2.30}/examples/mepo_mc_gps.py +0 -0
  23. {meshcore-2.2.28 → meshcore-2.2.30}/examples/pubsub_example.py +0 -0
  24. {meshcore-2.2.28 → meshcore-2.2.30}/examples/rf_packet_monitor.py +0 -0
  25. {meshcore-2.2.28 → meshcore-2.2.30}/examples/serial_battery_monitor.py +0 -0
  26. {meshcore-2.2.28 → meshcore-2.2.30}/examples/serial_channel_manager.py +0 -0
  27. {meshcore-2.2.28 → meshcore-2.2.30}/examples/serial_chat.py +0 -0
  28. {meshcore-2.2.28 → meshcore-2.2.30}/examples/serial_contacts.py +0 -0
  29. {meshcore-2.2.28 → meshcore-2.2.30}/examples/serial_infos.py +0 -0
  30. {meshcore-2.2.28 → meshcore-2.2.30}/examples/serial_meshcore_ollama.py +0 -0
  31. {meshcore-2.2.28 → meshcore-2.2.30}/examples/serial_msg.py +0 -0
  32. {meshcore-2.2.28 → meshcore-2.2.30}/examples/serial_pingbot.py +0 -0
  33. {meshcore-2.2.28 → meshcore-2.2.30}/examples/serial_repeater_status.py +0 -0
  34. {meshcore-2.2.28 → meshcore-2.2.30}/examples/serial_repeater_telemetry.py +0 -0
  35. {meshcore-2.2.28 → meshcore-2.2.30}/examples/serial_rss_bot.py +0 -0
  36. {meshcore-2.2.28 → meshcore-2.2.30}/examples/serial_trace.py +0 -0
  37. {meshcore-2.2.28 → meshcore-2.2.30}/examples/tcp_chat.py +0 -0
  38. {meshcore-2.2.28 → meshcore-2.2.30}/examples/tcp_login_status.py +0 -0
  39. {meshcore-2.2.28 → meshcore-2.2.30}/examples/tcp_mchome_contacts.py +0 -0
  40. {meshcore-2.2.28 → meshcore-2.2.30}/examples/tcp_mchome_infos.py +0 -0
  41. {meshcore-2.2.28 → meshcore-2.2.30}/examples/tcp_mchome_msg.py +0 -0
  42. {meshcore-2.2.28 → meshcore-2.2.30}/examples/tcp_mchome_readmsgs.py +0 -0
  43. {meshcore-2.2.28 → meshcore-2.2.30}/pytest.ini +0 -0
  44. {meshcore-2.2.28 → meshcore-2.2.30}/src/meshcore/__init__.py +0 -0
  45. {meshcore-2.2.28 → meshcore-2.2.30}/src/meshcore/ble_cx.py +0 -0
  46. {meshcore-2.2.28 → meshcore-2.2.30}/src/meshcore/commands/__init__.py +0 -0
  47. {meshcore-2.2.28 → meshcore-2.2.30}/src/meshcore/commands/base.py +0 -0
  48. {meshcore-2.2.28 → meshcore-2.2.30}/src/meshcore/commands/binary.py +0 -0
  49. {meshcore-2.2.28 → meshcore-2.2.30}/src/meshcore/commands/control_data.py +0 -0
  50. {meshcore-2.2.28 → meshcore-2.2.30}/src/meshcore/commands/device.py +0 -0
  51. {meshcore-2.2.28 → meshcore-2.2.30}/src/meshcore/commands/messaging.py +0 -0
  52. {meshcore-2.2.28 → meshcore-2.2.30}/src/meshcore/connection_manager.py +0 -0
  53. {meshcore-2.2.28 → meshcore-2.2.30}/src/meshcore/events.py +0 -0
  54. {meshcore-2.2.28 → meshcore-2.2.30}/src/meshcore/lpp_json_encoder.py +0 -0
  55. {meshcore-2.2.28 → meshcore-2.2.30}/src/meshcore/meshcore.py +0 -0
  56. {meshcore-2.2.28 → meshcore-2.2.30}/src/meshcore/packets.py +0 -0
  57. {meshcore-2.2.28 → meshcore-2.2.30}/src/meshcore/parsing.py +0 -0
  58. {meshcore-2.2.28 → meshcore-2.2.30}/src/meshcore/reader.py +0 -0
  59. {meshcore-2.2.28 → meshcore-2.2.30}/src/meshcore/serial_cx.py +0 -0
  60. {meshcore-2.2.28 → meshcore-2.2.30}/src/meshcore/tcp_cx.py +0 -0
  61. {meshcore-2.2.28 → meshcore-2.2.30}/tests/README.md +0 -0
  62. {meshcore-2.2.28 → meshcore-2.2.30}/tests/test_ble_connection.py +0 -0
  63. {meshcore-2.2.28 → meshcore-2.2.30}/tests/test_ble_pin_pairing.py +0 -0
  64. {meshcore-2.2.28 → meshcore-2.2.30}/tests/test_meshcore_ble_pin.py +0 -0
  65. {meshcore-2.2.28 → meshcore-2.2.30}/tests/unit/test_commands.py +0 -0
  66. {meshcore-2.2.28 → meshcore-2.2.30}/tests/unit/test_events.py +0 -0
  67. {meshcore-2.2.28 → meshcore-2.2.30}/tests/unit/test_private_key_export.py +0 -0
  68. {meshcore-2.2.28 → meshcore-2.2.30}/tests/unit/test_reader.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: meshcore
3
- Version: 2.2.28
3
+ Version: 2.2.30
4
4
  Summary: Base classes for communicating with meshcore companion radios
5
5
  Project-URL: Homepage, https://github.com/fdlamotte/meshcore_py
6
6
  Project-URL: Issues, https://github.com/fdlamotte/meshcore_py/issues
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "meshcore"
7
- version = "2.2.28"
7
+ version = "2.2.30"
8
8
  authors = [
9
9
  { name="Florent de Lamotte", email="florent@frizoncorrea.fr" },
10
10
  { name="Alex Wolden", email="awolden@gmail.com" },
@@ -120,7 +120,9 @@ class ContactCommands(CommandHandlerBase):
120
120
  res = await self.send_device_query()
121
121
  if not res is None and res.type != EventType.ERROR:
122
122
  if "path_hash_mode" in res.payload:
123
- path_hash_size = res.payload["path_hash_mode"] + 1
123
+ path_hash_mode = res.payload["path_hash_mode"]
124
+ else:
125
+ path_hash_mode = 0
124
126
  else:
125
127
  if ":" in path: # remove as it has been specified in args
126
128
  path = path.split(":")[0].replace(":","")
@@ -134,7 +136,7 @@ class ContactCommands(CommandHandlerBase):
134
136
  logger.debug(f"Setting {contact['adv_name']} path to {out_path_hex} with mode {out_path_hash_mode}")
135
137
 
136
138
  # reflect the change
137
- contact["out_path_hash_mode"] = path_hash_mode
139
+ contact["out_path_hash_mode"] = out_path_hash_mode
138
140
  contact["out_path"] = out_path_hex
139
141
  contact["out_path_len"] = out_path_len
140
142
 
@@ -142,7 +144,7 @@ class ContactCommands(CommandHandlerBase):
142
144
  if out_path_len == -1: # path did not change and contact was flood
143
145
  out_path_len = 255 # we are signed
144
146
  else:
145
- out_path_len = out_path_len | (path_hash_mode << 6)
147
+ out_path_len = out_path_len | (out_path_hash_mode << 6)
146
148
 
147
149
  if flags is None:
148
150
  flags = contact["flags"]
@@ -170,7 +172,7 @@ class ContactCommands(CommandHandlerBase):
170
172
  return await self.update_contact(contact)
171
173
 
172
174
  async def change_contact_path(self, contact, path, path_hash_mode=None) -> Event:
173
- return await self.update_contact(contact, path, path_hash_mode)
175
+ return await self.update_contact(contact, path, path_hash_mode=path_hash_mode)
174
176
 
175
177
  async def change_contact_flags(self, contact, flags) -> Event:
176
178
  return await self.update_contact(contact, flags=flags)
File without changes
File without changes
File without changes
File without changes
File without changes