em_usbxpress_callback.c File Reference

Contains call-back functions from the EFM32 USB Library.

Version
5.6.0

License

Copyright 2016 Silicon Laboratories, Inc. http://www.silabs.com

This file is licensed under the Silabs License Agreement. See the file "Silabs_License_Agreement.txt" for details. Before using this software for any purpose, you must agree to the terms of that agreement.

Definition in file em_usbxpress_callback.c .

#include <stddef.h>
#include " em_usbxpress_internal.h "
#include " em_usbxpress_descriptors.h "
#include " em_usbxpress.h "

Functions

static uint8_t usbxpressPartNumber SL_ATTRIBUTE_ALIGN (4)
USBXpress Part Number.
void USBX_DeviceStateChangeCb ( USBD_State_TypeDef oldState, USBD_State_TypeDef newState)
USB device state change call-back.
int USBX_inXferCompleteCb ( USB_Status_TypeDef status, uint16_t xferred, uint16_t remaining)
USBXpress IN Endpoint Transfer Complete Callback.
int USBX_outXferCompleteCb ( USB_Status_TypeDef status, uint16_t xferred, uint16_t remaining)
USBXpress OUT Endpoint Transfer Complete Callback.
void USBX_ResetCb (void)
USB Reset call-back.
int USBX_SetupCmdCb (const USB_Setup_TypeDef *setup)
USB setup command call-back.

Variables

uint8_t USBXCORE_overflowBuffer []
bool USBXCORE_rxOverflowPacketAvailable
Boolean indicating if data was received while expecting a ZLP.
uint32_t USBXCORE_rxOverflowPacketSize
Size of Rx Overflow Packet.
bool USBXCORE_zlpActive
Boolean indicating whether a ZLP read is active.

Function Documentation

static uint8_t usbxpressPartNumber SL_ATTRIBUTE_ALIGN ( 4 )
static

USBXpress Part Number.

USBXpress Library Version.

void USBX_DeviceStateChangeCb ( USBD_State_TypeDef oldState,
USBD_State_TypeDef newState
)

USB device state change call-back.

Set new state and jump to user API call-back.

Definition at line 71 of file em_usbxpress_callback.c .

References APIEA_GIE , USBD_STATE_CONFIGURED , USBD_STATE_SUSPENDED , USBX_DEV_CONFIGURED , USBX_DEV_SUSPEND , USBX_jumpCallback() , USBXCORE_apiEa , USBXCORE_apiIntValue , and USBXCORE_resetState() .

Referenced by USBX_init() .

int USBX_inXferCompleteCb ( USB_Status_TypeDef status,
uint16_t xferred,
uint16_t remaining
)

USBXpress IN Endpoint Transfer Complete Callback.

Gets the number of IN bytes transferred and passes them to the user API call-back.

Definition at line 242 of file em_usbxpress_callback.c .

References APIEA_GIE , USB_FS_BULK_EP_MAXSIZE , USB_STATUS_OK , USBD_Write() , USBX_jumpCallback() , USBX_TX_COMPLETE , USBXCORE_apiEa , USBXCORE_apiIntValue , USBXCORE_byteCountInPtr , and USBXCORE_writeSize .

Referenced by USBX_blockWrite() .

int USBX_outXferCompleteCb ( USB_Status_TypeDef status,
uint16_t xferred,
uint16_t remaining
)

USBXpress OUT Endpoint Transfer Complete Callback.

Gets the number of OUT bytes transferred and passes them to the user API call-back.

Definition at line 282 of file em_usbxpress_callback.c .

References APIEA_GIE , USB_STATUS_OK , USBD_Read() , USBX_jumpCallback() , USBX_RX_COMPLETE , USBX_RX_OVERRUN , USBXCORE_apiEa , USBXCORE_apiIntValue , USBXCORE_byteCountOutPtr , and USBXCORE_readSize .

Referenced by USBX_blockRead() .

void USBX_ResetCb ( void )

USB Reset call-back.

Jump to user API RESET call-back.

Definition at line 54 of file em_usbxpress_callback.c .

References APIEA_GIE , USBX_jumpCallback() , USBX_RESET , USBXCORE_apiEa , USBXCORE_apiIntValue , and USBXCORE_resetState() .

Referenced by USBX_init() .

int USBX_SetupCmdCb ( const USB_Setup_TypeDef * setup )

USB setup command call-back.

If the setup command is a vendor request, pass to the USB command request parsing routine and acknowledge. Otherwise ignore the request.

Definition at line 101 of file em_usbxpress_callback.c .

References APIEA_GIE , APIEA_GIE_TEMP , USB_Setup_TypeDef::bmRequestType , USB_Setup_TypeDef::bRequest , EXT_COMP_DESC_SIZE , EXT_COMP_VENDOR_CODE , FEATURE_EXTENDED_COMPATIBILITY_ID , FEATURE_EXTENDED_PROPERTIES_ID , GET_DESCRIPTOR , PROPERTIES_DESCRIPTOR_SIZE , SI_CP210X_GET_PART_NUMBER , SI_CP210X_REQUEST , SI_USBXPRESS_CLEAR_TO_SEND , SI_USBXPRESS_FLUSH_BUFFERS , SI_USBXPRESS_GET_VERSION , SI_USBXPRESS_NOT_CLEAR_TO_SEND , SI_USBXPRESS_REQUEST , USB_Setup_TypeDef::Type , USB_SETUP_DIR_D2H , USB_SETUP_RECIPIENT_DEVICE , USB_SETUP_RECIPIENT_INTERFACE , USB_SETUP_TYPE_STANDARD , USB_SETUP_TYPE_VENDOR , USB_SETUP_TYPE_VENDOR_MASK , USB_STATUS_OK , USB_STATUS_REQ_UNHANDLED , USB_STRING_DESCRIPTOR , USBD_AbortTransfer() , USBD_Write() , USBX_DEV_CLOSE , USBX_DEV_OPEN , USBX_FIFO_PURGE , USBX_jumpCallback() , USBXCORE_apiEa , USBXCORE_apiIntValue , USBXCORE_resetState() , USB_Setup_TypeDef::wIndex , USB_Setup_TypeDef::wLength , and USB_Setup_TypeDef::wValue .

Referenced by USBX_init() .