nRF5 SDK v13.0.0
Modules | Data Structures | Macros | Functions

Driver for managing the random number generator (RNG). More...

Modules

 RNG peripheral driver configuration
 

Data Structures

struct  nrf_drv_rng_config_t
 Struct for RNG configuration. More...
 

Macros

#define NRF_DRV_RNG_DEFAULT_CONFIG
 RNG default configuration. More...
 

Functions

ret_code_t nrf_drv_rng_init (nrf_drv_rng_config_t const *p_config)
 Function for initializing the nrf_drv_rng module. More...
 
void nrf_drv_rng_uninit (void)
 Function for uninitializing the nrf_drv_rng module.
 
void nrf_drv_rng_bytes_available (uint8_t *p_bytes_available)
 Function for getting the number of currently available random bytes. More...
 
ret_code_t nrf_drv_rng_rand (uint8_t *p_buff, uint8_t length)
 Function for getting the vector of random numbers. More...
 
void nrf_drv_rng_block_rand (uint8_t *p_buff, uint32_t length)
 Blocking function for getting an arbitrary array of random numbers. More...
 

Detailed Description

Driver for managing the random number generator (RNG).

Macro Definition Documentation

#define NRF_DRV_RNG_DEFAULT_CONFIG
Value:
{ \
.error_correction = RNG_CONFIG_ERROR_CORRECTION, \
.interrupt_priority = RNG_CONFIG_IRQ_PRIORITY, \
}

RNG default configuration.

Function Documentation

void nrf_drv_rng_block_rand ( uint8_t *  p_buff,
uint32_t  length 
)

Blocking function for getting an arbitrary array of random numbers.

Note
This function may execute for a substantial amount of time depending on the length of the buffer required and on the state of the current internal pool of random numbers.
Parameters
[out]p_buffPointer to uint8_t buffer for storing the bytes.
[in]lengthNumber of bytes place in p_buff.
void nrf_drv_rng_bytes_available ( uint8_t *  p_bytes_available)

Function for getting the number of currently available random bytes.

Parameters
[out]p_bytes_availableThe number of bytes currently available in the pool.
ret_code_t nrf_drv_rng_init ( nrf_drv_rng_config_t const *  p_config)

Function for initializing the nrf_drv_rng module.

Parameters
[in]p_configInitial configuration. Default configuration used if NULL.
Return values
NRF_SUCCESSDriver was successfully initialized.
NRF_ERROR_MODULE_ALREADY_INITIALIZEDDriver was already initialized.
ret_code_t nrf_drv_rng_rand ( uint8_t *  p_buff,
uint8_t  length 
)

Function for getting the vector of random numbers.

Parameters
[out]p_buffPointer to uint8_t buffer for storing the bytes.
[in]lengthNumber of bytes to take from the pool and place in p_buff.
Return values
NRF_SUCCESSIf the requested bytes were written to p_buff.
NRF_ERROR_NOT_FOUNDIf no bytes were written to the buffer because there were not enough bytes available in the pool.

Documentation feedback | Developer Zone | Subscribe | Updated