Fork of SSD1306 by
ssd1306.h
- Committer:
- Byrn
- Date:
- 2013-02-05
- Revision:
- 0:21cb91208386
- Child:
- 1:1d58d378221c
File content as of revision 0:21cb91208386:
#ifndef __SSD1306_H__ #define __SSD1306_H__ #define FONT_HEIGHT_OFFSET 0 /* Character pixel height (in multiples of 8) at this position */ #define FONT_SIZE_OFFSET 1 /* Character data size (in bytes) at this position */ #define FONT_DATA_OFFSET 2 /* Data starts at this position */ #define FONT_START ' ' /* First character value in the font table */ class SSD1306 { public: SSD1306(PinName cs, PinName rs, PinName dc, PinName clk, PinName data); void initialise(); void update(); void off(); void on(); void invert(int i); void set_low_column(int value); void set_high_column(int value); void set_start_line(int value); void set_display_offset(int value); void clear(); void set_pixel(int x, int y); void clear_pixel(int x, int y); void line(int x0, int y0, int x1, int y1); void draw_string(char *font, int x, int y, const char *string); void draw_char(char *font, int x, int y, char c); private: SPI _spi; DigitalOut _cs, _reset, _dc; char _screen[1024]; int _cursor_x, _cursor_y; void _send_command(int code); void _send_data(int value); }; #define SSD1306_LCDWIDTH 128 #define SSD1306_LCDHEIGHT 64 #define SSD1306_SETCONTRAST 0x81 #define SSD1306_DISPLAYALLON_RESUME 0xA4 #define SSD1306_DISPLAYALLON 0xA5 #define SSD1306_NORMALDISPLAY 0xA6 #define SSD1306_INVERTDISPLAY 0xA7 #define SSD1306_DISPLAYOFF 0xAE #define SSD1306_DISPLAYON 0xAF #define SSD1306_SETDISPLAYOFFSET 0xD3 #define SSD1306_SETCOMPINS 0xDA #define SSD1306_SETVCOMDETECT 0xDB #define SSD1306_SETDISPLAYCLOCKDIV 0xD5 #define SSD1306_SETPRECHARGE 0xD9 #define SSD1306_SETMULTIPLEX 0xA8 #define SSD1306_SETLOWCOLUMN 0x00 #define SSD1306_SETHIGHCOLUMN 0x10 #define SSD1306_SETSTARTLINE 0x40 #define SSD1306_MEMORYMODE 0x20 #define SSD1306_COMSCANINC 0xC0 #define SSD1306_COMSCANDEC 0xC8 #define SSD1306_SEGREMAP 0xA0 #define SSD1306_CHARGEPUMP 0x8D #define SSD1306_EXTERNALVCC 0x1 #define SSD1306_SWITCHCAPVCC 0x2 #endif