I have an application in which I would like to be able to enable and disable the SoftDevice.
But there are peripherals (Application Timers, Two Wire Interface, etc) that I would like to setup and remain operational through the SoftDevice transitions.
Is this possible - and if so - should I enable the SoftDevice at startup - then use the sd_ API calls to setup peripherals (PPI for instance inside the TWI_MASTER) ???
Just want to make sure that then when I disable the SoftDevice - that what I've configured using the API calls remains configured. As the SoftDevice SVCALL documentation has me concerned (bold below).
/**@brief Disables the SoftDevice and by extension the protocol stack. *
- Idempotent function to disable the SoftDevice.
- @post SoC library and protocol stack APIs are made unavailable.
- @post All interrupts that was protected by the SoftDevice will be disabled and initialized to priority 0 (highest). *** @post All peripherals used by the SoftDevice will be reset to default values.**
- @post All of RAM become available.
- @post All interrupts are forwarded to the application.
- @post LFCLK source chosen in ::sd_softdevice_enable will be left running.
- @return ::NRF_SUCCESS */ uint32_t SVCALL(SD_NRF_SOFTDEVICE_DISABLE) sd_softdevice_disable(void);
Thanks ! -Tim