Subversion Repositories HomeAutomation

Rev

Rev 1808 | Blame | Compare with Previous | Last modification | View Log | SVN | RSS feed

  1. #include <inttypes.h>
  2. #include <config.h>
  3. #include <drivers/mcu/gpio.h>
  4. #include <util/delay.h>
  5.  
  6. #ifndef KS0108_CONTROL_E
  7.  
  8. #define KS0108_DATA_DB0 EXP_D
  9. #define KS0108_DATA_DB1 EXP_E
  10. #define KS0108_DATA_DB2 EXP_F
  11. #define KS0108_DATA_DB3 EXP_G
  12. #define KS0108_DATA_DB4 EXP_H
  13. #define KS0108_DATA_DB5 EXP_I
  14. #define KS0108_DATA_DB6 EXP_J
  15. #define KS0108_DATA_DB7 EXP_K
  16.  
  17. #define KS0108_CONTROL_RS   EXP_A
  18. #define KS0108_CONTROL_RW   EXP_B
  19. #define KS0108_CONTROL_E    EXP_C
  20. #define KS0108_CONTROL_CS1  EXP_N
  21. #define KS0108_CONTROL_CS2  EXP_O
  22.  
  23. #endif
  24.  
  25.  
  26. #define GLCD_COLOR_BLACK 0
  27. #define GLCD_COLOR_WHITE 1
  28. #define GLCD_COLOR_SET   0
  29. #define GLCD_COLOR_CLEAR 1
  30.  
  31. /* State variable */
  32. typedef struct struct_GrLcdStateType
  33. {
  34.     unsigned char lcdXAddr;
  35.     unsigned char lcdYAddr;
  36.     uint8_t lcdYpage;
  37.     uint8_t color;
  38. } GrLcdStateType;
  39.  
  40.  
  41. /* Internal functions */
  42.  
  43. void ks0108Disable(void);
  44.  
  45. void ks0108Delay(void);
  46.  
  47. void ks0108Enable(void);
  48.  
  49. void ks0108SetControls(uint8_t RS, uint8_t RW);
  50.  
  51. void ks0108SetData(uint8_t Data);
  52.  
  53. /* Public functions */
  54.  
  55. void ks0108WriteData(uint8_t data, uint8_t color);
  56.  
  57. void ks0108WriteDataTransparent(uint8_t inputdata, uint8_t color);
  58.  
  59. uint8_t ks0108ReadData(void);
  60.  
  61. void ks0108SetXY(uint8_t x, uint8_t y);
  62.  
  63. uint8_t ks0108GetX(void);
  64.  
  65. uint8_t ks0108GetY(void);
  66.  
  67. void ks0108Init(void);
  68.  
  69. void ks0108Clear(void);
  70.  
  71. void ks0108SetColor(uint8_t color);
  72.  
  73. uint8_t ks0108GetColor(void);
  74.  
  75.  
  76.