34#include "driver/i2c.h" 
   43#define OLED_I2C_ADDRESS                    0x3C 
   46#define OLED_COLUMNS                        128 
   48#define OLED_PIXEL_PER_PAGE                 8 
   51#define OLED_CONTROL_BYTE_CMD_SINGLE        0x80 
   52#define OLED_CONTROL_BYTE_CMD_STREAM        0x00 
   53#define OLED_CONTROL_BYTE_DATA_STREAM       0x40 
   56#define OLED_CMD_SET_CONTRAST               0x81     
   57#define OLED_CMD_DISPLAY_RAM                0xA4 
   58#define OLED_CMD_DISPLAY_ALLON              0xA5 
   59#define OLED_CMD_DISPLAY_NORMAL             0xA6 
   60#define OLED_CMD_DISPLAY_INVERTED           0xA7 
   61#define OLED_CMD_DISPLAY_OFF                0xAE 
   62#define OLED_CMD_DISPLAY_ON                 0xAF 
   65#define OLED_CMD_SET_MEMORY_ADDR_MODE       0x20     
   66#define OLED_CMD_SET_COLUMN_RANGE           0x21     
   67#define OLED_CMD_SET_PAGE_RANGE             0x22     
   70#define OLED_CMD_SET_DISPLAY_START_LINE     0x40 
   71#define OLED_CMD_SET_SEGMENT_REMAP          0xA1 
   72#define OLED_CMD_SET_MUX_RATIO              0xA8     
   73#define OLED_CMD_SET_COM_SCAN_MODE_NORMAL   0xC0 
   74#define OLED_CMD_SET_COM_SCAN_MODE_REMAP    0xC8 
   75#define OLED_CMD_SET_DISPLAY_OFFSET         0xD3     
   76#define OLED_CMD_SET_COM_PIN_MAP            0xDA     
   77#define OLED_CMD_NOP                        0xE3     
   80#define OLED_CMD_SET_DISPLAY_CLK_DIV        0xD5     
   81#define OLED_CMD_SET_PRECHARGE              0xD9     
   82#define OLED_CMD_SET_VCOMH_DESELCT          0xDB     
   85#define OLED_CMD_SET_CHARGE_PUMP            0x8D     
   87#define OLED_IIC_FREQ_HZ                    400000   
  101#define DISP_BUF_SIZE   1024 
  125void ssd1306_flush(lv_disp_drv_t *drv, 
const lv_area_t *area, lv_color_t *color_map);
 
  144void ssd1306_set_px_cb(lv_disp_drv_t *
disp_drv, uint8_t *buf, lv_coord_t buf_w, lv_coord_t x, lv_coord_t y, lv_color_t color, lv_opa_t opa);
 
bool lvgl_i2c_driver_init(int sda_pin, int scl_pin, int speed_hz)
Initialize LVGL I2C Master.
Definition: lvgl_helpers.c:148
void ssd1306_sleep_in(void)
Turn off the display.
Definition: lvgl_helpers.c:127
void ssd1306_sleep_out(void)
Turn on the display.
Definition: lvgl_helpers.c:137
void ssd1306_flush(lv_disp_drv_t *drv, const lv_area_t *area, lv_color_t *color_map)
Flush the buffer on the screen.
Definition: lvgl_helpers.c:90
void ssd1306_init(void)
Initialize ssd1306 device.
Definition: lvgl_helpers.c:47
void ssd1306_set_px_cb(lv_disp_drv_t *disp_drv, uint8_t *buf, lv_coord_t buf_w, lv_coord_t x, lv_coord_t y, lv_color_t color, lv_opa_t opa)
Draw a pixel into the buffer.
Definition: lvgl_helpers.c:74
void ssd1306_rounder(lv_disp_drv_t *disp_drv, lv_area_t *area)
Round the area that needs to be updated.
Definition: lvgl_helpers.c:116
lv_disp_drv_t disp_drv
Definition: oled.c:245