Double buffer function reduction
Can't get rid of the wait while statement though...
This commit is contained in:
parent
d9e2f85f98
commit
055ff08fe5
1 changed files with 4 additions and 17 deletions
|
@ -388,7 +388,7 @@ class MatrixPanel_I2S_DMA {
|
|||
// Setup the ESP32 DMA Engine. Sprite_TM built this stuff.
|
||||
configureDMA(m_cfg); //DMA and I2S configuration and setup
|
||||
|
||||
showDMABuffer(); // show backbuf_id of 0
|
||||
//showDMABuffer(); // show backbuf_id of 0
|
||||
|
||||
#if SERIAL_DEBUG
|
||||
if (!initialized)
|
||||
|
@ -492,7 +492,7 @@ class MatrixPanel_I2S_DMA {
|
|||
static void color565to888(const uint16_t color, uint8_t &r, uint8_t &g, uint8_t &b);
|
||||
|
||||
|
||||
inline void flipDMABuffer()
|
||||
inline void IRAM_ATTR flipDMABuffer()
|
||||
{
|
||||
if ( !m_cfg.double_buff) return;
|
||||
|
||||
|
@ -503,23 +503,10 @@ class MatrixPanel_I2S_DMA {
|
|||
Serial.printf_P(PSTR("Set back buffer to: %d\n"), back_buffer_id);
|
||||
#endif
|
||||
|
||||
// Wait before we allow any writing to the buffer. Stop flicker.
|
||||
while(!i2s_parallel_is_previous_buffer_free()) { delay(1); }
|
||||
}
|
||||
|
||||
inline void showDMABuffer()
|
||||
{
|
||||
|
||||
if (!m_cfg.double_buff) return;
|
||||
|
||||
#if SERIAL_DEBUG
|
||||
Serial.printf_P(PSTR("Showtime for buffer: %d\n"), back_buffer_id);
|
||||
#endif
|
||||
|
||||
i2s_parallel_flip_to_buffer(I2S_NUM_0, back_buffer_id);
|
||||
|
||||
// Wait before we allow any writing to the buffer. Stop flicker.
|
||||
while(!i2s_parallel_is_previous_buffer_free()) { delay(1); }
|
||||
while(i2s_parallel_is_previous_buffer_free() == false) { }
|
||||
}
|
||||
|
||||
inline void setPanelBrightness(int b)
|
||||
|
|
Loading…
Reference in a new issue