Hello -
We are developing some low power code on the nRF52840-DK, using SDK 15.3.0 on FreeRTOS. I noticed that in the port_cmsys_systick.c file, in the vPortSuppressTicksAndSleep() function, that the code just checks if SOFTDEVICE_PRESENT is defined before calling a SoftDevice function:
#ifdef SOFTDEVICE_PRESENT uint32_t err_code = sd_app_evt_wait(); APP_ERROR_CHECK(err_code); #else
In our case, we currently enable the SoftDevice when requiring BLE, but otherwise we do not request that the SoftDevice is enabled. In other words, we only call nrf_sdh_enable_request() when using BLE. We do however have SOFTDEVICE_PRESENT defined in our Makefile.
I am wondering if the port_cmsys_systick.c code is correct when the application does not have a SoftDevice enabled. At first glance it seems that defining SOFTDEVICE_PRESET implicitly assumes that the SoftDevice has been enabled, which may not be the case.
Regards,
Brian