-
Notifications
You must be signed in to change notification settings - Fork 5
Description
I am trying to build a DMX scene memory with bypass/backup function, based on a XIAO ESP32-C6. In order to get familiar with the functionality of EasyDMX, I first tried some examples from the examples folder of this project.
With the Transmit example I am not able to set more than one value. I suppose the example code should toggle channel 1 between 255 and 0 every second:
void loop() {
// Set channel 1 to 255
dmx.setChannel(1, 255); // line 38
delay(1000);
// Set channel 1 to 0
dmx.setChannel(1, 0); // line 41
delay(1000);
}
In my case, channel 1 remains 0. If I change the DMX value in line 41 to some value >=32 (e. g. dmx.setChannel(1, 45);, channel 1 will be set to 255, according to the command in line 38. However, it still doesn't toggle.
I tried to digg a bit deeper by means of Serial.println("..."); outputs or setting LEDs. But with any changes in the code I was no more able to set the level of channel 1 at all. Adding pinMode(22, OUTPUT); in the setup block was already enough modification to prevent setting a non-zero level to channel 1.
I should mention that for all this I changed line 32 from dmx.begin(DMXMode::Transmit, DMXPin::NoRx, DMXPin::Serial2Tx); to dmx.begin(DMXMode::Transmit, DMXPin::NoRx, 16);, as on the ESP32-C6 the Tx pin is 16, not 17.
The issue occurred with ESP32-C6, Arduino-IDE 2.3.7, FreeRTOS 11.1.0-3.
I would be glad about advice how to solve this. Please let me know if I can provide additional information or checks.