Open Slesarew opened 9 months ago
Sample code (C language):
/**
* Ultrafast
*/
EPD_Text(0, 115, "Randomizing", 1, 0);
EPD_PartWriteFull(true);
EPD_DeepSleepNoWait();
void EPD_PartWriteFull(bool init)
{
if (init)
{
EPD_reset();
Epaper_Write_Command(0x3C); //BorderWavefrom,
Epaper_Write_Data(0x80);
}
Epaper_Write_Command(0x24); //Write Black and White image to RAM
DISP_CS(0);
DISP_DC(1);
SpiWriteArray(FrameBuffer, BUFSIZE);
DISP_CS(1);
EPD_Part_Update();
}
void EPD_Part_Update(void)
{
Epaper_Write_Command(0x22); //Display Update Control
Epaper_Write_Data(0xFF);
Epaper_Write_Command(0x20); //Activate Display Update Sequence
Delay(1);
while (DISP_BUSY) ;
}
void EPD_DeepSleepNoWait(void)
{
Epaper_Write_Command(0x10); //enter deep sleep
Epaper_Write_Data(0x01);
}
/**
* Fast
*/
EPD_HW_Init_Fast();
EPD_putLogo(grob, 0, sizeof(grob)); тут что-то нарисовать
EPD_WriteScreen_Buff_Fast();
while (DISP_BUSY) ;
EPD_DeepSleep();
void EPD_HW_Init_Fast(void)
{
EPD_reset();
while (DISP_BUSY) ;
EPD_cmd8(0x12); //SWRESET
while (DISP_BUSY) ;
Epaper_Write_Command(0x18); //Read built-in temperature sensor
Epaper_Write_Data(0x80);
Epaper_Write_Command(0x22); // Load temperature value
Epaper_Write_Data(0xB1);
Epaper_Write_Command(0x20);
while (DISP_BUSY) ;
Epaper_Write_Command(0x1A); // Write to temperature register
Epaper_Write_Data(0x64);
Epaper_Write_Data(0x00);
Epaper_Write_Command(0x22); // Load temperature value
Epaper_Write_Data(0x91);
Epaper_Write_Command(0x20);
while (DISP_BUSY) ;
}
void EPD_WriteScreen_Buff_Fast()
{
unsigned int i;
Epaper_Write_Command(0x24); //write RAM for black(0)/white (1)
for (i = 0; i < sizeof(FrameBuffer); i++)
{
Epaper_Write_Data(FrameBuffer[i]);
}
EPD_Update_Fast();
}
void EPD_Update_Fast(void)
{
Epaper_Write_Command(0x22); //Display Update Control
Epaper_Write_Data(0xC7); //C7
Epaper_Write_Command(0x20); //Activate Display Update Sequence
Delay(1);
while (DISP_BUSY) ;
}
Implement intermediate screen refresh feature; use it as much as possible on all complete UI transitions except for device initialization and secure screen wipe steps.