Ftdi scratch

This was originally meant a scratch to be redone, as far as I recall the code isn't too terrible, but if you think I need to clean up more and split FtdiInterface into seperate .h and .c files I'll be happy to sit down more on it.

I really wanted to do more work before I sent the pull req but I see I haven't had time to work on it for a while and it's a pity to let it sit. 
Yes, it does not depend on libftdi 1.x
What I'm trying to say there is that:
In libftdi 1.x ftdi_usb_find_all has a very clearly defined behavior when
no vendorId/productId is set, it scans for the FTDI VID and 4 specific
PIDs, in libftdi 0.20 it seems to not be doing so, meaning it may just
return a list of all the usb devices attached.
Which in turn mean that scanning just for PIDs that are known to work may
end up trying to use some other vendors product that happens to have the
same PID.
If I have time today I'll write a small program that just dumps the
returned list from ftdi_usb_find_all and see if it is or isn't limited to
ftdi devices.



2014-07-16 1:54 GMT+03:00 peternewman <notifications@github.com>:

> In plugins/ftdidmx/FtdiWidget-libftdi.cpp:
>
> > +
> > +  while (current_device != NULL) {
> > +    struct usb_device *dev = current_device->dev;
> > +    current_device = current_device->next;
> > +    i++;
> > +
> > +    if (!dev) {
> > +      OLA_WARN << "Device returned from ftdi_usb_find_all was NULL";
> > +      continue;
> > +    }
> > +
> > +    if (dev->descriptor.idProduct != 0x6001 &&
> > +        dev->descriptor.idProduct != 0x6011) {
> > +      // Since all FTDI devices are found by ftdi_usb_find_all and I only know
> > +      // that these IDs are supported by this code.
> > +      // This applies to libftdi 1.x from the source in 0.20 it seems it may
>
> Again, I thought you dropped libftdi 1.x?
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/OpenLightingProject/ola/pull/433/files#r14968867>.
>