OpenLightingProject / ola

The Open Lighting Architecture - The Travel Adaptor for the Lighting Industry
https://www.openlighting.org/ola/
Other
644 stars 204 forks source link

Support for FTDI device "JMS USB2DMX PRO V2.1" #1728

Open cmouttet opened 3 years ago

cmouttet commented 3 years ago

I was playing around with the USB2DMX device and was wondering if it can be used in OLA on Raspberry PI 3 running Raspberry Pi OS 10 (a.k.a. Raspbian 10).

It is detected correctly, dmesg logs this:

[125878.052572] usb 1-1.2: new full-speed USB device number 12 using dwc_otg
[125878.211472] usb 1-1.2: New USB device found, idVendor=0403, idProduct=6001, bcdDevice=10.00
[125878.211498] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[125878.211515] usb 1-1.2: Product: JMS USB2DMX PRO V2.1
[125878.211531] usb 1-1.2: Manufacturer: JMS
[125878.211546] usb 1-1.2: SerialNumber: 191500336
[125878.221759] ftdi_sio 1-1.2:1.0: FTDI USB Serial Device converter detected
[125878.221979] usb 1-1.2: Detected FT-X
[125878.226747] usb 1-1.2: FTDI USB Serial Device converter now attached to ttyUSB0

OLA Service is installed via the bundled packages (Version 0.10.7)

Plugging in the USB device and only selecting the FTDI USB plugin it shows this in syslog:

Jun 19 06:13:25 raspi3b olad[16929]: olad/PluginManager.cpp:195: Trying to start FTDI USB DMX
Jun 19 06:13:25 raspi3b olad[16929]: plugins/ftdidmx/FtdiWidget.cpp:133: Found 1 FTDI devices with PID: 24577.
Jun 19 06:13:25 raspi3b olad[16929]: plugins/ftdidmx/FtdiWidget.cpp:189: Found FTDI device. Vendor: 'JMS', Name: 'JMS
Jun 19 06:13:25 raspi3b olad[16929]: plugins/ftdidmx/FtdiWidget.cpp:202: Unknown FTDI device with vendor string: 'JMS
Jun 19 06:13:25 raspi3b olad[16929]: plugins/ftdidmx/FtdiWidget.cpp:133: Found 0 FTDI devices with PID: 24593.
Jun 19 06:13:25 raspi3b olad[16929]: olad/PluginManager.cpp:200: Started FTDI USB DMX

With a simple patch of plugins/ftdidmx/FtdiWidget.cpp, by adding the vendor JMS fixed this issue as we can see here:

Jun 19 06:16:29 raspi3b olad[17028]: plugins/ftdidmx/FtdiDmxDevice.cpp:60: Widget JMS USB2DMX PRO V2.1 has 1 interfac
Jun 19 06:16:29 raspi3b olad[17028]: plugins/ftdidmx/FtdiWidget.cpp:230: Setting interface to: 1
Jun 19 06:16:30 raspi3b olad[17028]: common/thread/Thread.cpp:200: Thread , policy SCHED_OTHER, priority 0
Jun 19 06:16:30 raspi3b olad[17028]: plugins/ftdidmx/FtdiDmxDevice.cpp:75: Successfully added 1/1 interfaces.
Jun 19 06:16:30 raspi3b olad[17028]: olad/plugin_api/DeviceManager.cpp:105: Installed device: JMS USB2DMX PRO V2.1 wi
Jun 19 06:16:30 raspi3b olad[17028]: olad/plugin_api/PortManager.cpp:119: Patched 13-191500336-O-1 to universe 0
Jun 19 06:16:30 raspi3b olad[17028]: plugins/ftdidmx/FtdiDmxThread.cpp:175: Granularity for FTDI thread is GOOD
Jun 19 06:16:30 raspi3b olad[17028]: olad/PluginManager.cpp:200: Started FTDI USB DMX

Are you interested in a Pull Request containing this one-liner?

Cheers & thank you, Christian

peternewman commented 3 years ago

Yes please @cmouttet . Always for things like this, especially when they're nice and trivial!

I assume it actually works and outputs DMX?

If you open it against our 0.10 branch it will be in the next release too.