From d85f3aeeeefd6926fe71ec8e066adb74f62dc1cc Mon Sep 17 00:00:00 2001 From: fishsoupisgood Date: Sat, 13 Jun 2020 21:05:45 +0100 Subject: fish --- app/oled.h | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 app/oled.h (limited to 'app/oled.h') diff --git a/app/oled.h b/app/oled.h new file mode 100644 index 0000000..8fac35a --- /dev/null +++ b/app/oled.h @@ -0,0 +1,47 @@ + +#define SSD1306_I2C_ADDRESS 0x3C + +#define SSD1306_COMMAND 0x00 +#define SSD1306_DATA 0xC0 +#define SSD1306_DATA_CONTINUE 0x40 + +#define SSD1306_SET_CONTRAST_CONTROL 0x81 +#define SSD1306_DISPLAY_ALL_ON_RESUME 0xA4 +#define SSD1306_DISPLAY_ALL_ON 0xA5 +#define SSD1306_NORMAL_DISPLAY 0xA6 +#define SSD1306_INVERT_DISPLAY 0xA7 +#define SSD1306_DISPLAY_OFF 0xAE +#define SSD1306_DISPLAY_ON 0xAF +#define SSD1306_NOP 0xE3 + +#define SSD1306_HORIZONTAL_SCROLL_RIGHT 0x26 +#define SSD1306_HORIZONTAL_SCROLL_LEFT 0x27 +#define SSD1306_HORIZONTAL_SCROLL_VERTICAL_AND_RIGHT 0x29 +#define SSD1306_HORIZONTAL_SCROLL_VERTICAL_AND_LEFT 0x2A +#define SSD1306_DEACTIVATE_SCROLL 0x2E +#define SSD1306_ACTIVATE_SCROLL 0x2F +#define SSD1306_SET_VERTICAL_SCROLL_AREA 0xA3 + +#define SSD1306_SET_LOWER_COLUMN 0x00 +#define SSD1306_SET_HIGHER_COLUMN 0x10 +#define SSD1306_MEMORY_ADDR_MODE 0x20 +#define SSD1306_SET_COLUMN_ADDR 0x21 +#define SSD1306_SET_PAGE_ADDR 0x22 + +#define SSD1306_SET_START_LINE 0x40 +#define SSD1306_SET_SEGMENT_REMAP 0xA0 +#define SSD1306_SET_MULTIPLEX_RATIO 0xA8 +#define SSD1306_COM_SCAN_DIR_INC 0xC0 +#define SSD1306_COM_SCAN_DIR_DEC 0xC8 +#define SSD1306_SET_DISPLAY_OFFSET 0xD3 +#define SSD1306_SET_COM_PINS 0xDA +#define SSD1306_CHARGE_PUMP 0x8D + +#define SSD1306_SET_DISPLAY_CLOCK_DIV_RATIO 0xD5 +#define SSD1306_SET_PRECHARGE_PERIOD 0xD9 +#define SSD1306_SET_VCOM_DESELECT 0xDB + +#define SSD1306_WIDTH 128 +#define SSD1306_HEIGHT 32 + +#define SSD1306_VRAM_SIZE (SSD1306_WIDTH * ((SSD1306_HEIGHT + 7) >> 3)) -- cgit v1.2.3