nRF51 SDK: Functions

| nRF51 SDK

- Home
- Related Pages
- API Reference
- Data Structures

All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Functions
Functions
SoC Library API

## Functions

uint32_t | sd_mutex_new (nrf_mutex_t *p_mutex)
| Initialize a mutex. More...
uint32_t | sd_mutex_acquire (nrf_mutex_t *p_mutex)
| Attempt to acquire a mutex. More...
uint32_t | sd_mutex_release (nrf_mutex_t *p_mutex)
| Release a mutex. More...
uint32_t | sd_nvic_EnableIRQ (IRQn_Type IRQn)
| Enable External Interrupt. More...
uint32_t | sd_nvic_DisableIRQ (IRQn_Type IRQn)
| Disable External Interrupt. More...
uint32_t | sd_nvic_GetPendingIRQ (IRQn_Type IRQn, uint32_t *p_pending_irq)
| Get Pending Interrupt. More...
uint32_t | sd_nvic_SetPendingIRQ (IRQn_Type IRQn)
| Set Pending Interrupt. More...
uint32_t | sd_nvic_ClearPendingIRQ (IRQn_Type IRQn)
| Clear Pending Interrupt. More...
uint32_t | sd_nvic_SetPriority (IRQn_Type IRQn, nrf_app_irq_priority_t priority)
| Set Interrupt Priority. More...
uint32_t | sd_nvic_GetPriority (IRQn_Type IRQn, nrf_app_irq_priority_t *p_priority)
| Get Interrupt Priority. More...
uint32_t | sd_nvic_SystemReset (void)
| System Reset. More...
uint32_t | sd_nvic_critical_region_enter (uint8_t *p_is_nested_critical_region)
| Enters critical region. More...
uint32_t | sd_nvic_critical_region_exit (uint8_t is_nested_critical_region)
| Exit critical region. More...
uint32_t | sd_rand_application_pool_capacity_get (uint8_t *p_pool_capacity)
| Query the capacity of the application random pool. More...
uint32_t | sd_rand_application_bytes_available_get (uint8_t *p_bytes_available)
| Get number of random bytes available to the application. More...
uint32_t | sd_rand_application_vector_get (uint8_t *p_buff, uint8_t length)
| Get random bytes from the application pool. More...
uint32_t | sd_power_reset_reason_get (uint32_t *p_reset_reason)
| Gets the reset reason register. More...
uint32_t | sd_power_reset_reason_clr (uint32_t reset_reason_clr_msk)
| Clears the bits of the reset reason register. More...
uint32_t | sd_power_mode_set (nrf_power_mode_t power_mode)
| Sets the power mode when in CPU sleep. More...
uint32_t | sd_power_system_off (void)
| Puts the chip in System OFF mode. More...
uint32_t | sd_power_pof_enable (uint8_t pof_enable)
| Enables or disables the power-fail comparator. More...
uint32_t | sd_power_pof_threshold_set (nrf_power_failure_threshold_t threshold)
| Sets the power-fail threshold value. More...
uint32_t | sd_power_ramon_set (uint32_t ramon)
| Sets bits in the NRF_POWER->RAMON register. More...
uint32_t | sd_power_ramon_clr (uint32_t ramon)
| Clears bits in the NRF_POWER->RAMON register. More...
uint32_t | sd_power_ramon_get (uint32_t *p_ramon)
| Get contents of NRF_POWER->RAMON register, indicates power status of ram blocks. More...
uint32_t | sd_power_gpregret_set (uint32_t gpregret_msk)
| Set bits in the NRF_POWER->GPREGRET register. More...
uint32_t | sd_power_gpregret_clr (uint32_t gpregret_msk)
| Clear bits in the NRF_POWER->GPREGRET register. More...
uint32_t | sd_power_gpregret_get (uint32_t *p_gpregret)
| Get contents of the NRF_POWER->GPREGRET register. More...
uint32_t | sd_power_dcdc_mode_set (nrf_power_dcdc_mode_t dcdc_mode)
| Sets the DCDC mode. More...
uint32_t | sd_clock_hfclk_request (void)
| Request the high frequency crystal oscillator. More...
uint32_t | sd_clock_hfclk_release (void)
| Releases the high frequency crystal oscillator. More...
uint32_t | sd_clock_hfclk_is_running (uint32_t *p_is_running)
| Checks if the high frequency crystal oscillator is running. More...
uint32_t | sd_app_evt_wait (void)
| Waits for an application event. More...
uint32_t | sd_ppi_channel_enable_get (uint32_t *p_channel_enable)
| Get PPI channel enable register contents. More...
uint32_t | sd_ppi_channel_enable_set (uint32_t channel_enable_set_msk)
| Set PPI channel enable register. More...
uint32_t | sd_ppi_channel_enable_clr (uint32_t channel_enable_clr_msk)
| Clear PPI channel enable register. More...
uint32_t | sd_ppi_channel_assign (uint8_t channel_num, const volatile void *evt_endpoint, const volatile void *task_endpoint)
| Assign endpoints to a PPI channel. More...
uint32_t | sd_ppi_group_task_enable (uint8_t group_num)
| Task to enable a channel group. More...
uint32_t | sd_ppi_group_task_disable (uint8_t group_num)
| Task to disable a channel group. More...
uint32_t | sd_ppi_group_assign (uint8_t group_num, uint32_t channel_msk)
| Assign PPI channels to a channel group. More...
uint32_t | sd_ppi_group_get (uint8_t group_num, uint32_t *p_channel_msk)
| Gets the PPI channels of a channel group. More...
uint32_t | sd_radio_notification_cfg_set (nrf_radio_notification_type_t type, nrf_radio_notification_distance_t distance)
| Configures the Radio Notification signal. More...
uint32_t | sd_ecb_block_encrypt (nrf_ecb_hal_data_t *p_ecb_data)
| Encrypts a block according to the specified parameters. More...
uint32_t | sd_evt_get (uint32_t *p_evt_id)
| Gets any pending events generated by the SoC API. More...
uint32_t | sd_temp_get (int32_t *p_temp)
| Get the temperature measured on the chip. More...
uint32_t | sd_flash_write (uint32_t *const p_dst, uint32_t const *const p_src, uint32_t size)
| Flash Write. More...
uint32_t | sd_flash_page_erase (uint32_t page_number)
| Flash Erase page. More...
uint32_t | sd_flash_protect (uint32_t protenset0, uint32_t protenset1)
| Flash Protection set. More...

