Merge pull request #13846 from s-hadinger/ws2812_rmt_workaround

WS2812 RMT work-around
This commit is contained in:
s-hadinger 2021-11-28 23:06:21 +01:00 committed by GitHub
commit 4df1295bff
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 0 deletions

View File

@ -224,6 +224,9 @@ void Ws2812StripShow(void)
}
}
strip->Show();
#ifdef ESP32 // workaround for SPI conflict
rmt_wait_tx_done((rmt_channel_t) USE_WS2812_RMT, 50/portTICK_PERIOD_MS);
#endif
}
int mod(int a, int b)
@ -497,6 +500,9 @@ void Ws2812Clear(void)
strip->ClearTo(0);
strip->Show();
Ws2812.show_next = 1;
#ifdef ESP32 // workaround for SPI conflict
rmt_wait_tx_done((rmt_channel_t) USE_WS2812_RMT, 50/portTICK_PERIOD_MS);
#endif
}
void Ws2812SetColor(uint32_t led, uint8_t red, uint8_t green, uint8_t blue, uint8_t white)
@ -523,6 +529,9 @@ void Ws2812SetColor(uint32_t led, uint8_t red, uint8_t green, uint8_t blue, uint
if (!Ws2812.suspend_update) {
strip->Show();
Ws2812.show_next = 1;
#ifdef ESP32 // workaround for SPI conflict
rmt_wait_tx_done((rmt_channel_t) USE_WS2812_RMT, 50/portTICK_PERIOD_MS);
#endif
}
}
@ -564,6 +573,9 @@ void Ws2812ForceUpdate (void)
Ws2812.suspend_update = false;
strip->Show();
Ws2812.show_next = 1;
#ifdef ESP32 // workaround for SPI conflict
rmt_wait_tx_done((rmt_channel_t) USE_WS2812_RMT, 50/portTICK_PERIOD_MS);
#endif
}
/********************************************************************************************/