Additional CSMA based optimization

pull/15/head
sh123 2020-06-20 13:04:17 +03:00
rodzic 5d1711a0f1
commit fdb1f4f77b
1 zmienionych plików z 4 dodań i 2 usunięć

Wyświetl plik

@ -145,17 +145,19 @@ void Service::loop()
if (needsAprsis() && !aprsisConn_.connected() && persistentConn_) { if (needsAprsis() && !aprsisConn_.connected() && persistentConn_) {
reconnectAprsis(); reconnectAprsis();
} }
// RX path
if (int packetSize = LoRa.parsePacket()) { if (int packetSize = LoRa.parsePacket()) {
onLoraDataAvailable(packetSize); onLoraDataAvailable(packetSize);
} }
// TX path
else if (random(0, 255) < CfgCsmaProbBoundary) { else if (random(0, 255) < CfgCsmaProbBoundary) {
if (serialBt_.available()) { if (serialBt_.available()) {
onBtDataAvailable(); onBtDataAvailable();
} }
if (aprsisConn_.available() > 0) { else if (aprsisConn_.available() > 0) {
onAprsisDataAvailable(); onAprsisDataAvailable();
} }
if (needsBeacon()) { else if (needsBeacon()) {
sendPeriodicBeacon(); sendPeriodicBeacon();
} }
} }