Open korakinos opened 1 year ago
The controller is not sending legal DMX. In order to conform to the standard, the controller should send a minimum of 24 slots worth of data. There is a #define in LXESP8266UARTDMX.h that reflects this (and you can edit and change to allow 12 slots).
[93] #define DMX_MIN_SLOTS 24
Thanks, I didn't know that! After changing DMX_MIN_SLOTS
to 12, I can now receive packets from my controller.
Even though devices like this violate the DMX specification, I wonder if it would nevertheless make sense to support them in the library. I'm not sure how common they are (the one I am using is the "Stairville DDC-12"), but they are potentially a simple way to add a physical fader interface to an ESP8266.
Edit:I just measured another controller I have access to, a 6-channel one. And indeed it only outputs six DMX channels.
I have a working test setup based on the DMXInputTest.ino example from this repository. It can receive DMX signals sent from an Enttec DMX USB Pro (verified by controlling a connected LED). However, it fails to receive signals from a simple 12-channel manual DMX controller.
Looking at the DMX signals with an oscilloscope, I can see that the manual controller, other than the Enttec, only sends 12 channels of data per packet, not the full DMX range of 512 channels. So I suspect this to be the cause.
Does this library function with DMX packets of only 12 channels (or generally, less than 512)? If not, could it be changed to support this? How?