kopia lustrzana https://github.com/sh123/esp32_loraprs
Additional CSMA based optimization
rodzic
5d1711a0f1
commit
fdb1f4f77b
|
@ -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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Ładowanie…
Reference in New Issue