Page 1 of 1

Output plugin for new hardware

Posted: Fri Apr 01, 2016 3:19 am
by ke4pjw
I am currently developing a new DMX dongle that supports 4 DMX universes. Is there any documentation for the output plugin API for QLC+ ? (Googling didn't turn up much) Is there a simple example output plugin to build upon?

Also, I would be willing to give one of my prototypes in trade for someone else writing the output plugin. The device presents itself as a com port and utilizes the FTDI VCP drivers. It contains are real FTDI chip. The packet specification is fairly straight forward.

Thanks in advance!
--Terry

Re: Output plugin for new hardware

Posted: Fri Apr 01, 2016 8:22 am
by mcallegari
Have a look at this:
https://github.com/mcallegari/qlcplus/t ... gins/dummy

It's there for the exact reason of developing new plugins.

You could send the device to me, but I'm afraid of custom taxes and so on since you're located in the US.

By the way, if the device is based on FTDI, I believe the proper place for it is in the DMXUSB plugin, which already handles devices with multiple outputs (e.g. ENTTEC Mk2, DMXking ultraDMX pro)

Re: Output plugin for new hardware

Posted: Fri Apr 01, 2016 11:37 am
by ke4pjw
That is exactly what I was looking for. I will dig through the source and have a look at the DMXUSB code. I currently don't have any way self identify the hardware in my firmware, however that can be added. I will see how other devices do it and follow their lead.

The writeUniverse method cuts right the chase in the dummy plugin. That's exactly what I was hoping to see!

Thanks much Massimo!

Regards,
Terry

Re: Output plugin for new hardware

Posted: Fri Apr 01, 2016 7:19 pm
by mcallegari
I currently don't have any way self identify the hardware in my firmware, however that can be added. I will see how other devices do it and follow their lead.
DMXUSB detection can be done in two ways:
- by USB VID/PID. Typically FTDI has VID = 0x0403 and PID = 0x6001, but if you change them you can identify quite easily your device during the USB buses scan.
Current recognized VID/PID are here
https://github.com/mcallegari/qlcplus/b ... face.h#L87
- by product name, typically written in the FTDI EEPROM. Read the FTDI docs to understand how to write that EEPROM.
Those fields can be easily read but they are OS dependent. For example the Linux interface does it here:
https://github.com/mcallegari/qlcplus/b ... e.cpp#L182