## Detailed Description

## Function Documentation

uint32_t sd_app_evt_wait | ( | void |  | ) |

Waits for an application event.

An application event is either an application interrupt or a pended interrupt when the interrupt is disabled. When the interrupt is enabled it will be taken immediately since this function will wait in thread mode, then the execution will return in the application's main thread. When an interrupt is disabled and gets pended it will return to the application's thread main. The application must ensure that the pended flag is cleared using sd_nvic_ClearPendingIRQ in order to sleep using this function. This is only necessary for disabled interrupts, as the interrupt handler will clear the pending flag automatically for enabled interrupts.

In order to wake up from disabled interrupts, the SEVONPEND flag has to be set in the Cortex-M0 System Control Register (SCR).

See Also
  CMSIS_SCB

Note
  If an application interrupt has happened since the last time sd_app_evt_wait was called this function will return immediately and not go to sleep. This is to avoid race conditions that can occur when a flag is updated in the interrupt handler and processed in the main loop.

Postcondition
  An application interrupt has happened or a interrupt pending flag is set.

Return values

  NRF_SUCCESS |

uint32_t sd_clock_hfclk_is_running | ( | uint32_t * | p_is_running | ) |

Checks if the high frequency crystal oscillator is running.

See Also
  sd_clock_hfclk_request
  sd_clock_hfclk_release

Parameters

  [out] | p_is_running | 1 if the external crystal oscillator is running, 0 if not.

Return values

  NRF_SUCCESS |

uint32_t sd_clock_hfclk_release | ( | void |  | ) |

Releases the high frequency crystal oscillator.

Will stop the high frequency crystal oscillator, this happens immediately.

See Also
  sd_clock_hfclk_is_running
  sd_clock_hfclk_request

