This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

TWI_MASTER_HW (PPI) w/ and w/o SoftDevice Enabled

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

Related