Driver for managing the random number generator (RNG).
More...
Driver for managing the random number generator (RNG).
#define NRF_DRV_RNG_DEFAULT_CONFIG |
Value:{ \
.error_correction = RNG_CONFIG_ERROR_CORRECTION, \
.interrupt_priority = RNG_CONFIG_IRQ_PRIORITY, \
}
RNG default configuration.
ret_code_t 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. |
- Return values
-
NRF_SUCCESS | If the number of available random bytes was written to p_bytes_available. |
NRF_ERROR_INVALID_STATE | If the driver was not initialized. |
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_INVALID_STATE | Driver was already initialized. |
NRF_ERROR_INVALID_LENGTH | Pool size have to be a power of 2. |
NRF_ERROR_SOFTDEVICE_NOT_ENABLED | SoftDevice is present, but not enabled. |
ret_code_t nrf_drv_rng_pool_capacity |
( |
uint8_t * |
p_pool_capacity | ) |
|
Function for querying the capacity of the application random pool.
- Parameters
-
[out] | p_pool_capacity | The capacity of the pool. |
- Return values
-
NRF_SUCCESS | If the capacity of the pool was written to p_pool_capacity. |
NRF_ERROR_INVALID_STATE | If the driver was not 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 unit8_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_INVALID_STATE | If the driver was not initialized. |
NRF_ERROR_NO_MEM | If no bytes were written to the buffer because there were not enough bytes available in p_buff. |
NRF_ERROR_SOC_RAND_NOT_ENOUGH_VALUES | If no bytes were written to the buffer because there were not enough bytes available in the pool. |