Return values

  NRF_SUCCESS |

uint32_t sd_clock_hfclk_request | ( | void |  | ) |

Request the high frequency crystal oscillator.

Will start the high frequency crystal oscillator, the startup time of the crystal varies and the sd_clock_hfclk_is_running function can be polled to check if it has started.

See Also
  sd_clock_hfclk_is_running
  sd_clock_hfclk_release

Return values

  NRF_SUCCESS |

uint32_t sd_ecb_block_encrypt | ( | nrf_ecb_hal_data_t * | p_ecb_data | ) |

Encrypts a block according to the specified parameters.

128-bit AES encryption.

Parameters

  [in,out] | p_ecb_data | Pointer to the ECB parameters' struct (two input parameters and one output parameter).

Return values

  NRF_SUCCESS |

uint32_t sd_evt_get | ( | uint32_t * | p_evt_id | ) |

Gets any pending events generated by the SoC API.

The application should keep calling this function to get events, until NRF_ERROR_NOT_FOUND is returned.

Parameters

  [out] | p_evt_id | Set to one of the values in NRF_SOC_EVTS, if any events are pending.

Return values

  NRF_SUCCESS | An event was pending. The event id is written in the p_evt_id parameter.
  NRF_ERROR_NOT_FOUND | No pending events.

uint32_t sd_flash_page_erase | ( | uint32_t | page_number | ) |

Flash Erase page.

Commands to erase a flash page

This call initiates the flash access command, and its completion will be communicated to the application with exactly one of the following events:

- NRF_EVT_FLASH_OPERATION_SUCCESS - The command was successfully completed.
- NRF_EVT_FLASH_OPERATION_ERROR - The command could not be started.

Note
  - This call takes control over the radio and the CPU during flash erase and write to make sure that they will not interfere with the flash access. This means that all interrupts will be blocked for a predictable time (depending on the NVMC specification in nRF51 Series Reference Manual and the command parameters).

Parameters

  [in] | page_number | Pagenumber of the page to erase

Return values

  NRF_ERROR_INTERNAL | If a new session could not be opened due to an internal error.
  NRF_ERROR_INVALID_ADDR | Tried to erase to a non existing flash page.
  NRF_ERROR_BUSY | The previous command has not yet completed.
  NRF_ERROR_FORBIDDEN | Tried to erase a protected page.
  NRF_SUCCESS | The command was accepted.

uint32_t sd_flash_protect | ( | uint32_t | protenset0,
|  | uint32_t | protenset1
| ) |  |

Flash Protection set.

Commands to set the flash protection registers PROTENSETx

Note
  To read the values in PROTENSETx you can read them directly. They are only write-protected.

Parameters

  [in] | protenset0 | Value to be written to PROTENSET0
  [in] | protenset1 | Value to be written to PROTENSET1

Return values

  NRF_ERROR_FORBIDDEN | Tried to protect the SoftDevice
  NRF_SUCCESS | Values successfully written to PROTENSETx

uint32_t sd_flash_write | ( | uint32_t *const | p_dst,
|  | uint32_t const *const | p_src,
|  | uint32_t | size
| ) |  |

Flash Write.

Commands to write a buffer to flash

This call initiates the flash access command, and its completion will be communicated to the application with exactly one of the following events:

- NRF_EVT_FLASH_OPERATION_SUCCESS - The command was successfully completed.
- NRF_EVT_FLASH_OPERATION_ERROR - The command could not be started.

Note
  - This call takes control over the radio and the CPU during flash erase and write to make sure that they will not interfere with the flash access. This means that all interrupts will be blocked for a predictable time (depending on the NVMC specification in nRF51 Series Reference Manual and the command parameters).

Parameters

  [in] | p_dst | Pointer to start of flash location to be written.
  [in] | p_src | Pointer to buffer with data to be written
  [in] | size | Number of 32-bit words to write. Maximum size is 256 32bit words.

Return values

  NRF_ERROR_INVALID_ADDR | Tried to write to a non existing flash address, or p_dst or p_src was unaligned.
  NRF_ERROR_BUSY | The previous command has not yet completed.
  NRF_ERROR_INVALID_LENGTH | Size was 0, or more than 256 words.
  NRF_ERROR_FORBIDDEN | Tried to write to or read from protected location.
  NRF_SUCCESS | The command was accepted.

