From 9cd832813063e309c9155f7c7346d21abde6e60d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laura=20Kl=C3=BCnder?= Date: Sun, 26 Nov 2023 02:40:44 +0100 Subject: [PATCH] =?UTF-8?q?some=20fixes=20in=20the=20mesh=20messages=20cod?= =?UTF-8?q?e=E2=80=A6=20it'S=202:40am=20i=20don'T=20remember=20what?= =?UTF-8?q?=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/c3nav/mesh/baseformats.py | 2 +- src/c3nav/mesh/messages.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/c3nav/mesh/baseformats.py b/src/c3nav/mesh/baseformats.py index 022a1908..035794ff 100644 --- a/src/c3nav/mesh/baseformats.py +++ b/src/c3nav/mesh/baseformats.py @@ -195,7 +195,7 @@ class ChipRevFormat(SimpleFormat): def __init__(self): super().__init__('H') - def decode(self, data: bytes) -> tuple[bool, bytes]: + def decode(self, data: bytes) -> tuple[tuple[int,int], bytes]: value, data = super().decode(data) return (value // 100, value % 100), data diff --git a/src/c3nav/mesh/messages.py b/src/c3nav/mesh/messages.py index 903490c8..2d1b79d9 100644 --- a/src/c3nav/mesh/messages.py +++ b/src/c3nav/mesh/messages.py @@ -18,6 +18,8 @@ MESH_CHILDREN_ADDRESS = '00:00:00:00:ff:ff' MESH_BROADCAST_ADDRESS = 'ff:ff:ff:ff:ff:ff' NO_LAYER = 0xFF +OTA_CHUNK_SIZE = 512 + @unique class MeshMessageType(IntEnum): @@ -132,8 +134,6 @@ class NoopMessage(MeshMessage, msg_type=MeshMessageType.NOOP): pass - - @dataclass class EchoRequestMessage(MeshMessage, msg_type=MeshMessageType.ECHO_REQUEST): """ repeat back string """ @@ -308,7 +308,7 @@ class OTAFragmentMessage(MeshMessage, msg_type=MeshMessageType.OTA_FRAGMENT): """ supply OTA fragment """ update_id: int = field(metadata={"format": SimpleFormat('I')}) chunk: int = field(metadata={"format": SimpleFormat('H')}) - data: str = field(metadata={"format": VarBytesFormat(max_size=512)}) + data: bytes = field(metadata={"format": VarBytesFormat(max_size=OTA_CHUNK_SIZE)}) @dataclass