Use new-style config macros for drv/timer.c
authorbernie <bernie@38d2e660-2303-0410-9eaa-f027e97ec537>
Tue, 24 Aug 2004 14:30:11 +0000 (14:30 +0000)
committerbernie <bernie@38d2e660-2303-0410-9eaa-f027e97ec537>
Tue, 24 Aug 2004 14:30:11 +0000 (14:30 +0000)
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@154 38d2e660-2303-0410-9eaa-f027e97ec537

config_template.h
drv/timer_avr.h

index 7bfcadd9c6593a882e68e2e02255563a1f3587db..53ebcbccb08c08d8261825e3188a6ead9a929bb9 100755 (executable)
@@ -46,6 +46,9 @@
 
 /*
  * $Log$
+ * Revision 1.3  2004/08/24 14:30:11  bernie
+ * Use new-style config macros for drv/timer.c
+ *
  * Revision 1.2  2004/08/05 18:46:52  bernie
  * Documentation improvements.
  *
        #define CONFIG_KBUS_BAUDRATE  19200
 /*\}*/
 
+//! Hardware timer selection for drv/timer.c
+#define CONFIG_TIMER  TIMER_ON_OUTPUT_COMPARE2
+
 //! EEPROM type for drv/eeprom.c
 #define CONFIG_EEPROM_TYPE EEPROM_24XX256
 
index aa0911fee193c3b29354e12e381d83da401d4b94..96be9da6610394cc026654b00669e526db9a81f7 100755 (executable)
@@ -15,6 +15,9 @@
 
 /*
  * $Log$
+ * 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.
  *
 #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
  *
 #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 */