From 79acf18f98db9825c4398825775ae45e4db1245b Mon Sep 17 00:00:00 2001 From: sh123 Date: Tue, 8 Dec 2020 15:26:14 +0200 Subject: [PATCH] Update CSMA logic --- loraprs_service.cpp | 26 ++++++++++++++------------ loraprs_service.h | 2 +- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/loraprs_service.cpp b/loraprs_service.cpp index e1bb094..5222d4f 100644 --- a/loraprs_service.cpp +++ b/loraprs_service.cpp @@ -148,19 +148,21 @@ void Service::loop() onLoraDataAvailable(packetSize); } // TX path - else if (random(0, 255) < CfgCsmaPersistence) { - if (serialBt_.available()) { - onBtDataAvailable(); - } - else if (aprsisConn_.available() > 0) { - onAprsisDataAvailable(); - } - else if (needsBeacon()) { - sendPeriodicBeacon(); - } - } else { - delay(CfgCsmaSlotTimeMs); + if (random(0, 255) < CfgCsmaPersistence) { + if (serialBt_.available()) { + onBtDataAvailable(); + } + else if (aprsisConn_.available() > 0) { + onAprsisDataAvailable(); + } + else if (needsBeacon()) { + sendPeriodicBeacon(); + } + } + else { + delay(CfgCsmaSlotTimeMs); + } } delay(CfgPollDelayMs); } diff --git a/loraprs_service.h b/loraprs_service.h index 6c95844..e2a2623 100644 --- a/loraprs_service.h +++ b/loraprs_service.h @@ -66,7 +66,7 @@ private: const String CfgLoraprsVersion = "LoRAPRS 0.1"; - const int CfgPollDelayMs = 10; + const int CfgPollDelayMs = 1; // tx when lower than this value from random 0..255 // use lower value for high traffic, use 255 for real time