History: usbd_drv_vusb


This page describes all changes made to the usbd_drv_vusb package, USBD Low Level Driver for VUSB, since its release.


Version

1.26 (2019-06-28, 13:50):

  • Added SRP and HRP support.

1.25r2 (2018-08-29, 18:24):

  • Document HTML link added to the documentation folder.
  • History and document files renamed to the package name.

1.25 (2018-07-26, 19:23):

  • Control endpoint communication could fail if (Endpoint0 maximum packet size) > 8 in the device descriptor used.

1.24 (2018-04-16, 17:17):

  • Added DMA error handling.

1.23:

  • Several fixes related to device recognition (enumeration) process.
  • Version check was fixed in PSP.
  • Compiler warnings were eliminated.
  • Refactoring to comply with coding standard rules.
  • Missing OAL_ISR_PRE/OAL_ISR_POST macros added.

1.22:

  • Processing order of completed transfers is guaranteed now to match the real order how transfers finished.
  • Unreleased resources could result in stop of the driver after several USB resets without pulling out the cable.

1.21:

  • The USB host might have been unable to abort an ongoing IN transfer by sending a Setup packet.

1.20:

  • Receiving more consecutive Set Configuration commands from the host, without USB reset, could cause traffic stop on endpoints with pending Tx transfers using a const source buffer (located in ROM). The number of Set Configuration requests causing the issue depends on the size of the memory area available for locking via hcc_mem.

1.19:

  • First control transfer after a successful Send Configuration could fail.
  • Unused code removed.

1.18:

  • Receiving Set Configuration command from the host, without USB reset, could cause immediate Tx traffic stop on the endpoints with pending Tx transfers, lasting until the next USB reset.
  • Sending from const buffers could cause the driver's Tx path inoperable after sending a few frames successfully.

1.17:

  • Updated for compatibility with SOF Timer version 2.x.

1.16:

  • Missing includes were added to usbd_vusb.h.

1.15:

  • Free USB Buffer Descriptor Table memory in usbd_hw_delete().

1.14:

  • Control transfers could get stuck during heavy traffic.

1.13:

  • Transfers from unaligned address could stop working.

1.12:

  • Code reorganized to support OTG operation.
  • PSP function names cleaned up.

1.11:

  • Logical-physical memory mapping added.

1.10:

  • Introduced common memory handle in usbd_dev.h.

1.9:

  • Corrected hcc_mem_lock call. From interrupt it is not possible to call this function.

1.8:

  • DMA alignment bug fixed. usbd_vusb.c now uses hcc-mem to allocate aligned buffer for OUT transfers.

1.7:

  • Unnecessary check for eph->tr is removed from handle_tx_event().
  • Warning removed.

1.6:

  • Configuration parameter USB_DEVICE_INT_PRIO moved to config_usbd_vusb.h.

1.5:

  • Fix regarding VBUS monitoring.
  • usbd_receive(): race condition caused by automatic Control transfer handshake of VUSB fixed.

1.4:

  • Resume, Suspend interrupt correction.

1.3:

  • Interrupt enabling moved to usbd_vusb.c (from _hw.c).

1.2:

  • Added support to do DMA from ROM.

1.1:

  • PIC24 compatibility added.

1.0:

  • Initial release.