I have a hardware system that uses the LED Wiz from GroovyGameGear.com to control LED's on the front of a system running Windows Embedded. GroovyGameGear provides a dll (SimpleLEDWiz.dll) that I run from python (cdll from ctypes) to control the LED controller and this works great.
Here's the issue: We are swapping Windows Embedded for Ubuntu 12.04 and I'll (obviously) no longer be able to use the provided dll to control the LED controller (yes I've tried wine). The developers have sent me some specifications for the data transfers needed that seem simple, but I'm pretty lost at getting this working. I can see the device when connected in /dev/bus/usb but beyond that I'm unsure what to do. I'd love to keep this in Python if possible. This is the information sent to me from the LED Wiz team:
"""Here's what you need to know on the LED-Wiz end;
Developer ID: FAFA Device numbers : F0 through FF
The format of the reports are very simple: There are always 8 bytes sent at any one given time and two types of transfers the hardware is expecting.
The first is what we call a "state dump." This sets the states of the outputs and is as follows:
Byte 0 = 64 This is a flag used to tell the unit that this data package is a state dump. It will always be 64
Byte 1 - Byte 5 = Refer to the KWZ-SBA command.
Byte 6 and Byte 7 = 0 These are always 0 and are "padding"
The "state dump" will also allow recovery from any problems experienced with the "profile dump", as it resets all data counters within the LED-Wiz. It's a good idea to use a state dump once in a while just to make sure everything is synched. It shouldn't be necessary since USB communication is well error-checked, but it's good practice.
The other is the "profile dump." This one expects 32 bytes of data in four 8 byte chunks. Think of each chunk as though it is a quarter of the data in the KWZ-PBA command."""
Any help will be appreciated! Thanks!