diff --git a/src/mesh/Router.h b/src/mesh/Router.h index c0244019e..f43f92158 100644 --- a/src/mesh/Router.h +++ b/src/mesh/Router.h @@ -84,7 +84,6 @@ class Router : protected concurrency::OSThread protected: friend class RoutingModule; - friend class RepeaterModule; /** * Should this incoming filter be dropped? diff --git a/src/modules/Modules.cpp b/src/modules/Modules.cpp index 76f42b519..ee7587112 100644 --- a/src/modules/Modules.cpp +++ b/src/modules/Modules.cpp @@ -82,9 +82,8 @@ void setupModules() // NOTE! This module must be added LAST because it likes to check for replies from other modules and avoid sending extra // acks - routingModule = new RoutingModule(); } else { adminModule = new AdminModule(); - repeaterModule = new RepeaterModule(); } + routingModule = new RoutingModule(); } diff --git a/src/modules/RepeaterModule.cpp b/src/modules/RepeaterModule.cpp deleted file mode 100644 index 3ffe81bc2..000000000 --- a/src/modules/RepeaterModule.cpp +++ /dev/null @@ -1,32 +0,0 @@ -#include "RepeaterModule.h" -#include "MeshService.h" -#include "NodeDB.h" -#include "Router.h" -#include "configuration.h" -#include "main.h" - -RepeaterModule *repeaterModule; - -bool RepeaterModule::handleReceivedProtobuf(const meshtastic_MeshPacket &mp, meshtastic_Routing *r) -{ - printPacket("Repeater observed message", &mp); - router->sniffReceived(&mp, r); - - if ((mp.to == NODENUM_BROADCAST || mp.to == nodeDB.getNodeNum()) && (mp.from != 0)) { - printPacket("Delivering rx packet", &mp); - service.handleFromRadio(&mp); - } - - return false; -} - -meshtastic_MeshPacket *RepeaterModule::allocReply() -{ - return NULL; -} - -RepeaterModule::RepeaterModule() : ProtobufModule("repeater", meshtastic_PortNum_ROUTING_APP, &meshtastic_Routing_msg) -{ - isPromiscuous = true; - encryptedOk = true; -} diff --git a/src/modules/RepeaterModule.h b/src/modules/RepeaterModule.h deleted file mode 100644 index bcb81fe49..000000000 --- a/src/modules/RepeaterModule.h +++ /dev/null @@ -1,33 +0,0 @@ -#pragma once -#include "Channels.h" -#include "ProtobufModule.h" - -/** - * Routing module for router control messages - */ -class RepeaterModule : public ProtobufModule -{ - public: - /** Constructor - * name is for debugging output - */ - RepeaterModule(); - - protected: - friend class Router; - - /** Called to handle a particular incoming message - - @return true if you've guaranteed you've handled this message and no other handlers should be considered for it - */ - virtual bool handleReceivedProtobuf(const meshtastic_MeshPacket &mp, meshtastic_Routing *p) override; - - /** Messages can be received that have the want_response bit set. If set, this callback will be invoked - * so that subclasses can (optionally) send a response back to the original sender. */ - virtual meshtastic_MeshPacket *allocReply() override; - - /// Override wantPacket to say we want to see all packets, not just those for our port number - virtual bool wantPacket(const meshtastic_MeshPacket *p) override { return true; } -}; - -extern RepeaterModule *repeaterModule; diff --git a/src/modules/RoutingModule.cpp b/src/modules/RoutingModule.cpp index bf3739f2c..f91d32a20 100644 --- a/src/modules/RoutingModule.cpp +++ b/src/modules/RoutingModule.cpp @@ -24,6 +24,8 @@ bool RoutingModule::handleReceivedProtobuf(const meshtastic_MeshPacket &mp, mesh meshtastic_MeshPacket *RoutingModule::allocReply() { + if (config.device.role == meshtastic_Config_DeviceConfig_Role_REPEATER) + return NULL; assert(currentRequest); // We only consider making replies if the request was a legit routing packet (not just something we were sniffing)