uint32_t sd_mutex_acquire | ( | nrf_mutex_t * | p_mutex | ) |

Attempt to acquire a mutex.

Parameters

  [in] | p_mutex | Pointer to the mutex to acquire.

Return values

  NRF_SUCCESS | The mutex was successfully acquired.
  NRF_ERROR_SOC_MUTEX_ALREADY_TAKEN | The mutex could not be acquired.

uint32_t sd_mutex_new | ( | nrf_mutex_t * | p_mutex | ) |

Initialize a mutex.

Parameters

  [in] | p_mutex | Pointer to the mutex to initialize.

Return values

  NRF_SUCCESS |

uint32_t sd_mutex_release | ( | nrf_mutex_t * | p_mutex | ) |

Release a mutex.

Parameters

  [in] | p_mutex | Pointer to the mutex to release.

Return values

  NRF_SUCCESS |

uint32_t sd_nvic_ClearPendingIRQ | ( | IRQn_Type | IRQn | ) |

Clear Pending Interrupt.

Note
  Corresponds to NVIC_ClearPendingIRQ in CMSIS.

Precondition
  {IRQn is valid and not reserved by the stack}

Parameters

  [in] | IRQn | See the NVIC_ClearPendingIRQ documentation in CMSIS.

Return values

  NRF_SUCCESS | The interrupt pending flag is cleared.
  NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE | IRQn is not available for the application.

uint32_t sd_nvic_critical_region_enter | ( | uint8_t * | p_is_nested_critical_region | ) |

Enters critical region.

Postcondition
  Application interrupts will be disabled.

See Also
  sd_nvic_critical_region_exit

Parameters

  [out] | p_is_nested_critical_region | 1: If in a nested critical region. 0: Otherwise.

Return values

  NRF_SUCCESS |

uint32_t sd_nvic_critical_region_exit | ( | uint8_t | is_nested_critical_region | ) |

Exit critical region.

Precondition
  Application has entered a critical region using sd_nvic_critical_region_enter.

Postcondition
  If not in a nested critical region, the application interrupts will restored to the state before sd_nvic_critical_region_enter was called.

Parameters

  [in] | is_nested_critical_region | If this is set to 1, the critical region won't be exited.

See Also
  sd_nvic_critical_region_enter.

Return values

  NRF_SUCCESS |

uint32_t sd_nvic_DisableIRQ | ( | IRQn_Type | IRQn | ) |

Disable External Interrupt.

Note
  Corresponds to NVIC_DisableIRQ in CMSIS.

Precondition
  {IRQn is valid and not reserved by the stack}

Parameters

  [in] | IRQn | See the NVIC_DisableIRQ documentation in CMSIS

Return values

  NRF_SUCCESS | The interrupt was disabled.
  NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE | The interrupt is not available for the application.

uint32_t sd_nvic_EnableIRQ | ( | IRQn_Type | IRQn | ) |

Enable External Interrupt.

Note
  Corresponds to NVIC_EnableIRQ in CMSIS.

Precondition
  {IRQn is valid and not reserved by the stack}

Parameters

  [in] | IRQn | See the NVIC_EnableIRQ documentation in CMSIS.

Return values

  NRF_SUCCESS | The interrupt was enabled.
  NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE | The interrupt is not available for the application.
  NRF_ERROR_SOC_NVIC_INTERRUPT_PRIORITY_NOT_ALLOWED | The interrupt has a priority not available for the application.

uint32_t sd_nvic_GetPendingIRQ | ( | IRQn_Type | IRQn,
|  | uint32_t * | p_pending_irq
| ) |  |

Get Pending Interrupt.

Note
  Corresponds to NVIC_GetPendingIRQ in CMSIS.

Precondition
  {IRQn is valid and not reserved by the stack}

Parameters

  [in] | IRQn | See the NVIC_GetPendingIRQ documentation in CMSIS.
  [out] | p_pending_irq | Return value from NVIC_GetPendingIRQ.

