diff options
Diffstat (limited to 'stmhal/rng.c')
-rw-r--r-- | stmhal/rng.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/stmhal/rng.c b/stmhal/rng.c new file mode 100644 index 0000000000..20d840a6a5 --- /dev/null +++ b/stmhal/rng.c @@ -0,0 +1,21 @@ +#include "stm32f4xx_hal.h" + +#include "misc.h" +#include "mpconfig.h" +#include "qstr.h" +#include "obj.h" +#include "rng.h" + +STATIC RNG_HandleTypeDef RngHandle; + +void rng_init(void) { + __RNG_CLK_ENABLE(); + RngHandle.Instance = RNG; + HAL_RNG_Init(&RngHandle); +} + +STATIC mp_obj_t pyb_rng_get(void) { + return mp_obj_new_int(HAL_RNG_GetRandomNumber(&RngHandle) >> 2); +} + +MP_DEFINE_CONST_FUN_OBJ_0(pyb_rng_get_obj, pyb_rng_get); |