From e70b5dbe589ea1c085247ca21c7b4d0efd972c27 Mon Sep 17 00:00:00 2001 From: Damien George <damien.p.george@gmail.com> Date: Wed, 2 Jul 2014 14:09:44 +0100 Subject: [PATCH] stmhal: Some reordering of code/functions. --- stmhal/main.c | 3 +-- stmhal/timer.c | 25 +++++++++++++------------ 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/stmhal/main.c b/stmhal/main.c index c67457457..ae4ff5141 100644 --- a/stmhal/main.c +++ b/stmhal/main.c @@ -548,9 +548,8 @@ soft_reset: printf("PYB: sync filesystems\n"); storage_flush(); - timer_deinit(); - printf("PYB: soft reboot\n"); + timer_deinit(); first_soft_reset = false; goto soft_reset; diff --git a/stmhal/timer.c b/stmhal/timer.c index 8634c46bf..73842e4b1 100644 --- a/stmhal/timer.c +++ b/stmhal/timer.c @@ -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 @@ -366,8 +379,6 @@ STATIC mp_obj_t pyb_timer_init(uint n_args, const mp_obj_t *args, mp_map_t *kw_a } STATIC MP_DEFINE_CONST_FUN_OBJ_KW(pyb_timer_init_obj, 1, pyb_timer_init); -STATIC mp_obj_t pyb_timer_callback(mp_obj_t self_in, mp_obj_t callback); - /// \method deinit() /// Deinitialises the timer. /// @@ -471,16 +482,6 @@ const mp_obj_type_t pyb_timer_type = { .locals_dict = (mp_obj_t)&pyb_timer_locals_dict, }; -// 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); - } - } -} - void timer_irq_handler(uint tim_id) { if (tim_id - 1 < PYB_TIMER_OBJ_ALL_NUM) { // get the timer object -- GitLab