From what I can tell, the code shipped with the at90usbkey (or, more generally, the at90usb1287 chip) for interfacing with its USB hardware is not public domain and its license is not compatible with any standard open source license. I'd like to make a project that uses USB on the at90usb1287, but I don't want to use the library code provided by Atmel because of these licensing problems (I want to release my project under the GPL).
I would like to use AVR-USB with my project because I can license the resulting code under the GPL. However, it seems that AVR-USB is designed to work with AVR chips that do not have built-in USB hardware. Is there any work being done to make it work with chips like the at90usb1287 that have USB hardware built-in?
It seems that some work is being done on a library like this, but the work is unrelated to AVR-USB and is still at a very early beta stage. You can find out more at:
http://fourwalledcubicle.com/blog/archives/5
http://www.fourwalledcubicle.com/MyUSB.php
Support for at90usbkey
MyUSB
That's my driver you're referencing to. I'm making slow progress on it, as the datasheet for the USB controller is poorly written (missing bit descriptions and in one or two instances, registers altogether) so It's a lot of hard work.
I just added the control endpoint creation code, so hopefully I'll be able to get a VBUS notification out of it soon. Stay tuned!
- Dean
I just added the control endpoint creation code, so hopefully I'll be able to get a VBUS notification out of it soon. Stay tuned!
- Dean
Just in case anyone is still following this, my library is now in a stage that supports USB enumeration as a device for the USB1287 AVR used in the USBKEY. The library is still being written (and is subject to change) but the device code is operational, with the host code not too far behind.
I've made a USB mouse demonstration app on the project page based on a now dated version of the library, but it works and is very easy to update to the latest code.
Cheers all!
- Dean
I've made a USB mouse demonstration app on the project page based on a now dated version of the library, but it works and is very easy to update to the latest code.
Cheers all!
- Dean