/** * @file node_rng.h * @author * @brief This is the header file for the node_rng component. * @version 1.0 * @date 2025-10-21 * @ref Alientek RNG Driver * @copyright Copyright (c) 2024 * */#pragma once#ifdef __cplusplusextern"C"{#endif#include<stdint.h>#include<stddef.h>#include<string.h>#include<sys/param.h>#include"esp_attr.h"#include"esp_cpu.h"#include"soc/wdev_reg.h"#include"esp_random.h"#include"esp_private/esp_clk.h"/* Function Declarations *//** * @brief Get a random number * @param None * @retval Random number (32-bit) */uint32_trng_get_random_num(void);/* Get a random number *//** * @brief Get a random number within a specific range * @param min,max: Minimum and maximum values * @retval Random number (rval), satisfying: min <= rval <= max */intrng_get_random_range(intmin,intmax);/* Get a random number within a specific range */#ifdef __cplusplus}#endif
/** * @file node_rng.c * @author * @brief This is the source file for the node_rng component. * @version 1.0 * @date 2025-10-21 * @ref Alientek RNG Driver * @copyright Copyright (c) 2024 * */#include"node_rng.h"#ifdef __cplusplusextern"C"{#endif/** * @brief Get a random number * @param None * @retval Random number (32-bit) */uint32_trng_get_random_num(void){uint32_trandomnum;randomnum=esp_random();returnrandomnum;}/** * @brief Get a random number within a specific range * @param min,max: Minimum and maximum values * @retval Random number (rval), satisfying: min <= rval <= max */intrng_get_random_range(intmin,intmax){uint32_trandomnum;randomnum=esp_random();returnrandomnum%(max-min+1)+min;}#ifdef __cplusplus}#endif