50 lines
1.4 KiB
C
50 lines
1.4 KiB
C
#pragma once
|
|
|
|
#include <stdint.h>
|
|
#include "esp_lcd_types.h"
|
|
#include "esp_lcd_panel_vendor.h"
|
|
#include "sdkconfig.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef struct {
|
|
int cmd; /*<! The specific LCD command */
|
|
const void *data; /*<! Buffer that holds the command specific data */
|
|
size_t data_bytes; /*<! Size of `data` in memory, in bytes */
|
|
unsigned int delay_ms; /*<! Delay in milliseconds after this command */
|
|
} st7305_lcd_init_cmd_t;
|
|
|
|
typedef struct {
|
|
const st7305_lcd_init_cmd_t *init_cmds;
|
|
uint16_t init_cmds_size;
|
|
} st7305_vendor_config_t;
|
|
|
|
#define ST7305_WIDTH 400
|
|
#define ST7305_HEIGHT 300
|
|
|
|
#define ST7305_CMD_NOP 0x00
|
|
#define ST7305_CMD_SWRESET 0x01
|
|
#define ST7305_CMD_SLPOUT 0x11
|
|
#define ST7305_CMD_NORON 0x13
|
|
#define ST7305_CMD_INVOFF 0x20
|
|
#define ST7305_CMD_INVON 0x21
|
|
#define ST7305_CMD_DISPOFF 0x28
|
|
#define ST7305_CMD_DISPON 0x29
|
|
#define ST7305_CMD_CASET 0x2A
|
|
#define ST7305_CMD_RASET 0x2B
|
|
#define ST7305_CMD_RAMWR 0x2C
|
|
#define ST7305_CMD_MADCTL 0x36
|
|
|
|
#define ST7305_MADCTL_MY 0x80
|
|
#define ST7305_MADCTL_MX 0x40
|
|
#define ST7305_MADCTL_MV 0x20
|
|
#define ST7305_MADCTL_ML 0x10
|
|
|
|
esp_err_t esp_lcd_new_panel_st7305(const esp_lcd_panel_io_handle_t io, const esp_lcd_panel_dev_config_t *panel_dev_config, esp_lcd_panel_handle_t *ret_panel);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|