Skip to content

Commit f4519b1

Browse files
committed
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.
1 parent 7bae0d8 commit f4519b1

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

src/helpers/radiolib/RadioLibWrappers.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,10 @@ bool RadioLibWrapper::isSendComplete() {
168168
void RadioLibWrapper::onSendFinished() {
169169
_radio->finishTransmit();
170170
_board->onAfterTransmit();
171+
#ifdef JP_STRICT
172+
// ARIB STD-T108: wait >= 50ms after TX before next transmission
173+
delay(50);
174+
#endif
171175
state = STATE_IDLE;
172176
}
173177

@@ -184,7 +188,7 @@ bool RadioLibWrapper::isChannelActive() {
184188
uint32_t sense_start = millis();
185189
uint32_t sense_duration_ms = 5;
186190
while (millis() - sense_start < sense_duration_ms) {
187-
if (getCurrentRSSI() > _noise_floor + _threshold) {
191+
if (getCurrentRSSI() > -80.0f) {
188192
// Channel busy detected during 5ms sensing window
189193
uint32_t backoff_until = millis() + random(8000, 22000);
190194
while (millis() < backoff_until) {

0 commit comments

Comments
 (0)