From eb7a1b3ac9cbacb74afb7fcd1d40c51a18c90060 Mon Sep 17 00:00:00 2001 From: JF Date: Wed, 22 Jan 2020 21:08:53 +0100 Subject: [WIP] Max SPI speed reached (119ms for a full refresh. Theo max : 240*240*16 = 115.2ms) using IRQ and DMA. Code needs some cleaning before integration. --- src/drivers/St7789.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/drivers/St7789.cpp') diff --git a/src/drivers/St7789.cpp b/src/drivers/St7789.cpp index f47c2f58..6b663132 100644 --- a/src/drivers/St7789.cpp +++ b/src/drivers/St7789.cpp @@ -37,8 +37,8 @@ void St7789::WriteData(uint8_t data) { } -void St7789::WriteSpi(const uint8_t* data, size_t size) { - spi.Write(data, size); +void St7789::WriteSpi(const uint8_t* data, size_t size, size_t repeat) { + spi.Write(data, size, repeat); } void St7789::SoftwareReset() { @@ -143,10 +143,11 @@ void St7789::BeginDrawBuffer(uint16_t x, uint16_t y, uint16_t width, uint16_t he } void St7789::EndDrawBuffer() { + spi.Wait(); } -void St7789::NextDrawBuffer(const uint8_t *data, size_t size) { - WriteSpi(data, size); +void St7789::NextDrawBuffer(const uint8_t *data, size_t size, size_t repeat) { + WriteSpi(data, size, repeat); } void St7789::HardwareReset() { -- cgit v1.2.3-70-g09d2