From 4be618fe7b6d3d4eb22870b89ea494f0884883a0 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Wed, 24 May 2023 15:09:26 +0200 Subject: [PATCH] Fix WS2812 string distortions during analogRead() Fix WS2812 string distortions during analogRead() --- tasmota/tasmota_xsns_sensor/xsns_02_analog.ino | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tasmota/tasmota_xsns_sensor/xsns_02_analog.ino b/tasmota/tasmota_xsns_sensor/xsns_02_analog.ino index 094cbb798..12292d0b0 100644 --- a/tasmota/tasmota_xsns_sensor/xsns_02_analog.ino +++ b/tasmota/tasmota_xsns_sensor/xsns_02_analog.ino @@ -317,6 +317,11 @@ uint16_t AdcRead(uint32_t pin, uint32_t factor) { // factor 3 = 8 samples // factor 4 = 16 samples // factor 5 = 32 samples +#ifdef USE_LIGHT + if ((XLGT_01 == TasmotaGlobal.light_driver) && LightPower()) { + delay(5); // analogRead() interferes with DMA/RMT so wait for a decent amount of time + } +#endif // USE_LIGHT uint32_t samples = 1 << factor; uint32_t analog = 0; for (uint32_t i = 0; i < samples; i++) {