summaryrefslogtreecommitdiff
path: root/stmhal/timer.c
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2014-07-02 14:09:44 +0100
committerDamien George <damien.p.george@gmail.com>2014-07-02 14:09:44 +0100
commite70b5dbe589ea1c085247ca21c7b4d0efd972c27 (patch)
tree7c9519100291697b52c3e08231bd3b39cc67f93c /stmhal/timer.c
parent92a47b4dae14189cfd6572ee6eef09b973069d0d (diff)
stmhal: Some reordering of code/functions.
Diffstat (limited to 'stmhal/timer.c')
-rw-r--r--stmhal/timer.c25
1 files changed, 13 insertions, 12 deletions
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