From b3c635dc4b9ba6ae0d02d32e4ac5ecacbda73ca2 Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Sat, 4 Apr 2015 08:01:46 +0000 Subject: [PATCH] Fixed error in chVTDoResetI() git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@7850 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/hal/ports/STM32/LLD/TIMv1/st_lld.h | 1 - os/rt/src/chvt.c | 5 +++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/os/hal/ports/STM32/LLD/TIMv1/st_lld.h b/os/hal/ports/STM32/LLD/TIMv1/st_lld.h index 571396d91..8adba0de3 100644 --- a/os/hal/ports/STM32/LLD/TIMv1/st_lld.h +++ b/os/hal/ports/STM32/LLD/TIMv1/st_lld.h @@ -165,7 +165,6 @@ static inline void st_lld_stop_alarm(void) { static inline void st_lld_set_alarm(systime_t time) { STM32_ST_TIM->CCR[0] = (uint32_t)time; - STM32_ST_TIM->SR = 0; } /** diff --git a/os/rt/src/chvt.c b/os/rt/src/chvt.c index 58fce1f6d..8ec94e4e4 100644 --- a/os/rt/src/chvt.c +++ b/os/rt/src/chvt.c @@ -217,6 +217,7 @@ void chVTDoResetI(virtual_timer_t *vtp) { /* Removing the first timer from the list.*/ ch.vtlist.vt_next = vtp->vt_next; ch.vtlist.vt_next->vt_prev = (virtual_timer_t *)&ch.vtlist; + vtp->vt_func = NULL; /* If the list become empty then the alarm timer is stopped and done.*/ if (&ch.vtlist == (virtual_timers_list_t *)ch.vtlist.vt_next) { @@ -230,9 +231,9 @@ void chVTDoResetI(virtual_timer_t *vtp) { /* If the new first timer has a delta of zero then the alarm is not modified, the already programmed alarm will serve it.*/ - if (ch.vtlist.vt_next->vt_delta == 0) { +/* if (ch.vtlist.vt_next->vt_delta == 0) { return; - } + }*/ /* Distance in ticks between the last alarm event and current time.*/ nowdelta = chVTGetSystemTimeX() - ch.vtlist.vt_lasttime;