MyUSB 1.1.0 Released

MyUSB Library, Projects Add comments

Due to a number of pretty serious bug-fixes (eg. dual mode being broken in 1.0.X) I’ve decided to release 1.1.0 immediately. The new library is almost drop-in compatible with the old, and contains several new enhancements and fixes. I’ve created a migration page on my site Wiki for converting older projects to the new library, something which I’ll be doing for each new version. I don’t anticipate many show-stopper changes between minor versions, but it’s good to document those that exist.

You can browse the migration page for the latest version here.

The changelog for the new version is thus:

  • Fixed DCONNI interrupt being enabled accidentally after a USB reset
  • Fixed DDISCI interrupt not being disabled when a device is not connected
  • Added workaround for powerless pullup devices causing false disconnect interrupts
  • Added USB_DeviceEnumerationFailed event for Host mode
  • AVR_HOST_GetDeviceConfigDescriptor routine no longer modifies ConfigSizePtr if a valid buffer pointer is passed
  • Added ALLOCABLE_BYTES to DynAlloc, and added code to make the size of key storage variables dependant on size of memory parameters passed in via the user project’s makefile
  • Fixed incorrect device reset routine being called in USBTask
  • Devices which do not connect within the standard 300mS are now supported
  • Reduced control pipe freezing/unfreezing when sending control requests
  • Removed incorrect ATTR_PURE attribute from Scheduler_SetTaskMode(), which was preventing tasks from being started/stopped, as well as USB_InitTaskPointer(), which was breaking dual device/host USB projects
  • Changed scheduler to use the task name rather than IDs for setting the task mode, eliminating the need to have a task ID list
  • ID transistion interrupt now raises the appropriate device/host disconnect event if device attached
  • Fixed double VBUS change (and VBUS -) event when detatching in device mode
  • Added ability to disable ANSI terminal codes by the defining of DISABLE_TERMINAL_CODES in makefile
  • Removed return from ConfigurePipe and ConfigureEndpoint functions - use Pipe_IsConfigured() and Endpoint_IsConfigured() after calling the config functions to determine success

The new version is available from the normal MyUSB project page. If you find any bugs, please report them to me as soon as possible.

Leave a Reply

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Log in