-/*!
+/**
* \file
* <!--
* Copyright 2003, 2004, 2005, 2006 Develer S.r.l. (http://www.develer.com/)
/*#*
*#* $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.
*#*
#include <drv/wdt.h>
#endif
-#if CONFIG_KERNEL && CONFIG_KERN_SIGNALS
- #include <kern/proc.h>
+#if CONFIG_KERNEL
+ #include <config_kern.h>
+ #if CONFIG_KERN_SIGNALS
+ #include <kern/signal.h> /* sig_wait(), sig_check() */
+ #include <kern/proc.h> /* proc_current() */
+ #include <cfg/macros.h> /* BV() */
+ #endif
#endif
-/*!
+/**
* \def CONFIG_TIMER_STROBE
*
* This is a debug facility that can be used to
#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.
}
/* 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)
#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)
{
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);
#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
}
}
-/*!
+/**
* Wait for the specified amount of time (expressed in microseconds).
*
* \bug In AVR arch the maximum amount of time that can be used as
#endif /* CONFIG_TIMER_DISABLE_UDELAY */
-/*!
+/**
* Timer interrupt handler. Find soft timers expired and
* trigger corresponding events.
*/
MOD_DEFINE(timer)
-/*!
+/**
* Initialize timer
*/
void timer_init(void)