display.h 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #ifndef DISPLAY_H_INCLUDED
  2. #define DISPLAY_H_INCLUDED
  3. #include <stdint.h>
  4. #define WIDTH 128
  5. #define PIXEL_HEIGHT 64
  6. #define HEIGHT (PIXEL_HEIGHT / 8)
  7. extern const unsigned char fb_font[256][8];
  8. #define SSD1306_MEMORYMODE 0x20
  9. #define SSD1306_COLUMNADDR 0x21
  10. #define SSD1306_PAGEADDR 0x22
  11. #define SSD1306_SETCONTRAST 0x81
  12. #define SSD1306_CHARGEPUMP 0x8D
  13. #define SSD1306_SEGREMAP 0xA0
  14. #define SSD1306_DISPLAYALLON_RESUME 0xA4
  15. #define SSD1306_DISPLAYALLON 0xA5
  16. #define SSD1306_NORMALDISPLAY 0xA6
  17. #define SSD1306_INVERTDISPLAY 0xA7
  18. #define SSD1306_SETMULTIPLEX 0xA8
  19. #define SSD1306_DISPLAYOFF 0xAE
  20. #define SSD1306_DISPLAYON 0xAF
  21. #define SSD1306_COMSCANINC 0xC0
  22. #define SSD1306_COMSCANDEC 0xC8
  23. #define SSD1306_SETDISPLAYOFFSET 0xD3
  24. #define SSD1306_SETDISPLAYCLOCKDIV 0xD5
  25. #define SSD1306_SETPRECHARGE 0xD9
  26. #define SSD1306_SETCOMPINS 0xDA
  27. #define SSD1306_SETVCOMDETECT 0xDB
  28. #define SSD1306_SETLOWCOLUMN 0x00
  29. #define SSD1306_SETHIGHCOLUMN 0x10
  30. #define SSD1306_SETSTARTLINE 0x40
  31. #define SSD1306_RIGHT_HORIZONTAL_SCROLL 0x26
  32. #define SSD1306_LEFT_HORIZONTAL_SCROLL 0x27
  33. #define SSD1306_VERTICAL_AND_RIGHT_HORIZONTAL_SCROLL 0x29
  34. #define SSD1306_VERTICAL_AND_LEFT_HORIZONTAL_SCROLL 0x2A
  35. #define SSD1306_DEACTIVATE_SCROLL 0x2E
  36. #define SSD1306_ACTIVATE_SCROLL 0x2F
  37. #define SSD1306_SET_VERTICAL_SCROLL_AREA 0xA3
  38. /* driver module plug-in (SPI or I2C) */
  39. void display_send_data(void *priv, const uint8_t *buf, int len);
  40. void display_send_cmd(void *priv, uint8_t cmd);
  41. void display_send_cmd1(void *priv, uint8_t cmd, uint8_t arg1);
  42. void display_send_cmd2(void *priv, uint8_t cmd, uint8_t arg1, uint8_t arg2);
  43. int display_init(void *priv);
  44. void display_text(int row, const char *text);
  45. void display_text_inverse(int row, const char *text);
  46. void display_scroll(void *priv, uint8_t line);
  47. void display_setcontrast(void *priv, uint8_t c);
  48. uint8_t display_getcontrast(void *priv);
  49. void display_clear(void *priv);
  50. #endif