From 01b0d8736e2ef23893e631de1905c4cfbb12a0c9 Mon Sep 17 00:00:00 2001 From: Eduardo Montoya Date: Thu, 30 May 2024 08:48:13 +0200 Subject: [PATCH] drivers: ieee802154: nrf5: sleep if idle when RxOnWhenIdle=0 When RxOnWhenIdle is set to False, turn the radio off if no operation is ongoing in order to save power. Signed-off-by: Eduardo Montoya --- drivers/ieee802154/ieee802154_nrf5.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/ieee802154/ieee802154_nrf5.c b/drivers/ieee802154/ieee802154_nrf5.c index 4cbdd9eb607..a8d64416bc8 100644 --- a/drivers/ieee802154/ieee802154_nrf5.c +++ b/drivers/ieee802154/ieee802154_nrf5.c @@ -1005,6 +1005,10 @@ static int nrf5_configure(const struct device *dev, case IEEE802154_CONFIG_RX_ON_WHEN_IDLE: nrf_802154_rx_on_when_idle_set(config->rx_on_when_idle); nrf5_data.rx_on_when_idle = config->rx_on_when_idle; + + if (config->rx_on_when_idle == false) { + (void)nrf_802154_sleep_if_idle(); + } break; default: