X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=drv%2Ftimer.c;h=33188771e1e2711b046ebcf7a4db4e5a1fd09b06;hb=f52e46baa21748f30f30a9e725edbf90b420ed24;hp=bf65778db7df61918ceba16d0586505b02b3f1c9;hpb=fc978885d252a546f65e0e6691b81999dd03ff4f;p=bertos.git diff --git a/drv/timer.c b/drv/timer.c index bf65778d..33188771 100755 --- a/drv/timer.c +++ b/drv/timer.c @@ -1,7 +1,7 @@ -/*! +/** * \file * @@ -14,6 +14,18 @@ /*#* *#* $Log$ + *#* Revision 1.31 2006/07/19 12:56:26 bernie + *#* Convert to new Doxygen style. + *#* + *#* Revision 1.30 2006/02/24 00:26:49 bernie + *#* Fixes for CONFIG_KERNEL. + *#* + *#* Revision 1.29 2006/02/17 22:24:07 bernie + *#* Add MOD_CHECK() checks. + *#* + *#* Revision 1.28 2006/02/10 12:32:52 bernie + *#* Update Copyright year. + *#* *#* Revision 1.27 2005/11/27 03:04:08 bernie *#* Move test code to timer_test.c; Add OS_HOSTED support. *#* @@ -43,6 +55,7 @@ #include #include #include +#include #include /* @@ -69,12 +82,17 @@ #include #endif -#if CONFIG_KERNEL && CONFIG_KERN_SIGNALS - #include +#if CONFIG_KERNEL + #include + #if CONFIG_KERN_SIGNALS + #include /* sig_wait(), sig_check() */ + #include /* proc_current() */ + #include /* BV() */ + #endif #endif -/*! +/** * \def CONFIG_TIMER_STROBE * * This is a debug facility that can be used to @@ -91,19 +109,19 @@ #endif -//! Master system clock (1 tick accuracy) +/// Master system clock (1 tick accuracy) volatile ticks_t _clock; #ifndef CONFIG_TIMER_DISABLE_EVENTS -/*! +/** * List of active asynchronous timers. */ REGISTER static List timers_queue; -/*! +/** * Add the specified timer to the software timer service queue. * When the delay indicated by the timer expires, the timer * device will execute the event associated with it. @@ -144,13 +162,13 @@ void timer_add(Timer *timer) } /* Enqueue timer request into the list */ - INSERTBEFORE(&timer->link, &node->link); + INSERT_BEFORE(&timer->link, &node->link); IRQ_RESTORE(flags); } -/*! +/** * Remove a timer from the timer queue before it has expired. */ Timer *timer_abort(Timer *timer) @@ -164,8 +182,8 @@ Timer *timer_abort(Timer *timer) #endif /* CONFIG_TIMER_DISABLE_EVENTS */ -/*! - * Wait for the specified amount of time (expressed in ms). +/** + * Wait for the specified amount of timer ticks. */ void timer_delayTicks(ticks_t delay) { @@ -179,7 +197,7 @@ void timer_delayTicks(ticks_t delay) ASSERT(!sig_check(SIG_SINGLE)); timer_set_event_signal(&t, proc_current(), SIG_SINGLE); - timer_set_delay(&t, delay); + timer_setDelay(&t, delay); timer_add(&t); sig_wait(SIG_SINGLE); @@ -201,7 +219,7 @@ void timer_delayTicks(ticks_t delay) #ifndef CONFIG_TIMER_DISABLE_UDELAY -/*! +/** * Busy wait until the specified amount of high-precision ticks have elapsed. * * \note This function is interrupt safe, the only @@ -228,7 +246,7 @@ void timer_busyWait(hptime_t delay) } } -/*! +/** * Wait for the specified amount of time (expressed in microseconds). * * \bug In AVR arch the maximum amount of time that can be used as @@ -248,7 +266,7 @@ void timer_delayHp(hptime_t delay) #endif /* CONFIG_TIMER_DISABLE_UDELAY */ -/*! +/** * Timer interrupt handler. Find soft timers expired and * trigger corresponding events. */ @@ -300,8 +318,9 @@ DEFINE_TIMER_ISR TIMER_STROBE_OFF; } +MOD_DEFINE(timer) -/*! +/** * Initialize timer */ void timer_init(void) @@ -315,4 +334,6 @@ void timer_init(void) _clock = 0; timer_hw_init(); + + MOD_INIT(timer); }