From e518efdb8447093b4db0bd48d2a8103fceb840a7 Mon Sep 17 00:00:00 2001 From: bernie Date: Tue, 24 Aug 2004 14:30:11 +0000 Subject: [PATCH] Use new-style config macros for drv/timer.c git-svn-id: https://src.develer.com/svnoss/bertos/trunk@154 38d2e660-2303-0410-9eaa-f027e97ec537 --- config_template.h | 6 ++++++ drv/timer_avr.h | 34 ++++++++++++++++++++++++---------- 2 files changed, 30 insertions(+), 10 deletions(-) diff --git a/config_template.h b/config_template.h index 7bfcadd9..53ebcbcc 100755 --- a/config_template.h +++ b/config_template.h @@ -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. * @@ -126,6 +129,9 @@ #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 diff --git a/drv/timer_avr.h b/drv/timer_avr.h index aa0911fe..96be9da6 100755 --- a/drv/timer_avr.h +++ b/drv/timer_avr.h @@ -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. * @@ -64,6 +67,17 @@ #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 +107,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; @@ -133,7 +147,7 @@ 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; @@ -169,7 +183,7 @@ 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; @@ -211,11 +225,11 @@ } #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) @@ -270,18 +284,18 @@ #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 */ -- 2.25.1