This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Radio Disable function in radio_test example

Hello,

In the radio_test example of the SDK16, there is this function:



static void radio_disable(void)
{
    NRF_RADIO->SHORTS = 0;
    NRF_RADIO->EVENTS_DISABLED = 0;
    #ifdef NRF51
    NRF_RADIO->TEST = 0;
    #endif
    NRF_RADIO->TASKS_DISABLE = 1;

    while (NRF_RADIO->EVENTS_DISABLED == 0)
    {
        // Do nothing.
    }
    NRF_RADIO->EVENTS_DISABLED = 0;
}

Can someone help me identify what is the current state of the radio after calling this function? Is the radio in a low-power state? If yes, what components are retained and what are left on?

I'm using an NRF52840 DK.

Thanks and regards,

Jeff

  • Hi Jeff,

    Can someone help me identify what is the current state of the radio after calling this function?

    This code effectively triggers the DISABLE task and waits for the radio to be disabled (indicated by the DISABLED event). That puts the radio in the DISABLED state (see Radio states figure in RADIO peripheral documentation in PS). Configuration registers etc. retain their value (as with other peripherals).

    Is the radio in a low-power state?

    Yes. The radio is not doing anything in this configuration. As you can see from Table 2 in the RADIO chapter in the PS, in the DISABLED state: "No operations are going on inside the radio and the power consumption is at a minimum".

    Einar

Related