If Channel is less than 0, it's clamped to 0 on line 134. Then on line 138, dmxData[0] is written with the value, overwriting the start byte that was just set on line 137. DMX Channel numbers should be 1-based (1-512). The bounds check should clamp Channel to a minimum of 1, not 0, to prevent corrupting the start byte
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* make SparlFunDMX driver more robust:
- made variables static (so they don't overlap with other global variables)
- made sure all valriables are properly initialized
- do not apply pinMode and digitalRead to invalid pins (as this creates problems on -S3, -C3 and -S2)
* disable DMX sending code (unneeded code that may case troubles)
* added SparkFunDMX library dependencies
* changed variable names to avoid conflicts with SparkFunDMX library
* board version checks
* minor changes to DMX
* fix brightness when no shutter DMX channel is set
* fix compile issue on newer ESP32 variants