History: usbd_cd_raw

This page describes all changes made to the usbd_cd_raw package, USBD Raw Class Driver, since its release.

Note: This package was previously named usbd_cd_bulk.


4.1 (2021-02-25, 11:00):

  • skip_zlp parameter had not been used by the USB stack in the receiving direction (usbd_raw_read() and usbd_raw_read_int()), so it removed it from these two API functions. The reason is that it is not possible to consider the need of a Zero Length Packet on the device side; the user must configure the host side application and the device side application in sync with each other instead. (That is, the host shall send data to the device from a buffer having the same size as the buffer the device receives the data into.)

3.2 (2020-01-15, 13:53):

  • Compiler warning eliminated.

3.1r3 (2019-07-25, 12:47):

  • The actual interface number is used for the usb_claim_interface() function in the libusb-bulk util program.

3.1r2 (2018-08-29, 18:13):

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

3.1 (2018-06-19, 13:34):

  • Sending and receiving of zero-length-packet can be enabled or disabled.
  • Setup packets can be handled by the user via a callback function.
  • 2.1:
    Renamed from usbd_cd_bulk to usbd_cd_raw.


  • Interrupt OUT endpoint handling added.


  • Multiple channel / interface handling added.


  • Compiler warnings fixed.


  • usbd_bulk_tr_state() modified to block until transfer ends successfully or with error in case of RTOS + called in blocking mode.


  • Multi-channel support modified: sets of endpoints used instead of interfaces.


  • Added support for INT IN channel.


  • Initial release.