mirror of
https://github.com/meshcore-dev/MeshCore.git
synced 2026-04-20 22:13:47 +00:00
JP_STRICT: use absolute -80dBm RSSI threshold for LBT (ARIB STD-T108)
Replace relative threshold (_noise_floor + _threshold) with absolute -80dBm as specified by ARIB STD-T108 for carrier sense detection. Previous relative threshold (~-99dBm) caused false busy detection from environmental noise. -80dBm matches the legal requirement and reduces spurious backoff.
This commit is contained in:
parent
7bae0d8405
commit
f4519b19c8
1 changed files with 5 additions and 1 deletions
|
|
@ -168,6 +168,10 @@ bool RadioLibWrapper::isSendComplete() {
|
|||
void RadioLibWrapper::onSendFinished() {
|
||||
_radio->finishTransmit();
|
||||
_board->onAfterTransmit();
|
||||
#ifdef JP_STRICT
|
||||
// ARIB STD-T108: wait >= 50ms after TX before next transmission
|
||||
delay(50);
|
||||
#endif
|
||||
state = STATE_IDLE;
|
||||
}
|
||||
|
||||
|
|
@ -184,7 +188,7 @@ bool RadioLibWrapper::isChannelActive() {
|
|||
uint32_t sense_start = millis();
|
||||
uint32_t sense_duration_ms = 5;
|
||||
while (millis() - sense_start < sense_duration_ms) {
|
||||
if (getCurrentRSSI() > _noise_floor + _threshold) {
|
||||
if (getCurrentRSSI() > -80.0f) {
|
||||
// Channel busy detected during 5ms sensing window
|
||||
uint32_t backoff_until = millis() + random(8000, 22000);
|
||||
while (millis() < backoff_until) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue