diff --git a/src/mesh/RadioInterface.cpp b/src/mesh/RadioInterface.cpp index 267f2b50f..109a5f522 100644 --- a/src/mesh/RadioInterface.cpp +++ b/src/mesh/RadioInterface.cpp @@ -35,8 +35,15 @@ const RegionInfo regions[] = { https://www.legislation.gov.uk/uksi/1999/930/schedule/6/part/III/made/data.xht?view=snippet&wrap=true audio_permitted = false per regulation + + Special Note: + The link above describes LoRaWAN's band plan, stating a power limit of 16 dBm. This is their own suggested specification, + we do not need to follow it. The European Union regulations clearly state that the power limit for this frequency range is 500 mW, or 27 dBm. + It also states that we can use interference avoidance and spectrum access techniques to avoid a duty cycle. + (Please refer to section 4.21 in the following document) + https://ec.europa.eu/growth/tools-databases/tris/index.cfm/ro/search/?trisaction=search.detail&year=2021&num=528&dLang=EN */ - RDEF(EU868, 869.4f, 869.65f, 10, 0, 16, false, false), + RDEF(EU868, 869.4f, 869.65f, 10, 0, 27, false, false), /* https://lora-alliance.org/wp-content/uploads/2020/11/lorawan_regional_parameters_v1.0.3reva_0.pdf diff --git a/src/modules/PositionModule.cpp b/src/modules/PositionModule.cpp index 7a874fcf4..899d309b3 100644 --- a/src/modules/PositionModule.cpp +++ b/src/modules/PositionModule.cpp @@ -177,8 +177,8 @@ int32_t PositionModule::runOnce() // Yes, this has a bunch of magic numbers. Sorry. uint32_t timeTravel = ((1500 / myNodeInfo.bitrate) >= timeTravelMinimum) ? (1500 / myNodeInfo.bitrate) : timeTravelMinimum; - // If the distance traveled since the last update is greater than 100 meters - // and it's been at least 60 seconds since the last update + // If the distance traveled since the last update is greater than distanceTravelMinimum meters + // and it's been at least timeTravelMinimum seconds since the last update if ((abs(distance) >= distanceTravelThreshold) && (now - lastGpsSend) >= (timeTravel * 1000)) { bool requestReplies = currentGeneration != radioGeneration; currentGeneration = radioGeneration; diff --git a/src/modules/esp32/RangeTestModule.h b/src/modules/esp32/RangeTestModule.h index 76735d376..db49a586e 100644 --- a/src/modules/esp32/RangeTestModule.h +++ b/src/modules/esp32/RangeTestModule.h @@ -28,7 +28,10 @@ class RangeTestModuleRadio : public SinglePortModule uint32_t lastRxID = 0; public: - RangeTestModuleRadio() : SinglePortModule("RangeTestModuleRadio", PortNum_TEXT_MESSAGE_APP) {} + RangeTestModuleRadio() : SinglePortModule("RangeTestModuleRadio", PortNum_TEXT_MESSAGE_APP) + { + loopbackOk = true; // Allow locally generated messages to loop back to the client + } /** * Send our payload into the mesh @@ -50,7 +53,8 @@ class RangeTestModuleRadio : public SinglePortModule /** Called to handle a particular incoming message - @return ProcessMessage::STOP if you've guaranteed you've handled this message and no other handlers should be considered for it + @return ProcessMessage::STOP if you've guaranteed you've handled this message and no other handlers should be considered for + it */ virtual ProcessMessage handleReceived(const MeshPacket &mp) override; };