diff options
| author | gamerdonkey | 2024-09-14 23:08:10 -0500 |
|---|---|---|
| committer | gamerdonkey | 2024-09-14 23:08:10 -0500 |
| commit | d595719766b011f7afa284832aa5c27d60e2643d (patch) | |
| tree | 8a8f404d8092489e24b1080accd55dcc605d3807 /main/InovaLedDisplay.h | |
| parent | a52a7281b2f517248cac3255c1732731cc909bda (diff) | |
| download | esp32-inova-led-controller-d595719766b011f7afa284832aa5c27d60e2643d.tar.gz esp32-inova-led-controller-d595719766b011f7afa284832aa5c27d60e2643d.tar.bz2 esp32-inova-led-controller-d595719766b011f7afa284832aa5c27d60e2643d.zip | |
Adding a backBuffer to avoid flickering. Color improvements.
Diffstat (limited to 'main/InovaLedDisplay.h')
| -rw-r--r-- | main/InovaLedDisplay.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/main/InovaLedDisplay.h b/main/InovaLedDisplay.h index b394708..a1d9ad9 100644 --- a/main/InovaLedDisplay.h +++ b/main/InovaLedDisplay.h @@ -16,16 +16,18 @@ class InovaLedDisplay : public virtual Adafruit_GFX { void drawPixel(int16_t x, int16_t y, uint16_t c); - void updateDisplay(void); + void swapBuffer(void); void runDisplay(void); void stopDisplay(void); private: - uint16_t displayBuffer[NUM_ROW][NUM_COL / 8]; // each column is two bits, so 8 can fit in 16-bit integer + uint16_t displayBuffer[2][NUM_ROW][NUM_COL / 8]; // each column is two bits, so 8 can fit in 16-bit integer spi_device_handle_t spi; bool run = true; + bool shouldSwapBuffer = false; + uint8_t backBufferIndex = 0; gpio_num_t latch, oe, addr0, addr1, addr2; }; |
