Output plugin for new hardware

Post Reply
User avatar
ke4pjw
Posts: 2
Joined: Fri Apr 01, 2016 3:01 am
Location: Nashville, TN USA
Real Name: Terry Trapp
Contact:

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
User avatar
mcallegari
Posts: 4462
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

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)
User avatar
ke4pjw
Posts: 2
Joined: Fri Apr 01, 2016 3:01 am
Location: Nashville, TN USA
Real Name: Terry Trapp
Contact:

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
User avatar
mcallegari
Posts: 4462
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

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
Post Reply