This page describes all changes made to the usbd_cd_cdc_acm package, USBD CDC-ACM Class Driver, since its release.
5.5 (2020-05-12, 17:25):
- Receive buffer base addresses were wrongly calculated if multiple CDC-ACM lines were defined. As a result data could get mixed up between the different channels.
5.4 (2018-08-27, 16:30):
- Static analysis issues eliminated.
5.3r2 (2018-08-29, 18:14):
- Document HTML link added to the documentation folder.
- History and document files renamed to the package name.
5.3 (2017-09-22, 13:51):
- usbd_cdcacm_send() returns USBD_CDCACM_BUSY if busy instead of USBD_CDCACM_ERROR.
- Line number parameter is checked to prevent buffer indexing error.
- usbd_cdcacm_get_control_line_state() introduced instead of usbd_cdcacm_get_dtr(); the new function can also return the state of RTS.
- USBD_CDCACM_NTF_SET_CONTROL_LINE_STATE notification function introduced which gets called if the host sets the control line state.
- Mutex released before calling Rx and Tx notifications in order to support initiating new reception/transmission from user callback.
- Multiple DISCONNECT notifications eliminated.
- Module renamed to usbd_cdcacm (original name: usbd_cdcser).
- Functionality reworked: one event used inside the module; new API.
- Line number parameter added to cdcserd_send_brk() function.
- Added new API functions cdcserd_receive_buf(), cdcserd_receive_buf_status() to support reception directly into a user buffer.
- Rx transfers addressed to the internal CDC buffer are always started with length=psize instead of length=bufsize.
- Removed needless usbd_cdcser.h.
- cdcserd_init() resources release sequence fixed in case of error.
- RX_BUFFER_SIZE renamed to CDC_RX_BUFFER_SIZE and moved to the config file.
- cdcserd_send() incorrectly cleared RX task ID instead TX task ID after getting the configured event.
- Removed debug code.
- Added a flag to indicate valid taskid.
- Added mutex protection for the taskid flag.
- Added interface function cdcserd_wait_rx_chars() to make the driver able to wait for received characters with a timeout.
- cdcserd_receive() will start a blocking transfer in case of RTOS.
- LS_BRAK corrected to LS_BREAK in api_usbd_cdcser.h.
- USBD_INVALID_IFC_NDX used instead of (uint8_t)-1.
- Resources incorrectly freed in case of failure at at initialization.
- Some typecasts were changed to avoid warnings.