Well, it’s been ten days since Labrador hit 100%, and a week since I should have released the last update. Apologies for the delays. I became sick while moving house and just didn’t get around to it for a while. But, finally, here it is!
Stretch Goal #1 - Android Port The first stretch goal is a port of the software interface to Android. This will be developed if Labrador reaches a funding level of $18,000.
All devices that support OTG/Host mode (which is quite a few!) are compatible, however the power supply will not work due to limitations on output current.
Most of the backend code will require no modification - even the portions integrated with the Qt front-end, but the UI will need to be redesigned into something more mobile-friendly.
As for the driver code, there are several paths that can be taken. The first is to use the official Android USB Host API (which does not support isochronous transfers) and change the board’s firmware to use a large number of interrupt endpoints instead of a single isochronous one. The second is to still use the official USB Host API, but feed the descriptors into libusb. The third is to call ioctl directly. If you know anything about libusb or ioctl on Android please shoot me an email. I’m not sure which is the best option to take, and getting this to work could take a while - perhaps a month all up.
For this reason, work on the Android port will not begin until after the PC interface is complete and stable!
Stretch Goal #2 - Raspberry Pi Port The second stretch goal is a port of the software interface to Raspberry Pi. This will be developed if Labrador reaches a funding level of $25,000.
In theory, this should be as simple recompiling the Linux code. In practice, it will require a ton of work since everything will need to be optimised for an 800MHz ARM. And that’s much easier than it sounds when you’ve assumed the user will be running at least a 3GHz x86 from day one. It should be a lot of fun, but may again take a month or more.
Again, work will not begin on the Raspberry Pi version until after both the PC and Android versions are released!
Stretch Goal #3 - iOS Port
Just kidding! There are no plans for iOS support, nor will there ever be since no iPhone or iPad supports USB host mode. This is because
Apple are trying to force developers to use MFD parts in order to squeeze every last dollar out of both the consumer and industry USB devices are not aesthetically pleasing when hanging out the bottom a phone.
And that’s about it. Thank you once again for your support!