Symptoms:
Sending commands to the WS2812B LED strip (via IRremote library) has become unreliable or delayed since implementing the hardware-based 38kHz tripwire.
Technical Root Cause:
The ESP8266 has limited hardware timers. The analogWrite() function (used for the 38kHz carrier wave) and the IRremote::sendNEC() function are likely contending for the same hardware timer or interrupt resources. The continuous PWM generation for the tripwire is interrupting the precise timing required for the LED data protocol.
Proposed Fix:
Implement a resource semaphore or "muting" function to temporarily disable the 38kHz PWM carrier wave for ~50ms while the LED command is being transmitted.
Symptoms:
Sending commands to the WS2812B LED strip (via IRremote library) has become unreliable or delayed since implementing the hardware-based 38kHz tripwire.
Technical Root Cause:
The ESP8266 has limited hardware timers. The analogWrite() function (used for the 38kHz carrier wave) and the IRremote::sendNEC() function are likely contending for the same hardware timer or interrupt resources. The continuous PWM generation for the tripwire is interrupting the precise timing required for the LED data protocol.
Proposed Fix:
Implement a resource semaphore or "muting" function to temporarily disable the 38kHz PWM carrier wave for ~50ms while the LED command is being transmitted.