[ANSWERED] DMX channels 16 bits (dimmer fine) ??
francoisb last edited by Woland
I am using Isadora with an enttec DMX interface.
My led driver works in 16 bits, so it allows dimming on two dmx channels (dimmer fine).
I have limits with mathematical logic ;), I can't manage to distribute the values between 0 and 65536 on two channels (each between 0 and 255).
Is there a formula for this ?
Does anyone have an actor to control a dimmer in 16 bits?
255 (decimal) = FF (hexadecimal)
FFFF (hexadecimal) = 65635 (decimal)
So you need to have a range of 0 thru 65535 (16 bit), and convert it to Hex. Split the Hex text into 2 values (FFFF become FF and FF), convert each to Decimal (will be 0-255 range), and send them via DMX.
Note: On the receiving end it matters greatly in what order these DMX values are assigned. Since it is converted to text, split in half, and sent out.. the reverse is done on the other side.
If for example the HEX converted to DMX is 00FF if the DMX values are sent reversed the receiver will reconstruct the value as FF00.
00FF = 255
FF00 = 65280
If you are getting incorrect values you likely need to swap your output order.
I'll spend a moment now to create a User Actor :)
DONE: DX - 16bit DMX values (link has been updated to link to Add-ons page now. This is where you can get the latest version)
PS: the user actor contains a couple of User Actors I made for converting Hex colours within Isadora. They will be part of an upcoming Color_Tools addon-ons release.
francoisb last edited by
Great!! thank a lot. I wouldn't have been able to do that ;)
I tried the actor, it gives correct values between 0 and 255 then starts giving incoherent values. At some point (around 4096), the values seem to be correct again.
I tried reversing the outputs, it's the same problem ...
OK, I'm taking another look at this. Didn't have a real test for it, so I was being hopeful :)
I think I have found the cause of the issue.
I have updated the linked User Actor in my previous post. Please try the new Actor.
What was happening is that values 0-f weren't being padded in some cases (if they were part of the second value and the value had 4 characters).
I was able to correct this by selecting the sub sections of the hex from the end of the hex string rather than from the beginning, this allows for Hex values that have less than 4 characters being parsed correctly.
note: If you are sending the DMX via the Serial actors, it will be important that the values are padded with 'leading zeroes' in the Matrix Value Receive actor. This is likley the case already if you are using DMX send user actors from the Add-Ons page.
francoisb last edited by
It works ! That's a very precious user actor for me :) Thanks a lot !!
I spent a few minutes and cleaned up the user actor (it works the same) so that it wasn't using user actors I made for colour conversions. This means it is doing a little less Decimal / HEX conversion which makes it slightly more efficient, but more importantly, it can't conflict with my color actors (once released).
I recommend replacing the actor with the most recent version.
I spent a few minutes and cleaned up the user actor
Don't forget to put it on the Add-Ons Page if you haven't already ;)