Personal tools
The Open Lighting Project has moved!

We've launched our new site at www.openlighting.org. This wiki will remain and be updated with more technical information.

Difference between revisions of "USB Protocol Extensions"

From wiki.openlighting.org

Jump to: navigation, search
m (Devices Supporting these Message Types)
 
(8 intermediate revisions by 6 users not shown)
Line 20: Line 20:
 
! '''Size in Bytes'''!! Description  
 
! '''Size in Bytes'''!! Description  
 
|-
 
|-
|| 2  || [[ESTA]] ID
+
|| 2  || [[ESTA]] ID, Least significant byte first
 
|-
 
|-
 
|| 32 || Up to 32 bytes containing the manufacturer name. Not null terminated.
 
|| 32 || Up to 32 bytes containing the manufacturer name. Not null terminated.
Line 33: Line 33:
 
! '''Size in Bytes'''!! Description  
 
! '''Size in Bytes'''!! Description  
 
|-
 
|-
|| 2  || Device Type ID, Manufacturer assigned.
+
|| 2  || Device Type ID, Manufacturer assigned. Least significant byte first.
 
|-
 
|-
 
|| 32 || Up to 32 bytes containing the device type. Not null terminated.
 
|| 32 || Up to 32 bytes containing the device type. Not null terminated.
Line 42: Line 42:
  
 
* [[Arduino RGB Mixer]] , ESTA ID: 0x7a70, Device ID: 0x1
 
* [[Arduino RGB Mixer]] , ESTA ID: 0x7a70, Device ID: 0x1
* [[DMX-TRI]], ESTA ID: 0x6864, Device ID:
+
* [[Packetheads USB_DMX Dongle]] , ESTA ID: 0x7a70, Device ID: 0x2
 +
* [[DMX-TRI]], ESTA ID: 0x6864, Device ID 0x0: 0x1
 +
* [[RDM-TRI]], ESTA ID: 0x6864, Device ID 0x0: 0x2
 +
* [[RDM-TRI-MK2]], ESTA ID: 0x6864, Device ID 0x0: 0x3
 +
* [[RDM-TXI-MK2]], ESTA ID: 0x6864, Device ID 0x0: 0x4
 
* [[DMXking  USB DMX512-A]], ESTA ID: 0x6A6B, Device ID: 0x0
 
* [[DMXking  USB DMX512-A]], ESTA ID: 0x6A6B, Device ID: 0x0
 +
* [[UltraDMX]], ESTA ID: 0x6A6B, Device ID: 0x1
 +
* [[UltraDMX Pro]], ESTA ID: 0x6A6B, Device ID: 0x2
 +
* [[UltraDMX Micro]], ESTA ID: 0x6A6B, Device ID: 0x3
 +
* [[UltraDMX  RDM Pro]], ESTA ID: 0x6A6B, Device ID: 0x4
 +
* [[DMXter4_RDM]], ESTA ID: 0x4744, Device ID: 0x4D44
 +
* [[MiniDMXter]], ESTA ID: 0x4744, Device ID: 0x494D
 +
 +
== Send DMX Multiple Universes, Label = 100, 101 ==
 +
 +
The DMX King [[UltraDMX Pro]] supports 2 universes output and 1 input simultaneously. They have added extensions to cater for these separate output universes:
 +
 +
    ''Label = 100 Output Only Send DMX Packet Request Universe 1 on outputs 1 & 2 (same format as label 6)
 +
    Label = 101 Output Only Send DMX Packet Request Universe 2 on outputs 3 & 4 (same format as label 6)
 +
   
 +
    When Label 6 data is received the ultraDMX Pro reverts back to standard mode and outputs 1 universe data on outputs 1,2,3&4.''
 +
  
 
== External References ==
 
== External References ==
Line 49: Line 69:
 
* [http://www.enttec.com/docs/dmx_usb_pro_api_spec.pdf DMX Pro API]
 
* [http://www.enttec.com/docs/dmx_usb_pro_api_spec.pdf DMX Pro API]
 
* [http://www.esta.org/tsp/working_groups/CP/mfctrIDs.php ESTA IDs]
 
* [http://www.esta.org/tsp/working_groups/CP/mfctrIDs.php ESTA IDs]
 +
* [http://dmxking.com/downloads/0080/0080-700-1.0.pdf ultraDMX Pro User Manual] (see section 9 "Communications Protocol" for label 100, 101 description)

Latest revision as of 16:01, 22 November 2013

This documents the additional message types added to the Enttec DMX USB Pro protocol to support multiple device types. As the number of devices supporting the protocol grows, it becomes difficult for software like OLA to differentiate the device types. The Device Manufacturer & Device Name messages allow the host software to determine the device and know which set of messages it supports.

Other Solutions

USB Serial Number

Enttec USB Pro devices have only started programming the serial numbers recently (>2008?). When using the standard USB Serial drivers on Mac & Linux, the host application doesn't have access to the serial numbers. This would require us to write our own USB drivers using libusb to expose this information.

Use the User Addressable EEPROM

Some devices don't support the Set Widget Parameters message so this isn't an option. Also it suffers from the bootstrapping issue, we need to know what device it is before we can write the information about what device it is...


Device Manufacturer, Label = 77, no data

This message requests the device manufacturer information from the widget. The response is of the form:

Size in Bytes Description
2 ESTA ID, Least significant byte first
32 Up to 32 bytes containing the manufacturer name. Not null terminated.


Device Name, Label = 78, no data

This message requests the device name information from the widget. The response is of the form:

Size in Bytes Description
2 Device Type ID, Manufacturer assigned. Least significant byte first.
32 Up to 32 bytes containing the device type. Not null terminated.


Devices Supporting these Message Types

Send DMX Multiple Universes, Label = 100, 101

The DMX King UltraDMX Pro supports 2 universes output and 1 input simultaneously. They have added extensions to cater for these separate output universes:

   Label = 100 Output Only Send DMX Packet Request Universe 1 on outputs 1 & 2 (same format as label 6)
   Label = 101 Output Only Send DMX Packet Request Universe 2 on outputs 3 & 4 (same format as label 6)
   
   When Label 6 data is received the ultraDMX Pro reverts back to standard mode and outputs 1 universe data on outputs 1,2,3&4.


External References