调整epd的api接口

This commit is contained in:
tpu
2025-05-12 15:09:29 +08:00
parent ab7471c7c3
commit 31dae466c5
5 changed files with 23 additions and 16 deletions

View File

@@ -5,7 +5,7 @@
/******************************************************************************/
// Ӳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// 硬件参数
int scr_w;
int scr_h;
int scr_mode;
@@ -13,12 +13,12 @@ int line_bytes;
int scr_padding;
// <EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD>
// 窗口参数
int win_w;
int win_h;
// x<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>8<EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x2>x1, Y2>y1
// x必须是8的倍数x2>x1, Y2>y1
void epd_window(int x1, int y1, int x2, int y2)
{
int tmp;
@@ -218,16 +218,11 @@ int epd_lut_size(void)
return i;
}
void epd_init(int w, int h, int mode)
void epd_init(void)
{
epd_hw_open();
scr_w = w;
scr_h = h;
scr_mode = mode;
line_bytes = (scr_w+7)>>3;
scr_padding = line_bytes*8-scr_w;
printk("epd_init: scr: %d x %d\n", scr_w, scr_h);
printk("epd_init: %dx%d\n", scr_w, scr_h);
epd_power(1);
epd_reset();

View File

@@ -28,11 +28,12 @@ int sf_read(int addr, int len, u8 *buf);
int selflash(int otp_boot);
// epd_hw
void epd_hw_init(u32 config0, u32 config1);
void epd_hw_init(u32 config0, u32 config1, int w, int h, int mode);
void epd_hw_open(void);
void epd_hw_close(void);
void epd_reset(void);
void epd_wait(void);
int epd_busy(void);
void epd_power(int on);
void epd_cmd(int cmd);
@@ -46,8 +47,7 @@ void epd_read(u8 *data, int len);
void epd_cmd_read(int cmd, u8 *data, int len);
// epd_xxx
void epd_init(int x, int y, int mode);
void epd_init(void);
void epd_load_lut(u8 *lut);
void epd_update(int mode);
void epd_sleep(void);

View File

@@ -71,7 +71,7 @@ void delay_ms(int ms)
/******************************************************************************/
void epd_hw_init(u32 config0, u32 config1)
void epd_hw_init(u32 config0, u32 config1, int w, int h, int mode)
{
epio_pwr = (config0>>24)&0xff;
epio_busy = (config0>>16)&0xff;
@@ -80,6 +80,12 @@ void epd_hw_init(u32 config0, u32 config1)
epio_cs = (config1>>16)&0xff;
epio_clk = (config1>> 8)&0xff;
epio_sdi = (config1>> 0)&0xff;
scr_w = w;
scr_h = h;
scr_mode = mode;
line_bytes = (scr_w+7)>>3;
scr_padding = line_bytes*8-scr_w;
}
void epd_hw_open(void)
@@ -147,6 +153,12 @@ void epd_wait(void)
}
int epd_busy(void)
{
return EPD_BUSY();
}
void epd_power(int on)
{
EPD_PWR(on);

View File

@@ -228,7 +228,7 @@ void clock_draw(int full)
{
char tbuf[64];
epd_init(104, 212, EPD_BWR|ROTATE_3);
epd_init();
memset(fb_bw, 0xff, scr_h*line_bytes);
memset(fb_rr, 0x00, scr_h*line_bytes);

View File

@@ -183,7 +183,7 @@ void user_app_init(void)
adv_count = 0;
fspi_config(0x00030605);
epd_hw_init(0x23200700, 0x05210006); // for 2.13 board BW
epd_hw_init(0x23200700, 0x05210006, 104, 212, EPD_BWR|ROTATE_3); // for 2.13 board BW
selflash(otp_boot);