Keywords: Mac Kernel Development
Apple USB Driver
Darwin Kernel Programming
This project is development of a Mac OS X USB driver and Java interface for an active open-source project using IO Kit via fileio (or JNI, but this is not preferred owing to maintainability hassles); bulk mode high performance (asynchronous reader) required for USB 2.0 high speed capture of real-time device data coming from Cypress FX2 USB device at data rates of up to 20 MBps. Must also implement facility for sending custom vendor requests and device enumeration by factory method. Must also implement defined Java interfaces which already exist for basic linux native kernel mode implementations and which are subset of more evolved form for Windows (using Thesycon driver development kit).
Developed code is for and will be open-sourced in sourceforge jAER project.
Development must be completed within 30 days.
Basic implementation of development is expected to be two java classes: CypressFX2FactoryMacOSX and CypressFX2RetinaMacOSX, along with kernel mode native driver similar to existing linux driver.
Code must be sufficiently self-documented (javadoc & comments) for later development.
Demonstration of working driver required on our hardware using at least two devices that can be hot-plugged and removed. Automatic or guided driver installation must be clearly specified and easy to use.
Attachments are the native linux driver and the relevant part of the java source tree. Full tree available for svn checkout from sourceforge jAER project and should be used during development.
Please provide example of a working driver who have already developed with Java interface. Open-source project is preferred.
Please do not ask for additional specs document - the attached source file implementations for linux and windows for working implementations should be sufficient information to bid on the project.
1 freelancer is bidding on average $5000 for this job
I have experience in kernel programming and am confident of getting it to work. But I may need a hardware prototype to test out my code or will have to leave it to you to verify the code.