Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
uPython-mirror
Commits
13c19c57
Commit
13c19c57
authored
Apr 20, 2014
by
Damien George
Browse files
stmhal: Only init RNG if it's used.
parent
0a6e9f56
Changes
3
Hide whitespace changes
Inline
Side-by-side
stmhal/main.c
View file @
13c19c57
...
...
@@ -458,8 +458,7 @@ soft_reset:
#endif
#if MICROPY_HW_ENABLE_RNG
// RNG
rng_init
();
rng_init0
();
#endif
#if MICROPY_HW_ENABLE_TIMER
...
...
stmhal/rng.c
View file @
13c19c57
#include
<string.h>
#include
"stm32f4xx_hal.h"
#include
"misc.h"
...
...
@@ -6,20 +8,35 @@
#include
"obj.h"
#include
"rng.h"
STATIC
RNG_HandleTypeDef
RngHandle
;
#if MICROPY_HW_ENABLE_RNG
STATIC
RNG_HandleTypeDef
RNGHandle
=
{.
Instance
=
NULL
};
void
rng_init0
(
void
)
{
// reset the RNG handle
memset
(
&
RNGHandle
,
0
,
sizeof
(
RNG_HandleTypeDef
));
RNGHandle
.
Instance
=
RNG
;
}
void
rng_init
(
void
)
{
__RNG_CLK_ENABLE
();
RngHandle
.
Instance
=
RNG
;
HAL_RNG_Init
(
&
RngHandle
);
HAL_RNG_Init
(
&
RNGHandle
);
}
uint32_t
rng_get
(
void
)
{
return
HAL_RNG_GetRandomNumber
(
&
RngHandle
);
if
(
RNGHandle
.
State
==
HAL_RNG_STATE_RESET
)
{
rng_init
();
}
return
HAL_RNG_GetRandomNumber
(
&
RNGHandle
);
}
STATIC
mp_obj_t
pyb_rng_get
(
void
)
{
return
mp_obj_new_int
(
HAL_RNG_GetRandomNumber
(
&
RngHandle
)
>>
2
);
if
(
RNGHandle
.
State
==
HAL_RNG_STATE_RESET
)
{
rng_init
();
}
return
mp_obj_new_int
(
HAL_RNG_GetRandomNumber
(
&
RNGHandle
)
>>
2
);
}
MP_DEFINE_CONST_FUN_OBJ_0
(
pyb_rng_get_obj
,
pyb_rng_get
);
#endif // MICROPY_HW_ENABLE_RNG
stmhal/rng.h
View file @
13c19c57
void
rng_init
(
void
);
void
rng_init
0
(
void
);
uint32_t
rng_get
(
void
);
MP_DECLARE_CONST_FUN_OBJ
(
pyb_rng_get_obj
);
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment