Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of nRF51822 by
Functions
[SoftDevice Manager API]
Functions | |
SVCALL (SD_SOFTDEVICE_ENABLE, uint32_t, sd_softdevice_enable(nrf_clock_lfclksrc_t clock_source, softdevice_assertion_handler_t assertion_handler)) | |
Enables the SoftDevice and by extension the protocol stack. | |
SVCALL (SD_SOFTDEVICE_DISABLE, uint32_t, sd_softdevice_disable(void)) | |
Disables the SoftDevice and by extension the protocol stack. | |
SVCALL (SD_SOFTDEVICE_IS_ENABLED, uint32_t, sd_softdevice_is_enabled(uint8_t *p_softdevice_enabled)) | |
Check if the SoftDevice is enabled. | |
SVCALL (SD_SOFTDEVICE_FORWARD_TO_APPLICATION, uint32_t, sd_softdevice_forward_to_application(void)) | |
Start forwarding interrupts to application. |
Function Documentation
SVCALL | ( | SD_SOFTDEVICE_ENABLE | , |
uint32_t | , | ||
sd_softdevice_enable(nrf_clock_lfclksrc_t clock_source, softdevice_assertion_handler_t assertion_handler) | |||
) |
Enables the SoftDevice and by extension the protocol stack.
Idempotent function to enable the SoftDevice.
- Note:
- Some care must be taken if a low frequency clock source is already running when calling this function: If the LF clock has a different source then the one currently running, it will be stopped. Then, the new clock source will be started.
- This function has no effect when returning with an error.
- Postcondition:
- If return code is NRF_SUCCESS
- SoC library and protocol stack APIs are made available
- A portion of RAM will be unavailable (see relevant SDS documentation)
- Some peripherals will be unavailable or available only through the SoC API (see relevant SDS documentation)
- Interrupts will not arrive from protected peripherals or interrupts
- nrf_nvic_ functions must be used instead of CMSIS NVIC_ functions for reliable usage of the softdevice.
- Interrupt latency may be affected by the SoftDevice (see relevant SDS documentation)
- Chosen low frequency clock source will be running
- Parameters:
-
clock_source Low frequency clock source and accuracy. (Note: In the case of XTAL source, the PPM accuracy of the chosen clock source must be greater than or equal to the actual characteristics of your XTAL clock). assertion_handler Callback for SoftDevice assertions.
- Return values:
-
NRF_SUCCESS NRF_ERROR_SDM_INCORRECT_INTERRUPT_CONFIGURATION SoftDeviceinterrupt is already enabled, or an enabled interrupt has an illegal priority level NRF_ERROR_SDM_LFCLK_SOURCE_UNKNOWN Unknown low frequency clock source selected
SVCALL | ( | SD_SOFTDEVICE_FORWARD_TO_APPLICATION | , |
uint32_t | , | ||
sd_softdevice_forward_to_application(void) | |||
) |
Start forwarding interrupts to application.
This function is only intended to be called when a bootloader is enabled is used. The bootloader should call this right before it starts the application. It is recommended that all interrupt sources are off when this is called, or you could end up having interrupts in the application being executed before main() of the application.
- Return values:
-
NRF_SUCCESS
SVCALL | ( | SD_SOFTDEVICE_IS_ENABLED | , |
uint32_t | , | ||
sd_softdevice_is_enabled(uint8_t *p_softdevice_enabled) | |||
) |
Check if the SoftDevice is enabled.
- Parameters:
-
[out] p_softdevice_enabled If the SoftDevice is enabled: 1 else 0.
- Return values:
-
NRF_SUCCESS
SVCALL | ( | SD_SOFTDEVICE_DISABLE | , |
uint32_t | , | ||
sd_softdevice_disable(void) | |||
) |
Disables the SoftDevice and by extension the protocol stack.
Idempotent function to disable the SoftDevice.
- Postcondition:
- SoC library and protocol stack APIs are made unavailable.
- All interrupts that was protected by the SoftDevice will be disabled and initialized to priority 0 (highest).
- All peripherals used by the SoftDevice will be reset to default values.
- All of RAM become available.
- All interrupts are forwarded to the application.
- LFCLK source chosen in sd_softdevice_enable will be left running.
- Return values:
-
NRF_SUCCESS
Generated on Tue Jul 12 2022 18:44:27 by
