Building partial update
This commit is contained in:
parent
09f4b17674
commit
6e5d7a7fb0
@ -218,6 +218,36 @@ where
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/**
|
||||
void EPD_3IN7_1Gray_Display_Part(const UBYTE *Image, UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend)
|
||||
{
|
||||
UWORD i, Width;
|
||||
Width = (Xend-Xstart)%8 == 0 ? (Xend-Xstart)/8 : (Xend-Xstart)/8+1;
|
||||
UWORD IMAGE_COUNTER = Width * (Yend-Ystart);
|
||||
|
||||
EPD_3IN7_SendCommand(0x44);
|
||||
EPD_3IN7_SendData(Xstart & 0xff);
|
||||
EPD_3IN7_SendData((Xstart>>8) & 0x03);
|
||||
EPD_3IN7_SendData(Xend & 0xff);
|
||||
EPD_3IN7_SendData((Xend>>8) & 0x03);
|
||||
EPD_3IN7_SendCommand(0x45);
|
||||
EPD_3IN7_SendData(Ystart & 0xff);
|
||||
EPD_3IN7_SendData((Ystart>>8) & 0x03);
|
||||
EPD_3IN7_SendData(Yend & 0xff);
|
||||
EPD_3IN7_SendData((Yend>>8) & 0x03);
|
||||
|
||||
EPD_3IN7_SendCommand(0x24);
|
||||
for (i = 0; i < IMAGE_COUNTER; i++)
|
||||
{
|
||||
EPD_3IN7_SendData(Image[i]);
|
||||
}
|
||||
|
||||
EPD_3IN7_Load_LUT(2);
|
||||
EPD_3IN7_SendCommand(0x20);
|
||||
EPD_3IN7_ReadBusy_HIGH();
|
||||
}
|
||||
*/
|
||||
|
||||
#[allow(unused)]
|
||||
fn update_partial_frame(
|
||||
&mut self,
|
||||
@ -229,6 +259,20 @@ where
|
||||
width: u32,
|
||||
height: u32,
|
||||
) -> Result<(), SPI::Error> {
|
||||
self.interface
|
||||
.cmd(spi, Command::SetRamXAddressStartEndPosition);
|
||||
|
||||
self.interface.data(spi, &[x as u8 & 0xff]);
|
||||
self.interface.data(spi, &[(x >> 8) as u8 & 0x03]);
|
||||
self.interface.data(spi, &[(width - x) as u8 & 0xff]);
|
||||
self.interface.data(spi, &[((width - x) as u8 >> 8) & 0x03]);
|
||||
|
||||
self.interface
|
||||
.cmd(spi, Command::SetRamYAddressStartEndPosition);
|
||||
self.interface.data(spi, y as u8 & 0xff);
|
||||
self.interface.data(spi, (y as u8 >> 8) & 0x03);
|
||||
self.interface.data(spi, (height - y) as u8 & 0xff);
|
||||
self.interface.data(spi, ((height - y) as u8 >> 8) & 0x03);
|
||||
todo!()
|
||||
}
|
||||
|
||||
@ -236,7 +280,7 @@ where
|
||||
//self.interface
|
||||
// .cmd_with_data(spi, Command::WRITE_LUT_REGISTER, &LUT_1GRAY_GC)?;
|
||||
self.interface.cmd(spi, Command::DisplayUpdateSequence)?;
|
||||
self.interface.wait_until_idle(delay, IS_BUSY_LOW);
|
||||
let _ = self.interface.wait_until_idle(delay, IS_BUSY_LOW);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user