
We don't have FW for all of the mentioned numbers.
the ble_app_pwr_profiler example starts out in system OFF mode (IOFF_RAMOFF_RESET) and after pushing button 1 the sleep current between the BLE events will equal the ION_RAMON_RTC.
Other than that the system ON idle current can be easily checked by just entering a __WFE() loop in main, without initializing anything. You can start with the peripheral/blinky example in the SDK
int main(void){ for(;;){ __WFE(); } }
Any specific numbers you are interested in?
Hi Stian,
Thanks for the information but we would like to know
ION_RAMON_EVENT
ION_RAMON_EVENT is the same as System ON idle. In system on idle the the WFE (Wait For Event) has been called, so the CPU is in IDLE mode, and waking on any event (interrupt).
This will give you the ION_RAMON_EVENT current:
int main(void){ for(;;){ __WFE(); } }
ION_RAMON_GPIOTE (waking on the GPIOTE IN event):
#define PIN 13 int main(void){ NRF_GPIO->PIN_CNF[PIN] = 0xC; //input, pullup NRF_GPIOTE->CONFIG[0] = 1 | (PIN << 8); // configure IN event for(;;){ __WFE(); } }
ION_RAMON_GPIO (waking on GPIO PORT event)
#define PIN 13 int main(void){ NRF_GPIO->PIN_CNF[PIN] = 0x3000C; //input, pullup, sense low for(;;){ __WFE(); } }
ION_RAMON_EVENT is the same as System ON idle. In system on idle the the WFE (Wait For Event) has been called, so the CPU is in IDLE mode, and waking on any event (interrupt).
This will give you the ION_RAMON_EVENT current:
int main(void){ for(;;){ __WFE(); } }
ION_RAMON_GPIOTE (waking on the GPIOTE IN event):
#define PIN 13 int main(void){ NRF_GPIO->PIN_CNF[PIN] = 0xC; //input, pullup NRF_GPIOTE->CONFIG[0] = 1 | (PIN << 8); // configure IN event for(;;){ __WFE(); } }
ION_RAMON_GPIO (waking on GPIO PORT event)
#define PIN 13 int main(void){ NRF_GPIO->PIN_CNF[PIN] = 0x3000C; //input, pullup, sense low for(;;){ __WFE(); } }
Hi,
System off current is observed around 480 nA but spec says 600 nA is that expected?
Thanks,
venkatesh
The spec only shows typical numbers, so 480nA sounds normal.
For ION_RAMON_GPIOTE, in main application we can have handler by using nrf_drv_gpiote_in_init(PIN_IN, &in_config, in_pin_handler)
Similarly do we have any sample for ION_RAMON_GPIOTEPORT port event?
It's in the in_config parameter you pass to the function. The config parameter has a field called "hi_accuracy". If this is set to "false", the PORT event is used instead of the IN event.