USB Component
Version 6.17.0
MDK Middleware for USB Device and Host Communication
|
User API reference of the Custom Device Class. More...
Functions | |
void | USBD_CustomClassn_Initialize (void) |
Callback function called during USBD_Initialize to initialize the USB Custom class instance. More... | |
void | USBD_CustomClassn_Uninitialize (void) |
Callback function called during USBD_Uninitialize to de-initialize the USB Custom class instance. More... | |
void | USBD_CustomClassn_Reset (void) |
Callback function called upon USB Bus Reset signaling. More... | |
void | USBD_CustomClassn_EndpointStart (uint8_t ep_addr) |
Callback function called when Endpoint Start was requested (by activating interface or configuration) More... | |
void | USBD_CustomClassn_EndpointStop (uint8_t ep_addr) |
Callback function called when Endpoint Stop was requested (by de-activating interface or activating configuration 0) More... | |
usbdRequestStatus | USBD_CustomClassn_Endpoint0_SetupPacketReceived (const USB_SETUP_PACKET *setup_packet, uint8_t **buf, uint32_t *len) |
Callback function called when a SETUP PACKET was received on Control Endpoint 0. More... | |
void | USBD_CustomClassn_Endpoint0_SetupPacketProcessed (const USB_SETUP_PACKET *setup_packet) |
Callback function called when a SETUP PACKET was processed by USB library. More... | |
usbdRequestStatus | USBD_CustomClassn_Endpoint0_OutDataReceived (uint32_t len) |
Callback function called when OUT DATA was received on Control Endpoint 0. More... | |
usbdRequestStatus | USBD_CustomClassn_Endpoint0_InDataSent (uint32_t len) |
Callback function called when IN DATA was sent on Control Endpoint 0. More... | |
void | USBD_CustomClassn_Endpoint1_Event (uint32_t event) |
Callback function called when DATA was sent or received on Endpoint n. More... | |
void | USBD_CustomClassn_Endpoint2_Event (uint32_t event) |
void | USBD_CustomClassn_Endpoint3_Event (uint32_t event) |
void | USBD_CustomClassn_Endpoint4_Event (uint32_t event) |
void | USBD_CustomClassn_Endpoint5_Event (uint32_t event) |
void | USBD_CustomClassn_Endpoint6_Event (uint32_t event) |
void | USBD_CustomClassn_Endpoint7_Event (uint32_t event) |
void | USBD_CustomClassn_Endpoint8_Event (uint32_t event) |
void | USBD_CustomClassn_Endpoint9_Event (uint32_t event) |
void | USBD_CustomClassn_Endpoint10_Event (uint32_t event) |
void | USBD_CustomClassn_Endpoint11_Event (uint32_t event) |
void | USBD_CustomClassn_Endpoint12_Event (uint32_t event) |
void | USBD_CustomClassn_Endpoint13_Event (uint32_t event) |
void | USBD_CustomClassn_Endpoint14_Event (uint32_t event) |
void | USBD_CustomClassn_Endpoint15_Event (uint32_t event) |
usbStatus | USBD_EndpointRead (uint8_t device, uint8_t ep_addr, uint8_t *buf, uint32_t len) |
Start reception on Endpoint. More... | |
uint32_t | USBD_EndpointReadGetResult (uint8_t device, uint8_t ep_addr) |
Get result of read operation on Endpoint. More... | |
usbStatus | USBD_EndpointWrite (uint8_t device, uint8_t ep_addr, const uint8_t *buf, uint32_t len) |
Start write on Endpoint. More... | |
uint32_t | USBD_EndpointWriteGetResult (uint8_t device, uint8_t ep_addr) |
Get result of write operation on Endpoint. More... | |
usbStatus | USBD_EndpointStall (uint8_t device, uint8_t ep_addr, bool stall) |
Set/Clear stall on Endpoint. More... | |
usbStatus | USBD_EndpointAbort (uint8_t device, uint8_t ep_addr) |
Abort read/write operation on Endpoint. More... | |
User API reference of the Custom Device Class.
void USBD_CustomClassn_Initialize | ( | void | ) |
Callback function called during USBD_Initialize to initialize the USB Custom class instance.
The function USBD_CustomClassn_Initialize is called when the USB Device containing the custom class is initialized. This function should be adapted to clear all variables and to setup all required interfaces.
Code Example
void USBD_CustomClassn_Uninitialize | ( | void | ) |
Callback function called during USBD_Uninitialize to de-initialize the USB Custom class instance.
The function USBD_CustomClassn_Uninitialize is called when the USB Device containing the custom class is uninitialized and needs no invocation in the user code. If USBD_CustomClassn_Initialize has been adapted to the application, USBD_CustomClassn_Uninitialize should release resources and should de-initialize interfaces and peripherals.
Code Example
void USBD_CustomClassn_Reset | ( | void | ) |
Callback function called upon USB Bus Reset signaling.
The function USBD_CustomClassn_Reset is called when a reset condition happens on the USB bus. Initialization of the instance's local parameters and variables should be done in this function.
void USBD_CustomClassn_EndpointStart | ( | uint8_t | ep_addr | ) |
Callback function called when Endpoint Start was requested (by activating interface or configuration)
[in] | ep_addr | endpoint address :
|
The function USBD_CustomClassn_EndpointStart is called for each endpoint that is a part of an activated interface of a Custom Class. Start data reception (USBD_EndpointRead) here, if the enabled endpoint is of type OUT.
The argument ep_addr determines the endpoint that is to be started. Code Example
void USBD_CustomClassn_EndpointStop | ( | uint8_t | ep_addr | ) |
Callback function called when Endpoint Stop was requested (by de-activating interface or activating configuration 0)
[in] | ep_addr | endpoint address :
|
The function USBD_CustomClassn_EndpointStop is called for each endpoint that is a part of an deactivated interface of a Custom Class.
Code Example
usbdRequestStatus USBD_CustomClassn_Endpoint0_SetupPacketReceived | ( | const USB_SETUP_PACKET * | setup_packet, |
uint8_t ** | buf, | ||
uint32_t * | len | ||
) |
Callback function called when a SETUP PACKET was received on Control Endpoint 0.
[in] | setup_packet | pointer to received setup packet. |
[in,out] | buf | pointer to data buffer used for data stage requested by setup packet. |
[in,out] | len | pointer to number of data bytes in data stage requested by setup packet. |
The callback function USBD_CustomClassn_Endpoint0_SetupPacketReceived function will be called by the USB Device Core when a setup packet has been received. Further handling by the USB Device Core is determined by the return code of this callback function.
The argument setup_packet specifies the setup packet that has been received.
The argument buf specifies the buffer for the data stage (in case the application will continue to process the setup packet)
The argument len specifies the length of the data for the data stage.
Code Example
void USBD_CustomClassn_Endpoint0_SetupPacketProcessed | ( | const USB_SETUP_PACKET * | setup_packet | ) |
Callback function called when a SETUP PACKET was processed by USB library.
[in] | setup_packet | pointer to processed setup packet. |
The callback function USBD_CustomClassn_Endpoint0_SetupPacketProcessed SetupPacketProcessed will be called by the USB Device Core when a setup packet was processed by the USB Device Core. This callback function acts as a notification only, so it has no return value.
Code Example
usbdRequestStatus USBD_CustomClassn_Endpoint0_OutDataReceived | ( | uint32_t | len | ) |
Callback function called when OUT DATA was received on Control Endpoint 0.
[in] | len | number of received data bytes. |
The callback function USBD_CustomClassn_Endpoint0_OutDataReceived will be called by the USB Device Core when data is available for further processing by the application (the return code of a previous USBD_CustomClassn_Endpoint0_SetupPacketReceived was usbdRequestOK).
The argument len determines the length of the data that is received.
usbdRequestStatus USBD_CustomClassn_Endpoint0_InDataSent | ( | uint32_t | len | ) |
Callback function called when IN DATA was sent on Control Endpoint 0.
[in] | len | number of sent data bytes. |
The callback function USBD_CustomClassn_Endpoint0_InDataSent will be called by the USB Device Core when data is available for further processing by the application (the return code of a previous USBD_CustomClassn_Endpoint0_SetupPacketReceived was usbdRequestOK).
The argument len determines the length of the data that is sent.
void USBD_CustomClassn_Endpoint1_Event | ( | uint32_t | event | ) |
Callback function called when DATA was sent or received on Endpoint n.
[in] | event | event on Endpoint :
|
The callback function USBD_CustomClassn_Endpoint1_Event is called by the USB Device Core when an event happens on endpoint 1. This function can use the USBD_EndpointRead, USBD_EndpointWrite, USBD_EndpointStall and USBD_EndpointAbort functions.
The argument event specifies the event on the endpoint. Code Example
void USBD_CustomClassn_Endpoint2_Event | ( | uint32_t | event | ) |
Refer to USBD_CustomClassn_Endpoint1_Event for more information
void USBD_CustomClassn_Endpoint3_Event | ( | uint32_t | event | ) |
Refer to USBD_CustomClassn_Endpoint1_Event for more information
void USBD_CustomClassn_Endpoint4_Event | ( | uint32_t | event | ) |
Refer to USBD_CustomClassn_Endpoint1_Event for more information
void USBD_CustomClassn_Endpoint5_Event | ( | uint32_t | event | ) |
Refer to USBD_CustomClassn_Endpoint1_Event for more information
void USBD_CustomClassn_Endpoint6_Event | ( | uint32_t | event | ) |
Refer to USBD_CustomClassn_Endpoint1_Event for more information
void USBD_CustomClassn_Endpoint7_Event | ( | uint32_t | event | ) |
Refer to USBD_CustomClassn_Endpoint1_Event for more information
void USBD_CustomClassn_Endpoint8_Event | ( | uint32_t | event | ) |
Refer to USBD_CustomClassn_Endpoint1_Event for more information
void USBD_CustomClassn_Endpoint9_Event | ( | uint32_t | event | ) |
Refer to USBD_CustomClassn_Endpoint1_Event for more information
void USBD_CustomClassn_Endpoint10_Event | ( | uint32_t | event | ) |
Refer to USBD_CustomClassn_Endpoint1_Event for more information
void USBD_CustomClassn_Endpoint11_Event | ( | uint32_t | event | ) |
Refer to USBD_CustomClassn_Endpoint1_Event for more information
void USBD_CustomClassn_Endpoint12_Event | ( | uint32_t | event | ) |
Refer to USBD_CustomClassn_Endpoint1_Event for more information
void USBD_CustomClassn_Endpoint13_Event | ( | uint32_t | event | ) |
Refer to USBD_CustomClassn_Endpoint1_Event for more information
void USBD_CustomClassn_Endpoint14_Event | ( | uint32_t | event | ) |
Refer to USBD_CustomClassn_Endpoint1_Event for more information
void USBD_CustomClassn_Endpoint15_Event | ( | uint32_t | event | ) |
Refer to USBD_CustomClassn_Endpoint1_Event for more information
usbStatus USBD_EndpointRead | ( | uint8_t | device, |
uint8_t | ep_addr, | ||
uint8_t * | buf, | ||
uint32_t | len | ||
) |
Start reception on Endpoint.
[in] | device | index of USB Device. |
[in] | ep_addr | endpoint address :
|
[out] | buf | buffer that receives data. |
[in] | len | maximum number of bytes to receive. |
The function USBD_EndpointRead starts the reception of a number of bytes specified by len on the OUT endpoint ep_addr to the buffer provided by buf. The reception is finished when either the requested number of bytes have been received or reception is terminated by reception of a short packet. When the reception is finished, the ARM_USBD_EVENT_OUT
event is sent to the USBD_CustomClassn_Endpointx_Event thread (with x specifying the endpoint number that was used for the read (receive) operation).
USBD_EndpointReadGetResult() can be used to retrieve number of received bytes after receive operation has finished (event was sent).
The argument device specifies the USB Device instance.
The argument ep_addr specifies the OUT endpoint address for data reception.
The argument buf is pointing to the buffer for the data.
The argument len specifies the number of bytes to be read (must be multiple of endpoint maximum packet size).
uint32_t USBD_EndpointReadGetResult | ( | uint8_t | device, |
uint8_t | ep_addr | ||
) |
Get result of read operation on Endpoint.
[in] | device | index of USB Device. |
[in] | ep_addr | endpoint address :
|
The function USBD_EndpointReadGetResult gets number of received bytes on an endpoint.
The argument device specifies the USB Device instance.
The argument ep_addr specifies the endpoint address that carries the data.
usbStatus USBD_EndpointWrite | ( | uint8_t | device, |
uint8_t | ep_addr, | ||
const uint8_t * | buf, | ||
uint32_t | len | ||
) |
Start write on Endpoint.
[in] | device | index of USB Device. |
[in] | ep_addr | endpoint address :
|
[in] | buf | buffer containing data bytes to write. |
[in] | len | number of bytes to write. |
The function USBD_EndpointWrite starts the transmission of a number of bytes specified by len on the IN endpoint ep_addr from the buffer provided by buf. When the transmission is finished, the ARM_USBD_EVENT_IN
event is sent to the USBD_CustomClassn_Endpointx_Event thread (with x specifying the endpoint number that was used for the write (transmit) operation).
The argument device specifies the USB Device instance.
The argument ep_addr specifies the IN endpoint address for sending the data.
The argument buf is pointing to the buffer containing the data.
The argument len specifies the number of bytes to be written.
uint32_t USBD_EndpointWriteGetResult | ( | uint8_t | device, |
uint8_t | ep_addr | ||
) |
Get result of write operation on Endpoint.
[in] | device | index of USB Device. |
[in] | ep_addr | endpoint address :
|
The function USBD_EndpointWriteGetResult gets number of sent bytes on an endpoint.
The argument device specifies the USB Device instance.
The argument ep_addr specifies the endpoint address for sending the data.
usbStatus USBD_EndpointStall | ( | uint8_t | device, |
uint8_t | ep_addr, | ||
bool | stall | ||
) |
Set/Clear stall on Endpoint.
[in] | device | index of USB Device. |
[in] | ep_addr | endpoint address :
|
[in] | stall | operation :
|
The function USBD_EndpointStall sets or clears stall on an endpoint.
The argument device specifies the USB Device instance.
The argument ep_addr specifies the endpoint address.
The argument stall specifies set or clear operation.
usbStatus USBD_EndpointAbort | ( | uint8_t | device, |
uint8_t | ep_addr | ||
) |
Abort read/write operation on Endpoint.
[in] | device | index of USB Device. |
[in] | ep_addr | endpoint address :
|
The function USBD_EndpointAbort aborts the transfer on an endpoint.
The argument device specifies the USB Device instance.
The argument ep_addr specifies the endpoint address.