From 698df63cfb6b827eb79c8ff20d32fbb34790fca9 Mon Sep 17 00:00:00 2001 From: Jose Alamos Date: Thu, 14 Jan 2021 11:06:11 +0100 Subject: [PATCH] nrf802154/hal: fix unwanted emissions at the end of ACK frame This commit turns off the transceiver immediately after sending an ACK frame in order to avoid unwanted emissions (see ERRATA ID 204). When the radio stays in TX_ON without an explicit transition, the radio keeps sending a spurious signal for some milliseconds. --- cpu/nrf52/radio/nrf802154/nrf802154_radio.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cpu/nrf52/radio/nrf802154/nrf802154_radio.c b/cpu/nrf52/radio/nrf802154/nrf802154_radio.c index fc359df69b..f9266793ab 100644 --- a/cpu/nrf52/radio/nrf802154/nrf802154_radio.c +++ b/cpu/nrf52/radio/nrf802154/nrf802154_radio.c @@ -548,6 +548,11 @@ void isr_radio(void) break; case STATE_ACK: _state = STATE_IDLE; + + /* We disable the radio to avoid unwanted emmissions (see ERRATA + * ID 204, "Switching between TX and RX causes unwanted emissions") + */ + _disable(); DEBUG("[nrf52840] TX ACK done.") _set_ifs_timer(false); break;