Hello Nordic Team,
Currently, we are performing power consumption testing using the Nordic nRF54L15-DK development kit.
As part of this, I aim to fully disable the Radio/RF module to evaluate baseline power usage.
To achieve this, I use the smoke_co example, which includes Matter functionality.
To disable the RF module, I attempted the following changes in the code:
/ Fully disable the nRF54L15-DK radio
void disable_radio()
{
// Stop all radio tasks
NRF_RADIO->TASKS_DISABLE = 1;
// Wait until the radio is fully disabled
while (NRF_RADIO->STATE != RADIO_STATE_STATE_Disabled)
{
k_msleep(1); // Wait for the radio to transition to the disabled state
}
// Stop the high-frequency clock
//NRF_CLOCK->TASKS_LFCLKSTOP = 1;
// Disable radio interrupts
//NVIC_DisableIRQ(RADIO_1_IRQn);
if(NRF_RADIO->EVENTS_DISABLED==1)
{
printk("Radio fully disabled.\n");
}
}
void verify_radio_disabled()
{
if (NRF_RADIO->STATE == RADIO_STATE_STATE_Disabled && NRF_RADIO->EVENTS_DISABLED == 1)
{
printk("Radio is fully disabled.\n");
}
else
{
printk("Radio is not fully disabled. STATE: %d, EVENTS_DISABLED: %d\n",
NRF_RADIO->STATE, NRF_RADIO->EVENTS_DISABLED);
}
}
in Overlay file,
Based on the code above, after calling disable_radio(), we observed the "Radio is fully disabled" message printed from the verify_radio_disabled() function.
After applying these changes, we attempted to pair the nRF device with the Matter OTBR. The device was successfully commissioned using the chip-tool.
After commissioning, we executed the descriptor read client-list 0x2233 0 command.
Received Matter stack-specific logs on the nRF console.
Kindly suggest how we can fully disable the RF/RADIO and how to enable it again.
Thanks & Regards,
Pratik Panchal