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:
jirogit 2026-03-25 00:41:21 -07:00
parent 7bae0d8405
commit f4519b19c8

View file

@ -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) {