Updated with Doxygen 1.3.8.
[bertos.git] / drv / timer.h
index 07147416e1eaaf9f831b702aa737b1dd18abc0d4..09d97c1307a7b78a10a2e0e934482d79dbb6f2f9 100755 (executable)
 
 /*
  * $Log$
+ * Revision 1.14  2004/08/03 15:50:03  aleph
+ * Rename timer_tick() to timer_ticks()
+ *
+ * Revision 1.13  2004/08/02 20:20:29  aleph
+ * Merge from project_ks
+ *
  * Revision 1.12  2004/07/30 14:34:10  rasky
  * Vari fix per documentazione e commenti
  * Aggiunte PP_CATn e STATIC_ASSERT
@@ -62,7 +68,7 @@
 #include <mware/list.h>
 
 /*! Number of timer ticks per second. */
-#define TICKS_PER_SEC       1000
+#define TICKS_PER_SEC  ((time_t)1000)
 
 /* Function protos */
 extern void timer_init(void);
@@ -149,7 +155,7 @@ extern volatile time_t _clock;
  * clock variable is larger than the processor word size and can't
  * be copied atomically.
  */
-INLINE time_t timer_tick(void)
+INLINE time_t timer_ticks(void)
 {
        time_t result;
        cpuflags_t flags;
@@ -162,23 +168,36 @@ INLINE time_t timer_tick(void)
 }
 
 /* OBSOLETE */
-#define timer_gettick timer_tick
+#define timer_gettick timer_ticks
 
 
 /*!
- * Faster version of timer_tick(), to be called only when the timer
+ * Faster version of timer_ticks(), to be called only when the timer
  * interrupt is disabled (DISABLE_INTS) or overridden by a
  * higher-priority or non-nesting interrupt.
  *
- * \sa timer_tick
+ * \sa timer_ticks
  */
-INLINE time_t timer_tick_unlocked(void)
+INLINE time_t timer_ticks_unlocked(void)
 {
        return _clock;
 }
 
 /* OBSOLETE */
-#define timer_gettick_irq timer_tick_unlocked
+#define timer_gettick_irq timer_ticks_unlocked
+
+
+/*!
+ * Return the minutes passed since timer start.
+ *
+ * The minutes uptime is computed directly from system tick counter:
+ * in case of a 4 bytes time_t after 71582 minutes the value will
+ * wrap around.
+ */
+INLINE time_t timer_minutes(void)
+{
+       return timer_ticks() / (TICKS_PER_SEC * 60);
+}
 
 #endif /* DRV_TIMER_H */