Return values

  NRF_SUCCESS | The interrupt is available for the application.
  NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE | IRQn is not available for the application.

uint32_t sd_nvic_GetPriority | ( | IRQn_Type | IRQn,
|  | nrf_app_irq_priority_t * | p_priority
| ) |  |

Get Interrupt Priority.

Note
  Corresponds to NVIC_GetPriority in CMSIS.

Precondition
  {IRQn is valid and not reserved by the stack}

Parameters

  [in] | IRQn | See the NVIC_GetPriority documentation in CMSIS.
  [out] | p_priority | Return value from NVIC_GetPriority.

Return values

  NRF_SUCCESS | The interrupt priority is returned in p_priority.
  NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE | - IRQn is not available for the application.

uint32_t sd_nvic_SetPendingIRQ | ( | IRQn_Type | IRQn | ) |

Set Pending Interrupt.

Note
  Corresponds to NVIC_SetPendingIRQ in CMSIS.

Precondition
  {IRQn is valid and not reserved by the stack}

Parameters

  [in] | IRQn | See the NVIC_SetPendingIRQ documentation in CMSIS.

Return values

  NRF_SUCCESS | The interrupt is set pending.
  NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE | IRQn is not available for the application.

uint32_t sd_nvic_SetPriority | ( | IRQn_Type | IRQn,
|  | nrf_app_irq_priority_t | priority
| ) |  |

Set Interrupt Priority.

Note
  Corresponds to NVIC_SetPriority in CMSIS.

Precondition
  {IRQn is valid and not reserved by the stack}
  {priority is valid and not reserved by the stack}

Parameters

  [in] | IRQn | See the NVIC_SetPriority documentation in CMSIS.
  [in] | priority | A valid IRQ priority for use by the application.

Return values

  NRF_SUCCESS | The interrupt and priority level is available for the application.
  NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE | IRQn is not available for the application.
  NRF_ERROR_SOC_NVIC_INTERRUPT_PRIORITY_NOT_ALLOWED | The interrupt priority is not available for the application.

uint32_t sd_nvic_SystemReset | ( | void |  | ) |

System Reset.

Note
  Corresponds to NVIC_SystemReset in CMSIS.

Return values

  NRF_ERROR_SOC_NVIC_SHOULD_NOT_RETURN |

uint32_t sd_power_dcdc_mode_set | ( | nrf_power_dcdc_mode_t | dcdc_mode | ) |

Sets the DCDC mode.

Depending on the internal state of the SoftDevice, the mode change may not happen immediately. The DCDC mode switch will be blocked when occurring in close proximity to radio transmissions. When the radio transmission is done, the last mode will be used.

Parameters

  [in] | dcdc_mode | The mode of the DCDC.

Return values

  NRF_SUCCESS |
  NRF_ERROR_INVALID_PARAM | The DCDC mode is invalid.

uint32_t sd_power_gpregret_clr | ( | uint32_t | gpregret_msk | ) |

Clear bits in the NRF_POWER->GPREGRET register.

Parameters

  [in] | gpregret_msk | Bits to be clear in the GPREGRET register.

Return values

  NRF_SUCCESS |

uint32_t sd_power_gpregret_get | ( | uint32_t * | p_gpregret | ) |

Get contents of the NRF_POWER->GPREGRET register.

Parameters

  [out] | p_gpregret | Contents of the GPREGRET register.

Return values

  NRF_SUCCESS |

uint32_t sd_power_gpregret_set | ( | uint32_t | gpregret_msk | ) |

Set bits in the NRF_POWER->GPREGRET register.

Parameters

  [in] | gpregret_msk | Bits to be set in the GPREGRET register.

Return values

  NRF_SUCCESS |

uint32_t sd_power_mode_set | ( | nrf_power_mode_t | power_mode | ) |

Sets the power mode when in CPU sleep.

Parameters

  [in] | power_mode | The power mode to use when in CPU sleep.

See Also
  sd_app_evt_wait

Return values

  NRF_SUCCESS | The power mode was set.
  NRF_ERROR_SOC_POWER_MODE_UNKNOWN | The power mode was unknown.

