Optimizing patch performance for DMX control

GustavoRhomas's icon

I'm in the early stages of building a DMX lighting project and I want to ensure I'm optimizing my patch in such a way that I minimize dropped info and work within the speed limitations of my patch & hardware.

To test speed and frequency response I'm starting off with a simple on/off sequence which is made up of :
square wave --> snapshot --> route (which is then selecting between 2 messages. ON and OFF) --> serial object (baud rate:115200 buffer size: 2048) sending to my Enttec DMX USB Pro.

Max Patch
Copy patch and select New From Clipboard in Max.

It works as expected at very low frequencies but around 40Hz I'm already seeing tripped up skipped data on the print out. So I know I could be approaching my patch in a better way.

I would be grateful to receive any suggestions for improvement. Overall I understand DMX, as well as signal to float, has its speed limitations, I just want to understand where the ceiling is so I can work reliably within those limitations.

Sébastien Gay's icon

You haven't specified any [snapshot~]'s reporting interval, so as posted, the patch simply doesn't work ?
If I am not wrong, eventhough setting reporting interval to 1ms, at 44100 sampling rate, signal value will change 44,1 times between 2 snapshots, so it is too slow to capture changes in real time ?
[edge~] may be more accurate ?

Source Audio's icon

do not use signal objects to trigger DMX list.

what a schnapsidee !?


GustavoRhomas's icon

@Source audio: Thanks for your reply, Im using lists temporarily to carry out this test, but is there a technical or performance based reason I should avoid lists in this application?

my goal is to work with signals that trigger DMX lighting. Is there a different approach or workflow that would be best?

@Sébastien: Apologies, I didn’t copy the reporting interval value when I initially posted my patch. Ill try an edge~ thank you!

Source Audio's icon

I did not say anything about using lists, but signals

GustavoRhomas's icon

@Source Audio thanks for clarifying