Yes, it’s that time again - another official MyUSB release. I’ve since bumped the version number up from the BETA 1.3.3 due to the number of additions and breaking changes in the release. Suffice to say I’m pumped about the new version!
The final changelog is as follows:
- Added HID Report Parser API to the library
- Added Mouse and Keyboard host demo applications, using the new HID report parser engine
- Added MouseFullInt demo, which demonstrates a fully interrupt (including control requests) mouse device
- Fixed incorrect length value in the audio control descriptor of the AudioOutput and AudioInput demos
- Added MIDI device demo application to the library
- Fixed problem preventing USB devices from being resumed from a suspended state
- Added new CDC class bootloader to the library, based on the AVR109 bootloader protocol
- Added header to each demo application indicating the mode, class, subclass, standards used and supported speed
- Functions expecting endpoint/pipe numbers are no longer automatically masked against ENDPOINT_EPNUM_MASK or PIPE_PIPENUM_MASK - this should be manually added to code which requires it
- Fixed DFU class bootloader - corrected frequency of flash page writes, greatly reducing programming time
- Renamed AVR_HOST_GetDeviceConfigDescriptor() to USB_Host_GetDeviceConfigDescriptor() and AVR_HOST_GetNextDescriptor() to USB_Host_GetNextDescriptor()
- Added new USB_Host_GetNextDescriptorOfTypeBefore() and USB_Host_GetNextDescriptorOfTypeAfter() routines
- Moved configuration descriptor routines to MyUSB/Drivers/USB/Class/, new accompanying ConfigDescriptors.c file
- Added new configuration descriptor comparator API for more powerful descriptor parsing, updated host demos to use the new comparator API
- Fixed MassStorageHost demo capacity printout, and changed data read/write mode from little-endian to the correct big-endian for SCSI devices
- Fixed macro/function naming consistancy; USB_HOST is now USB_Host, USB_DEV is now USB_Device
- Added better error reporting to host demos
- Added 10 microsecond delay after addressing devices in host mode, to prevent control stalls
Those of you writing embedded hosts with the library should really appreciate the power and flexibility of the new Configuration Descriptor processing routines — check out the updated host demos in the package to see examples of how it can be used and how it simplifies/modularises the descriptor processing so well.
As always, head over to the library page for the latest download link. Happy programming, and don’t forget to send me emails about how you’re using the library!
Wiki documentation updates will be done soon, so standby for updated documentation, including the obligatory migration page.
EDIT: Wiki documentation update complete.
Recent Comments