Remove bogus Doxygen markup.
[bertos.git] / drv / timer_avr.h
index aa0911fee193c3b29354e12e381d83da401d4b94..85219236061bbddf554258b9f44d5b8e6f40c191 100755 (executable)
@@ -1,7 +1,7 @@
 /*!
  * \file
  * <!--
- * Copyright 2003,2004 Develer S.r.l. (http://www.develer.com/)
+ * Copyright 2003, 2004 Develer S.r.l. (http://www.develer.com/)
  * Copyright 2000 Bernardo Innocenti <bernie@develer.com>
  * This file is part of DevLib - See devlib/README for information.
  * -->
 
 /*
  * $Log$
+ * Revision 1.14  2004/08/24 16:27:01  bernie
+ * Add missing headers.
+ *
+ * Revision 1.13  2004/08/24 14:30:11  bernie
+ * Use new-style config macros for drv/timer.c
+ *
  * Revision 1.12  2004/08/10 06:59:45  bernie
  * CONFIG_TIMER_STROBE: Define no-op default macros.
  *
  *
  * Revision 1.9  2004/07/22 02:01:14  bernie
  * Use TIMER_PRESCALER consistently.
- *
- * Revision 1.8  2004/07/20 23:50:20  bernie
- * Also define TIMER_PRESCALER.
- *
- * Revision 1.7  2004/07/20 23:49:40  bernie
- * Compute value of OCR_DIVISOR from CLOCK_FREQ.
- *
- * Revision 1.6  2004/07/20 23:48:16  bernie
- * Finally remove redundant protos.
- *
- * Revision 1.5  2004/07/18 22:16:35  bernie
- * Add missing header; Prevent warning for project_ks-specific code.
- *
- * Revision 1.4  2004/06/27 15:22:15  aleph
- * Fix spacing
- *
- * Revision 1.3  2004/06/07 15:57:40  aleph
- * Update to latest AVR timer code
- *
- * Revision 1.2  2004/06/03 11:27:09  bernie
- * Add dual-license information.
- *
- * Revision 1.1  2004/05/23 18:23:30  bernie
- * Import drv/timer module.
- *
  */
-
 #ifndef DRV_TIMER_AVR_H
 #define DRV_TIMER_AVR_H
 
+#include <arch_config.h> // ARCH_BOARD_KC
 #include <avr/wdt.h>
 #include <avr/signal.h>
 
 #endif
 
 
+/*!
+ * Values for CONFIG_TIMER.
+ *
+ * Select which hardware timer interrupt to use for system clock and softtimers.
+ * \note The timer 1 overflow mode set the timer as a 24 kHz PWM.
+ */
+#define TIMER_ON_OUTPUT_COMPARE0  1
+#define TIMER_ON_OVERFLOW1        2
+#define TIMER_ON_OUTPUT_COMPARE2  3
+
+
 /*!
  * \def CONFIG_TIMER_STROBE
  *
@@ -93,7 +85,7 @@
 #define OCR_DIVISOR  (CLOCK_FREQ / TIMER_PRESCALER / TICKS_PER_SEC - 1) /* 191 */
 
 /*! HW dependent timer initialization  */
-#if defined(CONFIG_TIMER_ON_TIMER0)
+#if (CONFIG_TIMER == TIMER_ON_OUTPUT_COMPARE0)
 
        //! Type of time expressed in ticks of the hardware high-precision timer
        typedef uint8_t hptime_t;
                return TCNT0;
        }
 
-#elif defined(CONFIG_TIMER_ON_TIMER1_OVERFLOW)
+#elif (CONFIG_TIMER == TIMER_ON_OVERFLOW1)
 
        //! Type of time expressed in ticks of the hardware high precision timer
        typedef uint16_t hptime_t;
                return TCNT1;
        }
 
-#elif defined(CONFIG_TIMER_ON_TIMER2)
+#elif (CONFIG_TIMER == TIMER_ON_OUTPUT_COMPARE2)
 
        //! Type of time expressed in ticks of the hardware high precision timer
        typedef uint8_t hptime_t;
        }
 
 #else
-       #error Choose witch timer to use with CONFIG_TIMER_ON_TIMERx
-#endif /* CONFIG_TIMER_ON_TIMERx */
+       #error Unimplemented value for CONFIG_TIMER
+#endif /* CONFIG_TIMER */
 
 
-#if defined(CONFIG_TIMER_ON_TIMER1_OVERFLOW)
+#if (CONFIG_TIMER == TIMER_ON_OVERFLOW1)
 
        #define DEFINE_TIMER_ISR        \
                static void timer_handler(void)
        #endif
        }
 
-#elif defined (CONFIG_TIMER_ON_TIMER0)
+#elif (CONFIG_TIMER == TIMER_ON_OUTPUT_COMPARE0)
 
        #define DEFINE_TIMER_ISR        \
                SIGNAL(SIG_OUTPUT_COMPARE0)
 
-#elif defined(CONFIG_TIMER_ON_TIMER2)
+#elif (CONFIG_TIMER == TIMER_ON_OUTPUT_COMPARE2)
 
        #define DEFINE_TIMER_ISR        \
                SIGNAL(SIG_OUTPUT_COMPARE2)
 
 #else
-       #error Choose witch timer to use with CONFIG_TIMER_ON_TIMERx
-#endif /* CONFIG_TIMER_ON_TIMERx */
+       #error Unimplemented value for CONFIG_TIMER
+#endif /* CONFIG_TIMER */
 
 #endif /* DRV_TIMER_AVR_H */