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.
|
// Setup the ESP32 DMA Engine. Sprite_TM built this stuff.
|
||||||
configureDMA(m_cfg); //DMA and I2S configuration and setup
|
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 SERIAL_DEBUG
|
||||||
if (!initialized)
|
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);
|
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;
|
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);
|
Serial.printf_P(PSTR("Set back buffer to: %d\n"), back_buffer_id);
|
||||||
#endif
|
#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);
|
i2s_parallel_flip_to_buffer(I2S_NUM_0, back_buffer_id);
|
||||||
|
|
||||||
// Wait before we allow any writing to the buffer. Stop flicker.
|
// 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)
|
inline void setPanelBrightness(int b)
|
||||||
|
|
Loading…
Reference in a new issue