Back to Release page

Release Notes for STM32 USB Host Library

Copyright 2015 STMicroelectronics

 

Update History

V3.3.4 / 08-January-2020

Main Changes

  • Core driver:
    • Improve enumeration phase and avoid silent responses.
    • Add device reset trial mechanism during enumeration phase.
  • MSC Class
    • usbh_msc.c
      • update max_lun field to be uint8_t instead of  uint32_t.
  • HID Class
    • Get HID descriptor by parsing the device descriptor in order to improve interoperability with buggy devices that Stall host Get HID descriptor request.

V3.3.3 / 29-April-2019

Main Changes

  • Fix misra-C 2012 high severity violations
  • Core driver:
    • usbh_core.c: Rework USB host Core process in order to improve Device connection / disconnection robustness
  • MSC Class
    • usbh_msc.c
      • Update USBH_MSC_GetMaxLUN() to prevent corruption of supported LUNs
  • HID Class
    • prevent race between USB buffer and Application fifo buffer, this was ensured by allocating a dedicated buffer for received report
    • Prevent overflow on USB buffer for devices that could have report size greater than 4bytes

V3.3.2 / 24-January-2019

Main Changes

  • Core driver:
    • usbh_core.c: fix on USBH_Deinit() API, prevent freeing pActiveClass->pData pointer during host Deinit, this is manged by the Class drivers.

V3.3.1 / 09-July-2018

Main Changes

  • Fix interoperability issue with HP mouse
  • Add compatibility with FreeRTOS CMSIS V2 API changes
  • Update License section and add link to get copy of ST Ultimate Liberty license SLA0044

V3.3.0 / 23-january-2018

Main Changes

  • Update license section to Ultimate Liberty
  • Update some functions to be MISRA-C 2004 compliant
  • Improve USB Core enumeration state machine
  • Fix Device fast plug/unplug issue
  • Improve interoperability with non compliant USB devices
  • Add support of Host set remote wakeup enable feature
  • Fix USB Host MSC  set correct sector size
  • MSC: Set correct LUN number if returned LUN number exceeds max supported value

V3.2.2 / 07-July-2015

Main Changes

  • MSC Class
    • usbh_msc.c
      • Fix MSC Get Ready Delay issue

V3.2.1 / 26-June-2015

Main Changes

  • Core driver
    • usbh_def.h: update USBH_MAX_PIPES_NBR literal definition to be conditioned by #ifndef directive, to allow application code to change its value (i.e. in the compiler preprocessor)
  • MSC Class
    • usbh_msc.c
      • Update USBH_MSC_GetMaxLUN() to  return the correct number of supported LUNs (was returning 0xFF)
      • Fix timeout calculation issue
    • usbh_msc.h: update MAX_SUPPORTED_LUN literal definition to be conditioned by #ifndef directive, to allow application code to change its value (i.e.in the compiler preprocessor)
  • HID Class
    • usbh_hid.h: fix HID's handle “timer” type to uint32_t instead of uint16_t
  • MTP Class
    • usbh_mtp.c : Fix timeout calculation issue

V3.2.0 / 04-November-2014

Main Changes

  • Update all drivers to be C++ compliant
  • Core driver
    • usbh_core.c: remove HOST_IDLE state in USBH_LL_Connect() function
  • MSC class
    • Update to manage correctly older USB Keys that do not support GetMaxLun request
  • Miscellaneous source code comments update

V3.1.0 / 19-June-2014

Main Changes

  • Core driver
    • Add a new define USBH_PROCESS_STACK_SIZE in the usbh_conf.h file to change the default internal USB host process stack. Note that by omitting this define, the default stack size (2KB) is used
    • Add a user callback to handle unrecoverable error case in the application
    • Remove the wrong check on the interface descriptor index in the USBH_FindInterface() function
  • All classes
    • Update class description in files comment by adding reference to the used USB class specification revision
  • Audio, CDC and MTP classes
    • Add full RTOS support by handling state transitions through OS messages
  • HID class
    • Add new API USBH_HID_GetPollInterval() to allow user to retrieve the needed poll time (interval between two USBD_HID_SendReport())
  • Audio class
    • Add a new weak callback USBH_AUDIO_BufferEmptyCallback() to indicate the end of audio data processing on the user buffer
  • MSC class
    • Return mass storage device capacity in Bytes in the user log message instead of MBytes

V3.0.0 / 18-February-2014

Main Changes

  • Major update based on STM32Cube specification: Library Core, Classes architecture and APIs modified vs. V2.1.0, and thus the 2 versions are not compatible.
  • This version has to be used only with STM32Cube based development

V2.1.0 / 19-March-2012

Main Changes

  • Official support of STM32F4xx devices
  • All source files: license disclaimer text update and add link to the License file on ST Internet
  • Add ISR structure to link the low level driver to the Host library
  • Change length parameter in the I/O operations to handle large amount of data
  • Enhance the configuration descriptor parsing method to take into account multi interface devices
  • HID class
    • Remove blocking even frame synchronization loop
  • MSC class
    • Handle correctly the BOT transfer with length < max length
    • Handle multi sector length data in the FAT FS interface
  • Miscellaneous bug fix

V2.0.0 / 22-July-2011

Main Changes

  • Second official version supporting STM32F105/7 and STM32F2xx devices
  • Add support for STM32F2xx devices
  • Add multi interface feature
  • Add dynamic configuration parsing
  • Add USBH_DeAllocate_AllChannel function in the Host channel management layer to clean up channels allocation table when de-initializing the library
  • Change the core layer to stop correctly the host core and free all allocated channels
  • Add usbh_conf.h file in the application layer to customize some user parameters

V1.0.0 - 11/29/2010

  • Created 

License

This software component is licensed by ST under Ultimate Liberty license SLA0044, the "License"; You may not use this component except in compliance with the License. You may obtain a copy of the License at:

http://www.st.com/SLA0044


For complete documentation on STM32 Microcontrollers visit www.st.com/STM32