| S212 SoftDevice v2.0.0 |

Choose documentation: | nRF5 SDK | S130 SoftDevice API | S132 SoftDevice API | S212 SoftDevice API | S332 SoftDevice API

All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Functions
Functions
SoftDevice Manager API

## Functions
uint32_t | sd_softdevice_enable (nrf_clock_lf_cfg_t const *p_clock_lf_cfg, nrf_fault_handler_t fault_handler, const char *p_license_key)
| Enables the SoftDevice and by extension the protocol stack. More...
uint32_t | sd_softdevice_disable (void)
| Disables the SoftDevice and by extension the protocol stack. More...
uint32_t | sd_softdevice_is_enabled (uint8_t *p_softdevice_enabled)
| Check if the SoftDevice is enabled. More...
uint32_t | sd_softdevice_vector_table_base_set (uint32_t address)
| Sets the base address of the interrupt vector table for interrupts forwarded from the SoftDevice. More...

## Detailed Description

## Function Documentation

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 |

uint32_t sd_softdevice_enable | ( | nrf_clock_lf_cfg_t const * | p_clock_lf_cfg,
|  | nrf_fault_handler_t | fault_handler,
|  | const char * | p_license_key
| ) |  |

Enables the SoftDevice and by extension the protocol stack.

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

  p_clock_lf_cfg | Low frequency clock source and accuracy. If NULL the clock will be configured as an rc source with rc_ctiv = 16 and .rc_temp_ctiv = 2 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.
  fault_handler | Callback to be invoked in case of fault.
  p_license_key | License key for ANT based softdevices. NULL can be used for BLE only softdevices. See ANT_LICENSE_KEY define for more detail.

Return values

  NRF_SUCCESS |
  NRF_ERROR_INVALID_STATE | SoftDevice is already enabled, and the clock source and fault handler cannot be updated.
  NRF_ERROR_SDM_INCORRECT_INTERRUPT_CONFIGURATION | SoftDevice interrupt is already enabled, or an enabled interrupt has an illegal priority level.
  NRF_ERROR_SDM_LFCLK_SOURCE_UNKNOWN | Unknown low frequency clock source selected.
  NRF_ERROR_INVALID_LICENSE_KEY | Incorrect ANT license key. See ANT_LICENSE_KEY define for more detail.

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 |

uint32_t sd_softdevice_vector_table_base_set | ( | uint32_t | address | ) |

Sets the base address of the interrupt vector table for interrupts forwarded from the SoftDevice.

This function is only intended to be called when a bootloader is enabled.

Parameters

  [in] | address | The base address of the interrupt vector table for forwarded interrupts.

Return values

  NRF_SUCCESS |