USBD ROM Stack  1.0
ROM based USB device stack

CDC class API functions structure.This module exposes functions which interact directly with USB device controller hardware. More...

#include <mw_usbd/mw_usbd_cdcuser.h>

Data Fields

uint32_t(* GetMemSize )(USBD_CDC_INIT_PARAM_T *param)
ErrorCode_t(* init )(USBD_HANDLE_T hUsb, USBD_CDC_INIT_PARAM_T *param, USBD_HANDLE_T *phCDC)
ErrorCode_t(* SendNotification )(USBD_HANDLE_T hCdc, uint8_t bNotification, uint16_t data)

Detailed Description

CDC class API functions structure.

This module exposes functions which interact directly with USB device controller hardware.


Field Documentation

Function to determine the memory required by the CDC function driver module.

This function is called by application layer before calling pUsbApi->CDC->Init(), to allocate memory used by CDC function driver module. The application should allocate the memory which is accessible by USB controller/DMA controller.

Note:
Some memory areas are not accessible by all bus masters.
Parameters:
[in]paramStructure containing CDC function driver module initialization parameters.
Returns:
Returns the required memory size in bytes.

Function to initialize CDC function driver module.

This function is called by application layer to initialize CDC function driver module.

Parameters:
[in]hUsbHandle to the USB device stack.
[in,out]paramStructure containing CDC function driver module initialization parameters.
Returns:
Returns ErrorCode_t type to indicate success or error condition.
Return values:
LPC_OKOn success
ERR_USBD_BAD_MEM_BUFMemory buffer passed is not 4-byte aligned or smaller than required.
ERR_API_INVALID_PARAM2Either CDC_Write() or CDC_Read() or CDC_Verify() callbacks are not defined.
ERR_USBD_BAD_INTF_DESCWrong interface descriptor is passed.
ERR_USBD_BAD_EP_DESCWrong endpoint descriptor is passed.

Function to send CDC class notifications to host.

This function is called by application layer to send CDC class notifications to host. See usbcdc11.pdf, section 6.3, Table 67 for various notification types the CDC device can send.

Note:
The current version of the driver only supports following notifications allowed by ACM subclass: CDC_NOTIFICATION_NETWORK_CONNECTION, CDC_RESPONSE_AVAILABLE, CDC_NOTIFICATION_SERIAL_STATE.
For all other notifications application should construct the notification buffer appropriately and call hw->USB_WriteEP() for interrupt endpoint associated with the interface.
Parameters:
[in]hCdcHandle to CDC function driver.
[in]bNotificationNotification type allowed by ACM subclass. Should be CDC_NOTIFICATION_NETWORK_CONNECTION, CDC_RESPONSE_AVAILABLE or CDC_NOTIFICATION_SERIAL_STATE. For all other types ERR_API_INVALID_PARAM2 is returned. See usbcdc11.pdf, section 3.6.2.1, table 5.
[in]dataData associated with notification.
For CDC_NOTIFICATION_NETWORK_CONNECTION a non-zero data value is interpreted as connected state.
For CDC_RESPONSE_AVAILABLE this parameter is ignored.
For CDC_NOTIFICATION_SERIAL_STATE the data should use bitmap values defined in usbcdc11.pdf, section 6.3.5, Table 69.
Returns:
Returns ErrorCode_t type to indicate success or error condition.
Return values:
LPC_OKOn success
ERR_API_INVALID_PARAM2If unsupported notification type is passed.

The documentation for this struct was generated from the following file: