ENTTEC provides a hardware API to allow users to integrate the DMX USB PRO's functionality into their own applications to send or receive DMX.


Details and code examples can be found on the DMX USB PRO’s webpage.


In addition to ENTTEC’s software examples, third party integrations have been created by open-source communities (i.e. NPMJS / Python).


ENTTEC do not offer developer-specific support, however, the answers below can be useful when getting started with the USB PRO:

 

Does the DMX USB PRO refresh rate vary with respect to the total channels indexed in each serial packet?

No it does not. DMX USB PRO always processes 512 channels internally and remains at the defined frame rate.

 

What is the maximum refresh rate for the DMX USB Pro, and in what configuration can this be achieved?

Packet Refresh Rate (per second): 1-40 or define it as 0 for the fastest possible that the internal chip can handle. - (the DMX USB Pro Mk2 has a faster CPU, you will be able to achieve a higher max refresh rate with this).

 

In the event that I send more data over serial than the DMX USB PRO can output over DMX, what happens to the extra data? Is it dropped, buffered in a queue, or something else?

These packets will be dropped. We use this method to ensure we can be as responsive as possible to what is being sent. If your application tries to send at 60fps and the pro is outputting at a lower rate, if we queued them, the show would be constantly lagging. The Pro’s buffer is constantly being updated with the latest data received. The DMX USB PRO grabs whatever the data is in the buffer for each frame it outputs to maintain a consistent frame rate.

 

Is it possible to send fewer channels than 512 channels over serial to the DMX USB Pro?

Yes, it is, however, all 512 DMX channels will still be output from the DMX USB PRO.

 

Is it possible to "synchronize" timing with the DMX USB PRO in a way from software that guarantees every single serial packet corresponds to a single DMX packet?

No it is not. The device uses an internal timer for stability and consistent frame output. You can get incredibly close to this internal timing by sending a steady stream of frames to its internal buffer that match the DMX USB PRO’s frame rate.