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

sd_app_evt_wait not giving call back

Hi

I'm using sd_app_evt_wait(); to go into low_power mode. For some reason it coming back , but I can't figure out why.

Peace of code I am executing is;

while (nrf_fstorage_is_busy(&my_instance)) {
NRF_LOG_INFO("INWHILE LOOP");
sd_app_evt_wait();
}

I am not sure how to debug it? Is is softDevice issue?

EDIT:

I can see the function nrf_fsstorage_is_busy() is in softdevice,

bool nrf_fstorage_is_busy(nrf_fstorage_t const * p_fs)
{

/* If a NULL instance is provided, return true if any instance is busy.
* Uninitialized instances are considered not busy. */
if ((p_fs == NULL) || (p_fs->p_api == NULL))
{
for (uint32_t i = 0; i < NRF_FSTORAGE_INSTANCE_CNT; i++)
{
p_fs = NRF_FSTORAGE_INSTANCE_GET(i); /* cannot be NULL. */
if (p_fs->p_api != NULL)
{
/* p_api->is_busy() cannot be NULL. */
if (p_fs->p_api->is_busy(p_fs))
{
return true;
}
}
}

return false;
}

return p_fs->p_api->is_busy(p_fs);
}

Which in turn call function,

is_busy(p_fs)

I am just wondering how to debug it ,I mean where I can give print statement?

Which function get this function sd_app_evt_wait() awake signal?

Sorry, if I am asking very basic question

Best Regards,

PAJ

Related