From 1b25ea714d260916218031e12887e001d6baa39d Mon Sep 17 00:00:00 2001 From: Sacha Weatherstone Date: Sat, 27 Aug 2022 19:03:26 +1000 Subject: [PATCH] Set `config.lora.hop_limit` to `HOP_RELIABLE` --- src/mesh/NodeDB.cpp | 1 + src/mesh/ReliableRouter.cpp | 6 +----- src/mesh/Router.cpp | 6 +----- 3 files changed, 3 insertions(+), 10 deletions(-) diff --git a/src/mesh/NodeDB.cpp b/src/mesh/NodeDB.cpp index 19ab81ac9..81e2f5b47 100644 --- a/src/mesh/NodeDB.cpp +++ b/src/mesh/NodeDB.cpp @@ -162,6 +162,7 @@ void NodeDB::installDefaultConfig() config.lora.region = Config_LoRaConfig_RegionCode_Unset; config.lora.modem_preset = Config_LoRaConfig_ModemPreset_LongFast; + config.lora.hop_limit = HOP_RELIABLE; resetRadioConfig(); strncpy(config.device.ntp_server, "0.pool.ntp.org", 32); // FIXME: Default to bluetooth capability of platform as default diff --git a/src/mesh/ReliableRouter.cpp b/src/mesh/ReliableRouter.cpp index 4936fd282..93410bc9f 100644 --- a/src/mesh/ReliableRouter.cpp +++ b/src/mesh/ReliableRouter.cpp @@ -17,11 +17,7 @@ ErrorCode ReliableRouter::send(MeshPacket *p) // message will rebroadcast. But asking for hop_limit 0 in that context means the client app has no preference on hop // counts and we want this message to get through the whole mesh, so use the default. if (p->hop_limit == 0) { - if (config.lora.hop_limit && config.lora.hop_limit <= HOP_MAX) { - p->hop_limit = (config.lora.hop_limit >= HOP_MAX) ? HOP_MAX : config.lora.hop_limit; - } else { - p->hop_limit = HOP_RELIABLE; - } + p->hop_limit = (config.lora.hop_limit >= HOP_MAX) ? HOP_MAX : config.lora.hop_limit; } auto copy = packetPool.allocCopy(*p); diff --git a/src/mesh/Router.cpp b/src/mesh/Router.cpp index f926c5c69..856a0b249 100644 --- a/src/mesh/Router.cpp +++ b/src/mesh/Router.cpp @@ -118,11 +118,7 @@ MeshPacket *Router::allocForSending() p->which_payloadVariant = MeshPacket_decoded_tag; // Assume payload is decoded at start. p->from = nodeDB.getNodeNum(); p->to = NODENUM_BROADCAST; - if (config.lora.hop_limit && config.lora.hop_limit <= HOP_MAX) { - p->hop_limit = (config.lora.hop_limit >= HOP_MAX) ? HOP_MAX : config.lora.hop_limit; - } else { - p->hop_limit = HOP_RELIABLE; - } + p->hop_limit = (config.lora.hop_limit >= HOP_MAX) ? HOP_MAX : config.lora.hop_limit; p->id = generatePacketId(); p->rx_time = getValidTime(RTCQualityFromNet); // Just in case we process the packet locally - make sure it has a valid timestamp