From 4e792da43f76c20964c18eec2a5a05f96e12b5d9 Mon Sep 17 00:00:00 2001 From: bernie Date: Tue, 16 Nov 2004 21:54:56 +0000 Subject: [PATCH] Changes for SC Monoboard support. git-svn-id: https://src.develer.com/svnoss/bertos/trunk@278 38d2e660-2303-0410-9eaa-f027e97ec537 --- drv/buzzerled_dsp56k.h | 69 ++++++++++++++++++++++++++++++++++++++++++ drv/ser.h | 7 ++++- 2 files changed, 75 insertions(+), 1 deletion(-) diff --git a/drv/buzzerled_dsp56k.h b/drv/buzzerled_dsp56k.h index 7afcd469..e2a01de1 100755 --- a/drv/buzzerled_dsp56k.h +++ b/drv/buzzerled_dsp56k.h @@ -15,6 +15,9 @@ /*#* *#* $Log$ + *#* Revision 1.4 2004/11/16 21:54:43 bernie + *#* Changes for SC Monoboard support. + *#* *#* Revision 1.3 2004/08/25 14:12:08 rasky *#* Aggiornato il comment block dei log RCS *#* @@ -26,10 +29,67 @@ *#* *#*/ +#ifndef DRV_BUZZERLED_DSP56K_H +#define DRV_BUZZERLED_DSP56K_H + #include #include #include "pwm.h" +#if ARCH & ARCH_HECO + +/*! + * \name Connection of the leds to the DSP: + *
+ *   Led       Line    DSP Pin
+ *   ---------------------------
+ *   YELLOW    T2      HOME1/TB3
+ *   GREEN     T3      INDX1/TB2
+ *   RED       T4      PHB1/TB1
+ * 
+ */ + +INLINE bool bld_is_inverted_intensity(enum BLD_DEVICE device) +{ + return (device == BLD_GREEN_LED + || device == BLD_YELLOW_LED + || device == BLD_RED_LED); +} + +INLINE bool bld_is_pwm(enum BLD_DEVICE device) +{ + // Only the buzzer is connected to a PWM + return (device == BLD_BUZZER || device == BLD_READY_LED); +} + +INLINE bool bld_is_timer(enum BLD_DEVICE device) +{ + // LEDs are connected to timers + return (device == BLD_GREEN_LED || device == BLD_YELLOW_LED || device == BLD_RED_LED); +} + +INLINE uint16_t bld_get_pwm(enum BLD_DEVICE device) +{ + switch (device) + { + default: ASSERT(0); + case BLD_BUZZER: return 5; // PWMA5 + case BLD_READY_LED: return 9; // PWMB3 + } +} + + +INLINE struct REG_TIMER_STRUCT* bld_get_timer(enum BLD_DEVICE device) +{ + switch (device) + { + default: ASSERT(0); + case BLD_GREEN_LED: return ®_TIMER_B[2]; + case BLD_RED_LED: return ®_TIMER_B[1]; + case BLD_YELLOW_LED: return ®_TIMER_B[3]; + } +} + INLINE void bld_hw_init(void) { } @@ -73,3 +133,12 @@ INLINE void bld_hw_set(enum BLD_DEVICE device, bool enable) ASSERT(0); } +#elif ARCH & ARCH_SC + +// We do not need inline functions here, because constant propagation is not big deal here +void bld_hw_init(void); +void bld_hw_set(enum BLD_DEVICE device, bool enable); + +#endif + +#endif /* DRV_BUZZERLED_DSP56K_H */ diff --git a/drv/ser.h b/drv/ser.h index ad43d47c..167bb959 100755 --- a/drv/ser.h +++ b/drv/ser.h @@ -14,6 +14,9 @@ /*#* *#* $Log$ + *#* Revision 1.17 2004/11/16 21:54:56 bernie + *#* Changes for SC Monoboard support. + *#* *#* Revision 1.16 2004/10/19 11:48:05 bernie *#* Reformat. *#* @@ -146,8 +149,10 @@ enum SER_UART0, SER_SPI, #elif CPU_DSP56K + // \todo since we now support "fake" multiplexed serials, this should be moved to hw.h SER_UART0, - SER_UART1, + SER_PUNTALI, + SER_BARCODE, #else #error unknown architecture #endif -- 2.25.1