Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
uPython-mirror
Commits
5e6419cb
Commit
5e6419cb
authored
Jul 02, 2014
by
Damien George
Browse files
Merge branch 'dhylands-add-timer-deinit'
parents
9cd96cf2
e70b5dbe
Changes
3
Hide whitespace changes
Inline
Side-by-side
stmhal/main.c
View file @
5e6419cb
...
...
@@ -549,6 +549,7 @@ soft_reset:
storage_flush
();
printf
(
"PYB: soft reboot
\n
"
);
timer_deinit
();
first_soft_reset
=
false
;
goto
soft_reset
;
...
...
stmhal/timer.c
View file @
5e6419cb
...
...
@@ -107,6 +107,9 @@ static uint32_t tim3_counter = 0;
STATIC
pyb_timer_obj_t
*
pyb_timer_obj_all
[
14
];
#define PYB_TIMER_OBJ_ALL_NUM MP_ARRAY_SIZE(pyb_timer_obj_all)
STATIC
mp_obj_t
pyb_timer_deinit
(
mp_obj_t
self_in
);
STATIC
mp_obj_t
pyb_timer_callback
(
mp_obj_t
self_in
,
mp_obj_t
callback
);
void
timer_init0
(
void
)
{
tim3_counter
=
0
;
for
(
uint
i
=
0
;
i
<
PYB_TIMER_OBJ_ALL_NUM
;
i
++
)
{
...
...
@@ -114,6 +117,16 @@ void timer_init0(void) {
}
}
// unregister all interrupt sources
void
timer_deinit
(
void
)
{
for
(
uint
i
=
0
;
i
<
PYB_TIMER_OBJ_ALL_NUM
;
i
++
)
{
pyb_timer_obj_t
*
tim
=
pyb_timer_obj_all
[
i
];
if
(
tim
!=
NULL
)
{
pyb_timer_deinit
(
tim
);
}
}
}
// TIM3 is set-up for the USB CDC interface
void
timer_tim3_init
(
void
)
{
// set up the timer for USBD CDC
...
...
@@ -369,10 +382,15 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_KW(pyb_timer_init_obj, 1, pyb_timer_init);
/// \method deinit()
/// Deinitialises the timer.
///
/// *This function is not yet implemented.*
/// Disables the callback (and the associated irq).
/// Stops the timer, and disables the timer peripheral.
STATIC
mp_obj_t
pyb_timer_deinit
(
mp_obj_t
self_in
)
{
//pyb_timer_obj_t *self = self_in;
// TODO implement me
pyb_timer_obj_t
*
self
=
self_in
;
// Disable the interrupt
pyb_timer_callback
(
self_in
,
mp_const_none
);
HAL_TIM_Base_DeInit
(
&
self
->
tim
);
return
mp_const_none
;
}
STATIC
MP_DEFINE_CONST_FUN_OBJ_1
(
pyb_timer_deinit_obj
,
pyb_timer_deinit
);
...
...
stmhal/timer.h
View file @
5e6419cb
...
...
@@ -40,4 +40,6 @@ void timer_tim3_init(void);
void
timer_tim5_init
(
void
);
void
timer_tim6_init
(
uint
freq
);
void
timer_deinit
(
void
);
void
timer_irq_handler
(
uint
tim_id
);
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a 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