40 lines
1.2 KiB
C
40 lines
1.2 KiB
C
#ifndef LCD_ZJY096S0800_H
|
|
#define LCD_ZJY096S0800_H
|
|
|
|
#include "epd-spi/epd_common.h"
|
|
|
|
typedef enum {
|
|
LCD_ZJY096S0800_DIR_0 = 0x08U,
|
|
LCD_ZJY096S0800_DIR_90 = 0x68U,
|
|
LCD_ZJY096S0800_DIR_180 = 0xC8U,
|
|
LCD_ZJY096S0800_DIR_270 = 0xA8U,
|
|
} lcd_zjy096s0800_direction_t;
|
|
|
|
typedef enum {
|
|
LCD_ZJY096S0800_RGB444 = 3,
|
|
LCD_ZJY096S0800_RGB565 = 5,
|
|
LCD_ZJY096S0800_RGB666 = 6,
|
|
LCD_ZJY096S0800_RGB888 = 7,
|
|
} lcd_zjy096s0800_pixfmt_t;
|
|
|
|
typedef struct {
|
|
lcd_zjy096s0800_direction_t direction;
|
|
lcd_zjy096s0800_pixfmt_t pix_fmt;
|
|
uint8_t inversion;
|
|
uint8_t bgr_mode;
|
|
uint8_t mirrored;
|
|
} lcd_zjy096s0800_config_t;
|
|
|
|
typedef struct {
|
|
epd_cb_t cb;
|
|
void *user_data;
|
|
lcd_zjy096s0800_config_t config;
|
|
} lcd_zjy096s0800_t;
|
|
|
|
epd_ret_t lcd_zjy096s0800_init(lcd_zjy096s0800_t *lcd);
|
|
epd_ret_t lcd_zjy096s0800_upload(lcd_zjy096s0800_t *lcd, uint8_t *data, epd_coord_t *coord);
|
|
epd_ret_t lcd_zjy096s0800_sleep(lcd_zjy096s0800_t *lcd, uint8_t sleep_mode);
|
|
epd_ret_t lcd_zjy096s0800_display(lcd_zjy096s0800_t *lcd, uint8_t display_on);
|
|
epd_ret_t lcd_zjy096s0800_config(lcd_zjy096s0800_t *lcd, lcd_zjy096s0800_config_t *config);
|
|
|
|
#endif |