Dear all,
I am developing a device that base on nrf52833, nrf connect sdk ver 2.0.0
The device run bluetooth mesh. And becase it was powered by battery, so it must go into sleep mode, and wake up by GPIOs in specific scenarios.
This is the function that put the device into sleep mode
void app_system_sleep(struct k_work *work_tem) { nrf_gpio_cfg_sense_input(wake_pin_1, NRF_GPIO_PIN_NOPULL, NRF_GPIO_PIN_SENSE_LOW); nrf_gpio_cfg_sense_input(wake_pin_2, NRF_GPIO_PIN_NOPULL, NRF_GPIO_PIN_SENSE_LOW); LREP(__func__,"Entering system off"); bt_mesh_suspend(); const struct pm_state_info si = {PM_STATE_SOFT_OFF, 0, 0}; pm_state_force(0, &si); k_sleep(K_MSEC(100)); LREP(__func__, "Exit sleep mode"); NVIC_SystemReset(); }