BeRTOS
|
00001 00041 #ifndef HW_LCD_32122A_H 00042 #define HW_LCD_32122A_H 00043 00044 #include <cpu/types.h> 00045 #include <cpu/irq.h> 00046 00047 #warning TODO:This is an example implementation, you must implement it! 00048 00052 #define LCD_DEF_PWM 145 00053 #define LCD_MAX_PWM 505 00054 #define LCD_MIN_PWM 130 00055 #define LCD_PWM_CH 0 00056 00057 00062 #define LCD_RS /* Implement me! */ 00063 #define LCD_RW /* Implement me! */ 00064 #define LCD_PE_E1 /* Implement me! */ 00065 #define LCD_PE_E2 /* Implement me! */ 00066 #define LCD_DB0 /* Implement me! */ 00067 #define LCD_DB1 /* Implement me! */ 00068 #define LCD_DB2 /* Implement me! */ 00069 #define LCD_DB3 /* Implement me! */ 00070 #define LCD_DB4 /* Implement me! */ 00071 #define LCD_DB5 /* Implement me! */ 00072 #define LCD_DB6 /* Implement me! */ 00073 #define LCD_DB7 /* Implement me! */ 00074 #define LCD_PF_DB0 /* Implment me! */ 00075 00081 #define LCD_CLR_A0 do { /* Implement me! */ } while (0) 00082 #define LCD_SET_A0 do { /* Implement me! */ } while (0) 00083 #define LCD_CLR_RD do { /* Implement me! */ } while (0) 00084 #define LCD_SET_RD do { /* Implement me! */ } while (0) 00085 #define LCD_CLR_E1 do { /* Implement me! */ } while (0) 00086 #define LCD_SET_E1 do { /* Implement me! */ } while (0) 00087 #define LCD_CLR_E2 do { /* Implement me! */ } while (0) 00088 #define LCD_SET_E2 do { /* Implement me! */ } while (0) 00089 #define LCD_SET_E(x) do { (void)x; /* Implement me! */ } while (0) 00090 #define LCD_CLR_E(x) do { (void)x; /* Implement me! */ } while (0) 00091 00097 #define LCDF_E1 ( 0/* Implement me! */) 00098 #define LCDF_E2 ( 0/* Implement me! */) 00099 00101 #define LCD_WRITE(x) ((void)x)/* Implement me! */ 00102 00103 #define LCD_READ (0 /* Implement me! */ ) 00104 00106 #define LCD_DB_OUT /* Implement me! */ 00107 00109 #define LCD_DB_IN /* Implement me! */ 00110 00112 #define LCD_DELAY_WRITE \ 00113 do { \ 00114 NOP; \ 00115 NOP; \ 00116 NOP; \ 00117 NOP; \ 00118 NOP; \ 00119 } while (0) 00120 00122 #define LCD_DELAY_READ \ 00123 do { \ 00124 NOP; \ 00125 NOP; \ 00126 NOP; \ 00127 NOP; \ 00128 } while (0) 00129 00130 00131 #define LCD_32122_RESET() do { /* Implement me! */ } while (0) 00132 00133 INLINE void lcd_32122a_hw_bus_init(void) 00134 { 00135 cpu_flags_t flags; 00136 IRQ_SAVE_DISABLE(flags); 00137 00138 /* 00139 * Here set bus pin! 00140 * to init a lcd device. 00141 * 00142 */ 00143 00144 /* 00145 * Data bus is in output state most of the time: 00146 * LCD r/w functions assume it is left in output state 00147 */ 00148 LCD_DB_OUT; 00149 00150 00151 IRQ_RESTORE(flags); 00152 } 00153 00154 #endif /* HW_LCD_32122A_H */ 00155