mirror of
https://github.com/jam422470459/EPD-nRF52-hema213.git
synced 2025-12-06 08:32:54 +08:00
update EPD_FillRAM with length param
This commit is contained in:
@@ -206,14 +206,14 @@ uint8_t EPD_ReadByte(void)
|
||||
return value;
|
||||
}
|
||||
|
||||
void EPD_FillRAM(uint8_t cmd, uint8_t value)
|
||||
void EPD_FillRAM(uint8_t cmd, uint8_t value, uint32_t len)
|
||||
{
|
||||
uint8_t buffer[BUFFER_SIZE];
|
||||
for (uint8_t i = 0; i < BUFFER_SIZE; i++)
|
||||
buffer[i] = value;
|
||||
|
||||
EPD_WriteCmd(cmd);
|
||||
uint16_t remaining = ((EPD->width + 7) / 8) * EPD->height;
|
||||
uint16_t remaining = len;
|
||||
while (remaining > 0) {
|
||||
uint16_t chunk_size = (remaining > BUFFER_SIZE) ? BUFFER_SIZE : remaining;
|
||||
EPD_WriteData(buffer, chunk_size);
|
||||
|
||||
@@ -94,7 +94,7 @@ uint8_t EPD_ReadByte(void);
|
||||
EPD_WriteCmd(cmd); \
|
||||
EPD_WriteData(_data, sizeof(_data)); \
|
||||
} while (0)
|
||||
void EPD_FillRAM(uint8_t cmd, uint8_t value);
|
||||
void EPD_FillRAM(uint8_t cmd, uint8_t value, uint32_t len);
|
||||
void EPD_Reset(uint32_t value, uint16_t duration);
|
||||
void EPD_WaitBusy(uint32_t value, uint16_t timeout);
|
||||
|
||||
|
||||
@@ -146,11 +146,12 @@ static void SSD1619_Refresh(void)
|
||||
void SSD1619_Clear(bool refresh)
|
||||
{
|
||||
epd_model_t *EPD = epd_get();
|
||||
uint32_t ram_bytes = ((EPD->width + 7) / 8) * EPD->height;
|
||||
|
||||
_setPartialRamArea(0, 0, EPD->width, EPD->height);
|
||||
|
||||
EPD_FillRAM(CMD_WRITE_RAM1, 0xFF);
|
||||
EPD_FillRAM(CMD_WRITE_RAM2, 0xFF);
|
||||
EPD_FillRAM(CMD_WRITE_RAM1, 0xFF, ram_bytes);
|
||||
EPD_FillRAM(CMD_WRITE_RAM2, 0xFF, ram_bytes);
|
||||
|
||||
if (refresh)
|
||||
SSD1619_Refresh();
|
||||
|
||||
@@ -163,8 +163,11 @@ void UC8176_Init()
|
||||
|
||||
void UC8176_Clear(bool refresh)
|
||||
{
|
||||
EPD_FillRAM(CMD_DTM1, 0xFF);
|
||||
EPD_FillRAM(CMD_DTM2, 0xFF);
|
||||
epd_model_t *EPD = epd_get();
|
||||
uint32_t ram_bytes = ((EPD->width + 7) / 8) * EPD->height;
|
||||
|
||||
EPD_FillRAM(CMD_DTM1, 0xFF, ram_bytes);
|
||||
EPD_FillRAM(CMD_DTM2, 0xFF, ram_bytes);
|
||||
|
||||
if (refresh)
|
||||
UC8176_Refresh();
|
||||
|
||||
Reference in New Issue
Block a user