CONFIG_TIMER_STROBE: Define no-op default macros.
[bertos.git] / drv / timer.h
index 07147416e1eaaf9f831b702aa737b1dd18abc0d4..d88168f078e816299845d678453e81706bbd40c9 100755 (executable)
@@ -15,6 +15,9 @@
 
 /*
  * $Log$
+ * Revision 1.15  2004/08/10 06:59:09  bernie
+ * timer_gettick(): Rename to timer_ticks() and add backwards compatibility inline.
+ *
  * Revision 1.12  2004/07/30 14:34:10  rasky
  * Vari fix per documentazione e commenti
  * Aggiunte PP_CATn e STATIC_ASSERT
@@ -62,7 +65,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 +152,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;
@@ -161,24 +164,41 @@ INLINE time_t timer_tick(void)
        return result;
 }
 
-/* OBSOLETE */
-#define timer_gettick timer_tick
+DEPRECATED INLINE time_t timer_gettick(void)
+{
+       return 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
+DEPRECATED INLINE time_t timer_gettick_irq(void)
+{
+       return 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 */