uint32_t sd_power_pof_enable | ( | uint8_t | pof_enable | ) |

Enables or disables the power-fail comparator.

Enabling this will give a softdevice event (NRF_EVT_POWER_FAILURE_WARNING) when the power failure warning occurs. The event can be retrieved with sd_evt_get();

Parameters

  [in] | pof_enable | True if the power-fail comparator should be enabled, false if it should be disabled.

Return values

  NRF_SUCCESS |

uint32_t sd_power_pof_threshold_set | ( | nrf_power_failure_threshold_t | threshold | ) |

Sets the power-fail threshold value.

Parameters

  [in] | threshold | The power-fail threshold value to use.

Return values

  NRF_SUCCESS | The power failure threshold was set.
  NRF_ERROR_SOC_POWER_POF_THRESHOLD_UNKNOWN | The power failure threshold is unknown.

uint32_t sd_power_ramon_clr | ( | uint32_t | ramon | ) |

Clears bits in the NRF_POWER->RAMON register.

Parameters

  ramon | Contains the bits needed to be cleared in the NRF_POWER->RAMON register.

Return values

  NRF_SUCCESS |

uint32_t sd_power_ramon_get | ( | uint32_t * | p_ramon | ) |

Get contents of NRF_POWER->RAMON register, indicates power status of ram blocks.

Parameters

  [out] | p_ramon | Content of NRF_POWER->RAMON register.

Return values

  NRF_SUCCESS |

uint32_t sd_power_ramon_set | ( | uint32_t | ramon | ) |

Sets bits in the NRF_POWER->RAMON register.

Parameters

  [in] | ramon | Contains the bits needed to be set in the NRF_POWER->RAMON register.

Return values

  NRF_SUCCESS |

uint32_t sd_power_reset_reason_clr | ( | uint32_t | reset_reason_clr_msk | ) |

Clears the bits of the reset reason register.

Parameters

  [in] | reset_reason_clr_msk | Contains the bits to clear from the reset reason register.

Return values

  NRF_SUCCESS |

uint32_t sd_power_reset_reason_get | ( | uint32_t * | p_reset_reason | ) |

Gets the reset reason register.

Parameters

  [out] | p_reset_reason | Contents of the NRF_POWER->RESETREAS register.

Return values

  NRF_SUCCESS |

uint32_t sd_power_system_off | ( | void |  | ) |

Puts the chip in System OFF mode.

Return values

  NRF_ERROR_SOC_POWER_OFF_SHOULD_NOT_RETURN |

uint32_t sd_ppi_channel_assign | ( | uint8_t | channel_num,
|  | const volatile void * | evt_endpoint,
|  | const volatile void * | task_endpoint
| ) |  |

Assign endpoints to a PPI channel.

Parameters

  [in] | channel_num | Number of the PPI channel to assign.
  [in] | evt_endpoint | Event endpoint of the PPI channel.
  [in] | task_endpoint | Task endpoint of the PPI channel.

Return values

  NRF_ERROR_SOC_PPI_INVALID_CHANNEL | The channel number is invalid.
  NRF_SUCCESS |

uint32_t sd_ppi_channel_enable_clr | ( | uint32_t | channel_enable_clr_msk | ) |

Clear PPI channel enable register.

Parameters

  [in] | channel_enable_clr_msk | Mask containing the bits to clear in the PPI CHEN register.

Return values

  NRF_SUCCESS |

uint32_t sd_ppi_channel_enable_get | ( | uint32_t * | p_channel_enable | ) |

Get PPI channel enable register contents.

Parameters

  [out] | p_channel_enable | The contents of the PPI CHEN register.

Return values

  NRF_SUCCESS |

uint32_t sd_ppi_channel_enable_set | ( | uint32_t | channel_enable_set_msk | ) |

Set PPI channel enable register.

Parameters

  [in] | channel_enable_set_msk | Mask containing the bits to set in the PPI CHEN register.

Return values

  NRF_SUCCESS |

uint32_t sd_ppi_group_assign | ( | uint8_t | group_num,
|  | uint32_t | channel_msk
| ) |  |

Assign PPI channels to a channel group.

