BeRTOS
hw_lcd_32122a.h
Go to the documentation of this file.
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