projects
/
bertos.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add constants at the beginning of the mk file
[bertos.git]
/
bertos
/
drv
/
timer.h
diff --git
a/bertos/drv/timer.h
b/bertos/drv/timer.h
index aaa35dc6732fca49ccce295ead3b98b264f5bf56..3b4ccc9e209f0b0414aeaa49addebf0869517767 100644
(file)
--- a/
bertos/drv/timer.h
+++ b/
bertos/drv/timer.h
@@
-27,16
+27,16
@@
* the GNU General Public License.
*
* Copyright 2003, 2004, 2005 Develer S.r.l. (http://www.develer.com/)
* the GNU General Public License.
*
* Copyright 2003, 2004, 2005 Develer S.r.l. (http://www.develer.com/)
- * Copyright 2000 Bernie Innocenti <bernie@codewiz.org>
- *
+ * Copyright 2000, 2008 Bernie Innocenti <bernie@codewiz.org>
* -->
*
* -->
*
- * \brief Hardware independent timer driver
(interface)
+ * \brief Hardware independent timer driver
.
*
* \version $Id$
*
* \version $Id$
- *
* \author Bernie Innocenti <bernie@codewiz.org>
*
* \author Bernie Innocenti <bernie@codewiz.org>
*
+ * $WIZ$ module_name = "timer"
+ * $WIZ$ module_configuration = "bertos/cfg/cfg_timer.h"
*/
#ifndef DRV_TIMER_H
*/
#ifndef DRV_TIMER_H
@@
-54,7
+54,8
@@
* Try the CPU specific one for bare-metal environments.
*/
#if OS_HOSTED
* Try the CPU specific one for bare-metal environments.
*/
#if OS_HOSTED
- #include OS_HEADER(timer)
+ //#include OS_HEADER(timer)
+ #include <emul/timer_posix.h>
#else
#include CPU_HEADER(timer)
#endif
#else
#include CPU_HEADER(timer)
#endif
@@
-92,12
+93,18
@@
extern volatile ticks_t _clock;
* The following code is safe:
*
* \code
* The following code is safe:
*
* \code
+ * drop_teabag();
* ticks_t tea_start_time = timer_clock();
*
* ticks_t tea_start_time = timer_clock();
*
- * boil_water();
- *
- * if (timer_clock() - tea_start_time > TEAPOT_DELAY)
- * printf("Your tea, Sir.\n");
+ * for (;;)
+ * {
+ * if (timer_clock() - tea_start_time > TEAPOT_DELAY)
+ * {
+ * printf("Your tea, Sir.\n");
+ * break;
+ * }
+ * patience();
+ * }
* \endcode
*
* \note This function must disable interrupts on 8/16bit CPUs because the
* \endcode
*
* \note This function must disable interrupts on 8/16bit CPUs because the
@@
-229,8
+236,8
@@
INLINE void timer_udelay(utime_t delay)
typedef struct Timer
{
Node link; /**< Link into timers queue */
typedef struct Timer
{
Node link; /**< Link into timers queue */
- ticks_t _delay; /**<
Timer delay in ms
*/
- ticks_t tick; /**<
Timer will expire at this tick
*/
+ ticks_t _delay; /**<
[ticks] Timer delay
*/
+ ticks_t tick; /**<
[ticks] When this timer will expire
*/
Event expire; /**< Event to execute when the timer expires */
DB(uint16_t magic;)
} Timer;
Event expire; /**< Event to execute when the timer expires */
DB(uint16_t magic;)
} Timer;
@@
-243,14
+250,11
@@
void timer_add(Timer *timer);
Timer *timer_abort(Timer *timer);
/** Set the timer so that it calls an user hook when it expires */
Timer *timer_abort(Timer *timer);
/** Set the timer so that it calls an user hook when it expires */
-INLINE void timer_setSoft
I
nt(Timer *timer, Hook func, iptr_t user_data)
+INLINE void timer_setSoft
i
nt(Timer *timer, Hook func, iptr_t user_data)
{
{
- event_initSoft
I
nt(&timer->expire, func, user_data);
+ event_initSoft
i
nt(&timer->expire, func, user_data);
}
}
-// OBSOLETE
-#define timer_set_event_softint timer_setSoftInt
-
/** Set the timer delay (the time before the event will be triggered) */
INLINE void timer_setDelay(Timer *timer, ticks_t delay)
{
/** Set the timer delay (the time before the event will be triggered) */
INLINE void timer_setDelay(Timer *timer, ticks_t delay)
{
@@
-262,12
+266,13
@@
INLINE void timer_setDelay(Timer *timer, ticks_t delay)
#if defined(CONFIG_KERN_SIGNALS) && CONFIG_KERN_SIGNALS
/** Set the timer so that it sends a signal when it expires */
#if defined(CONFIG_KERN_SIGNALS) && CONFIG_KERN_SIGNALS
/** Set the timer so that it sends a signal when it expires */
-INLINE void timer_set
_event_s
ignal(Timer *timer, struct Process *proc, sigmask_t sigs)
+INLINE void timer_set
S
ignal(Timer *timer, struct Process *proc, sigmask_t sigs)
{
event_initSignal(&timer->expire, proc, sigs);
}
{
event_initSignal(&timer->expire, proc, sigs);
}
-#
endif /* CONFIG_KERN_SIGNALS */
+#
define timer_set_event_signal timer_setSignal
+#endif /* CONFIG_KERN_SIGNALS */
#endif /* DRV_TIMER_H */
#endif /* DRV_TIMER_H */