update EPD driver

This commit is contained in:
Shuanglei Tao
2025-03-06 19:54:59 +08:00
parent 818e16e793
commit 40aa884791
6 changed files with 151 additions and 27 deletions

View File

@@ -37,12 +37,14 @@ typedef struct
uint16_t height;
void (*init)(void); /**< Initialize the e-Paper register */
void (*clear)(void); /**< Clear screen */
void (*send_command)(uint8_t Reg); /**< send command */
void (*send_byte)(uint8_t Reg); /**< send byte */
void (*send_data)(uint8_t *Data, uint8_t Len); /**< send data */
void (*send_command)(uint8_t Reg); /**< send command */
void (*send_byte)(uint8_t Reg); /**< send byte */
void (*send_data)(uint8_t *Data, uint8_t Len); /**< send data */
void (*write_image)(uint8_t *black, uint8_t *color, uint16_t x, uint16_t y, uint16_t w, uint16_t h); /**< write image */
void (*refresh)(void); /**< Sends the image buffer in RAM to e-Paper and displays */
void (*sleep)(void); /**< Enter sleep mode */
int8_t (*read_temp)(void); /**< Read temperature from driver chip */
void (*force_temp)(int8_t value); /**< Force temperature (will trigger OTP LUT switch) */
} epd_driver_t;
extern uint32_t EPD_MOSI_PIN;
@@ -69,18 +71,30 @@ void digitalWrite(uint32_t pin, uint32_t value);
uint32_t digitalRead(uint32_t pin);
void delay(uint32_t ms);
// GPIO
void DEV_Module_Init(void);
void DEV_Module_Exit(void);
// Software SPI (read / write)
void DEV_SPI_WriteByte_SW(uint8_t data);
uint8_t DEV_SPI_ReadByte_SW(void);
void EPD_WriteCommand_SW(uint8_t Reg);
void EPD_WriteByte_SW(uint8_t Data);
uint8_t EPD_ReadByte_SW(void);
// Hardware SPI (write only)
void DEV_SPI_Init(void);
void DEV_SPI_Exit(void);
void DEV_SPI_WriteByte(uint8_t value);
void DEV_SPI_WriteBytes(uint8_t *value, uint8_t len);
void EPD_WriteCommand(uint8_t Reg);
void EPD_WriteByte(uint8_t Data);
void EPD_WriteData(uint8_t *Data, uint8_t Len);
void EPD_Reset(uint32_t value, uint16_t duration);
void EPD_WaitBusy(uint32_t value, uint16_t timeout);
// lED
void EPD_LED_ON(void);
void EPD_LED_OFF(void);
void EPD_LED_TOGGLE(void);