From f16d0d8cf5b27ca2436cae06c5370a6ae246abc6 Mon Sep 17 00:00:00 2001 From: geeksville Date: Sun, 7 Jun 2020 22:15:47 -0700 Subject: [PATCH] work with old devices that still use 8 bit addresses --- .../main/java/com/geeksville/mesh/service/MeshService.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/geeksville/mesh/service/MeshService.kt b/app/src/main/java/com/geeksville/mesh/service/MeshService.kt index 0aaf4cb84..cb00b2e8f 100644 --- a/app/src/main/java/com/geeksville/mesh/service/MeshService.kt +++ b/app/src/main/java/com/geeksville/mesh/service/MeshService.kt @@ -687,11 +687,15 @@ class MeshService : Service(), Logging { /// Generate a new mesh packet builder with our node as the sender, and the specified node num private fun newMeshPacketTo(idNum: Int) = MeshPacket.newBuilder().apply { + val useShortAddresses = (myNodeInfo?.nodeNumBits ?: 8) != 32 + if (myNodeInfo == null) throw RadioNotConnectedException() from = myNodeNum - to = idNum + + // We might need to change broadcast addresses to work with old device loads + to = if (useShortAddresses && idNum == NODENUM_BROADCAST) 255 else idNum } /**