Hi,
I have a question with regards to the system-on sleep current of the nRF52840. This is specific to when using the bluetooth mesh and the nrf_mesh_disable() function is called. It seems I cannot get a system-on sleep current less than ~520uA when the mesh is disabled. A bit more about my set up:
I am currently using one of the preview dev kits for the '840, and nR5 SDK for Mesh V2.1.1. (Light switch server example)
The marking on the chip is nRF52840 QIAAAA 1716AK.
I have the DK set up to measure current with an external Ampere meter (just to get a ballpark figure), I have it set up as per the instructions provided in the user guide for the DK. I have verified that no other peripherals are using power when sd_app_evt_wait(); is called in main loop, by using the .svd and looking at the registers when the system is halted with the debugger. The obvious ones like the radio, timers and communications interfaces like SPI and I2C all seem to be in a "disabled" state.
My main loop code looks like this:
for (;;) { app_sched_execute(); bool done = nrf_mesh_process(); if (done) { __set_FPSCR(__get_FPSCR() & ~(0x0000009F)); (void) __get_FPSCR(); NVIC_ClearPendingIRQ(FPU_IRQn); uint32_t err_code = sd_app_evt_wait(); APP_ERROR_CHECK(err_code); } }
I call nrf_mesh_disable() a few seconds after the mesh is initialized.
I have had a quick read of some of the errata for this chip and nothing obvious jumps out as the culprit. Any help would be greatly appreciated!