Parameters

  [in] | group_num | Number of the channel group.
  [in] | channel_msk | Mask of the channels to assign to the group.

Return values

  NRF_ERROR_SOC_PPI_INVALID_GROUP | The group number is invalid.
  NRF_SUCCESS |

uint32_t sd_ppi_group_get | ( | uint8_t | group_num,
|  | uint32_t * | p_channel_msk
| ) |  |

Gets the PPI channels of a channel group.

Parameters

  [in] | group_num | Number of the channel group.
  [out] | p_channel_msk | Mask of the channels assigned to the group.

Return values

  NRF_ERROR_SOC_PPI_INVALID_GROUP | The group number is invalid.
  NRF_SUCCESS |

uint32_t sd_ppi_group_task_disable | ( | uint8_t | group_num | ) |

Task to disable a channel group.

Parameters

  [in] | group_num | Number of the PPI group.

Return values

  NRF_ERROR_SOC_PPI_INVALID_GROUP | The group number is invalid.
  NRF_SUCCESS |

uint32_t sd_ppi_group_task_enable | ( | uint8_t | group_num | ) |

Task to enable a channel group.

Parameters

  [in] | group_num | Number of the channel group.

Return values

  NRF_ERROR_SOC_PPI_INVALID_GROUP | The group number is invalid
  NRF_SUCCESS |

uint32_t sd_radio_notification_cfg_set | ( | nrf_radio_notification_type_t | type,
|  | nrf_radio_notification_distance_t | distance
| ) |  |

Configures the Radio Notification signal.

Note
  - The notification signal latency depends on the interrupt priority settings of SWI used for notification signal.
  - In the period between the ACTIVE signal and the start of the Radio Event, the SoftDevice will interrupt the application to do Radio Event preparation.
  - Using the Radio Notification feature may limit the bandwidth, as the SoftDevice may have to shorten the connection events to have time for the Radio Notification signals.

Parameters

  [in] | type | Type of notification signal. NRF_RADIO_NOTIFICATION_TYPE_NONE shall be used to turn off radio notification. Using NRF_RADIO_NOTIFICATION_DISTANCE_NONE is recommended (but not required) to be used with NRF_RADIO_NOTIFICATION_TYPE_NONE.
  [in] | distance | Distance between the notification signal and start of radio activity. This parameter is ignored when NRF_RADIO_NOTIFICATION_TYPE_NONE or NRF_RADIO_NOTIFICATION_TYPE_INT_ON_INACTIVE is used.

Return values

  NRF_ERROR_INVALID_PARAM | The group number is invalid.
  NRF_SUCCESS |

uint32_t sd_rand_application_bytes_available_get | ( | uint8_t * | p_bytes_available | ) |

Get number of random bytes available to the application.

Parameters

  [out] | p_bytes_available | The number of bytes currently available in the pool.

Return values

  NRF_SUCCESS |

uint32_t sd_rand_application_pool_capacity_get | ( | uint8_t * | p_pool_capacity | ) |

Query the capacity of the application random pool.

Parameters

  [out] | p_pool_capacity | The capacity of the pool.

Return values

  NRF_SUCCESS |

uint32_t sd_rand_application_vector_get | ( | uint8_t * | p_buff,
|  | uint8_t | length
| ) |  |

Get random bytes from the application pool.

Parameters

  [out] | p_buff | Pointer to unit8_t buffer for storing the bytes.
  [in] | length | Number of bytes to take from pool and place in p_buff.

Return values

  NRF_SUCCESS | The requested bytes were written to p_buff.
  NRF_ERROR_SOC_RAND_NOT_ENOUGH_VALUES | No bytes were written to the buffer, because there were not enough bytes available.

uint32_t sd_temp_get | ( | int32_t * | p_temp | ) |

Get the temperature measured on the chip.

This function will block until the temperature measurement is done. It takes around 50us from call to return.

Note
  Pan #28 in PAN-028 v 1.6 "Negative measured values are not represented correctly" is corrected by this function.

Parameters

  [out] | p_temp | Result of temperature measurement. Die temperature in 0.25 degrees celsius.

Return values

  NRF_SUCCESS | A temperature measurement was done, and the temperature was written to temp