claudeheintz / LXDMXWiFi_Library

Library for ESP8266 implements Art-Net and sACN with example DMX input/output to/from network
BSD 3-Clause "New" or "Revised" License
74 stars 17 forks source link

Light flashes with "Changes only" output protocol #24

Closed Andreadj closed 1 year ago

Andreadj commented 1 year ago

Hi Claude, I found this problem. Trying to control my light with Aurora DMX (App on Google store) my light start flashing instead of staying always on. When i tried with other software same result. At the end I discovered that they both use the "Changes only" transmission type. It means that controller only outputs data on changes exept one per second (that's why my light flashes). This is done to reduce the output data on heavily loaded network. For better compatibility this could be corrected in the library? Or I have to write corrections needed on my firmware to not have my light flash?

claudeheintz commented 1 year ago

I'm not clear if your light flashes using this library or if it is happening with something else and you want to know if it will not happen with this library.

In order to give you an answer, we'd need to know exactly how your devices are connected and how you are using this library. Are you using one of the examples?

Art-Net and sACN are generally sent once per second unless there are changes happening. In all the examples for this library, the eventual output only changes when a new packet is received. In some implementations, the output is dropped if no Art-Net or sACN packets are received after a period of time, usually 3-5 seconds. In any of the examples with this library, this does not happen and the output persists even when no more Art-Net or sACN have been received.

Andreadj commented 1 year ago

I'm using your library with an esp32 and a RGBW led. The command is: ledcWrite(0, ESP32DMX.getSlot(DMXAddress)); ledcWrite(1, ESP32DMX.getSlot(DMXAddress + 1)); ledcWrite(2, ESP32DMX.getSlot(DMXAddress + 2)); ledcWrite(3, ESP32DMX.getSlot(DMXAddress + 3)); But if a packet is not received the light goes off. If I set the controller to send packets continuously the light stays on, if I use the mode of 1 packet every second ("only changes" mode), not receiving packets the light goes intermittently every 1 second. Are you sure the light should stay on without receiving packets? Maybe I changed something writing my firmware???

Andreadj commented 1 year ago

I'm sorry I understood... I made a light that works as a priority in DMX, but if it does not receive a DMX signal it switches to Apk functionality controlled via UDP messages by Smartphone. The counter to do that is 10 milliseconds... that's why it turns off. Sorry but developing the Apk after the DMX I lost this setup... and I forgot it.

Thanks for your support!!!