RNG driver

nRF5 SDK v12.2.0

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

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_buff Pointer to uint8_t buffer for storing the bytes.
[in] length Number 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_available The 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_config Initial configuration. Default configuration used if NULL.
Return values
NRF_SUCCESS Driver was successfully initialized.
NRF_ERROR_MODULE_ALREADY_INITIALIZED Driver 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_buff Pointer to uint8_t buffer for storing the bytes.
[in] length Number of bytes to take from the pool and place in p_buff.
Return values
NRF_SUCCESS If the requested bytes were written to p_buff.
NRF_ERROR_NOT_FOUND If no bytes were written to the buffer because there were not enough bytes available in the pool.