mirror of
https://github.com/meshcore-dev/meshcore_py.git
synced 2026-06-11 11:56:18 +00:00
support adv loc policy
This commit is contained in:
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "meshcore"
|
name = "meshcore"
|
||||||
version = "1.9.13"
|
version = "1.9.14"
|
||||||
authors = [
|
authors = [
|
||||||
{ name="Florent de Lamotte", email="florent@frizoncorrea.fr" },
|
{ name="Florent de Lamotte", email="florent@frizoncorrea.fr" },
|
||||||
{ name="Alex Wolden", email="awolden@gmail.com" },
|
{ name="Alex Wolden", email="awolden@gmail.com" },
|
||||||
|
|||||||
@@ -196,9 +196,9 @@ class CommandHandler:
|
|||||||
+ int(0).to_bytes(1, 'little')\
|
+ int(0).to_bytes(1, 'little')\
|
||||||
+ int(0).to_bytes(1, 'little'), [EventType.OK, EventType.ERROR])
|
+ int(0).to_bytes(1, 'little'), [EventType.OK, EventType.ERROR])
|
||||||
|
|
||||||
async def set_other_params(self, manual_add_contacts : bool, telemetry_mode_base : int, telemetry_mode_loc : int, telemetry_mode_env : int) :
|
async def set_other_params(self, manual_add_contacts : bool, telemetry_mode_base : int, telemetry_mode_loc : int, telemetry_mode_env : int, advert_loc_policy : int) :
|
||||||
telemetry_mode = (telemetry_mode_base & 0b11) | ((telemetry_mode_loc & 0b11) << 2) | ((telemetry_mode_env & 0b11) << 4)
|
telemetry_mode = (telemetry_mode_base & 0b11) | ((telemetry_mode_loc & 0b11) << 2) | ((telemetry_mode_env & 0b11) << 4)
|
||||||
data = b"\x26" + manual_add_contacts.to_bytes(1) + telemetry_mode.to_bytes(1)
|
data = b"\x26" + manual_add_contacts.to_bytes(1) + telemetry_mode.to_bytes(1) + advert_loc_policy.to_bytes(1)
|
||||||
return await self.send(data, [EventType.OK, EventType.ERROR])
|
return await self.send(data, [EventType.OK, EventType.ERROR])
|
||||||
|
|
||||||
async def set_telemetry_mode_base(self, telemetry_mode_base : int) :
|
async def set_telemetry_mode_base(self, telemetry_mode_base : int) :
|
||||||
@@ -207,7 +207,8 @@ class CommandHandler:
|
|||||||
infos["manual_add_contacts"],
|
infos["manual_add_contacts"],
|
||||||
telemetry_mode_base,
|
telemetry_mode_base,
|
||||||
infos["telemetry_mode_loc"],
|
infos["telemetry_mode_loc"],
|
||||||
infos["telemetry_mode_env"])
|
infos["telemetry_mode_env"],
|
||||||
|
infos["advert_loc_policy"])
|
||||||
|
|
||||||
async def set_telemetry_mode_loc(self, telemetry_mode_loc : int) :
|
async def set_telemetry_mode_loc(self, telemetry_mode_loc : int) :
|
||||||
infos = (await self.send_appstart()).payload
|
infos = (await self.send_appstart()).payload
|
||||||
@@ -215,7 +216,8 @@ class CommandHandler:
|
|||||||
infos["manual_add_contacts"],
|
infos["manual_add_contacts"],
|
||||||
infos["telemetry_mode_base"],
|
infos["telemetry_mode_base"],
|
||||||
telemetry_mode_loc,
|
telemetry_mode_loc,
|
||||||
infos["telemetry_mode_env"])
|
infos["telemetry_mode_env"],
|
||||||
|
infos["advert_loc_policy"])
|
||||||
|
|
||||||
async def set_telemetry_mode_env(self, telemetry_mode_env : int) :
|
async def set_telemetry_mode_env(self, telemetry_mode_env : int) :
|
||||||
infos = (await self.send_appstart()).payload
|
infos = (await self.send_appstart()).payload
|
||||||
@@ -223,7 +225,8 @@ class CommandHandler:
|
|||||||
infos["manual_add_contacts"],
|
infos["manual_add_contacts"],
|
||||||
infos["telemetry_mode_base"],
|
infos["telemetry_mode_base"],
|
||||||
infos["telemetry_mode_loc"],
|
infos["telemetry_mode_loc"],
|
||||||
telemetry_mode_env)
|
telemetry_mode_env,
|
||||||
|
infos["advert_loc_policy"])
|
||||||
|
|
||||||
async def set_manual_add_contacts(self, manual_add_contacts:bool) :
|
async def set_manual_add_contacts(self, manual_add_contacts:bool) :
|
||||||
infos = (await self.send_appstart()).payload
|
infos = (await self.send_appstart()).payload
|
||||||
@@ -231,7 +234,17 @@ class CommandHandler:
|
|||||||
manual_add_contacts,
|
manual_add_contacts,
|
||||||
infos["telemetry_mode_base"],
|
infos["telemetry_mode_base"],
|
||||||
infos["telemetry_mode_loc"],
|
infos["telemetry_mode_loc"],
|
||||||
infos["telemetry_mode_env"])
|
infos["telemetry_mode_env"],
|
||||||
|
infos["advert_loc_policy"])
|
||||||
|
|
||||||
|
async def set_advert_loc_policy(self, advert_loc_policy:int) :
|
||||||
|
infos = (await self.send_appstart()).payload
|
||||||
|
return await self.set_other_params(
|
||||||
|
infos["manual_add_contacts"],
|
||||||
|
infos["telemetry_mode_base"],
|
||||||
|
infos["telemetry_mode_loc"],
|
||||||
|
infos["telemetry_mode_env"],
|
||||||
|
advert_loc_policy)
|
||||||
|
|
||||||
async def set_devicepin(self, pin: int) -> Event:
|
async def set_devicepin(self, pin: int) -> Event:
|
||||||
logger.debug(f"Setting device PIN to: {pin}")
|
logger.debug(f"Setting device PIN to: {pin}")
|
||||||
|
|||||||
@@ -74,6 +74,7 @@ class MessageReader:
|
|||||||
self_info["public_key"] = data[4:36].hex()
|
self_info["public_key"] = data[4:36].hex()
|
||||||
self_info["adv_lat"] = int.from_bytes(data[36:40], byteorder='little', signed=True)/1e6
|
self_info["adv_lat"] = int.from_bytes(data[36:40], byteorder='little', signed=True)/1e6
|
||||||
self_info["adv_lon"] = int.from_bytes(data[40:44], byteorder='little', signed=True)/1e6
|
self_info["adv_lon"] = int.from_bytes(data[40:44], byteorder='little', signed=True)/1e6
|
||||||
|
self_info["adv_loc_policy"] = data[45]
|
||||||
self_info["telemetry_mode_env"] = (data[46] >> 4) & 0b11
|
self_info["telemetry_mode_env"] = (data[46] >> 4) & 0b11
|
||||||
self_info["telemetry_mode_loc"] = (data[46] >> 2) & 0b11
|
self_info["telemetry_mode_loc"] = (data[46] >> 2) & 0b11
|
||||||
self_info["telemetry_mode_base"] = (data[46]) & 0b11
|
self_info["telemetry_mode_base"] = (data[46]) & 0b11
|
||||||
|
|||||||
Reference in New Issue
Block a user