em_usbxpress_internal.h File Reference
Primary header file. Contains internal global declarations and definitions.
- Version
- 5.4.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_internal.h
.
#include <stdint.h>
#include <stdbool.h>
#include "
em_usb.h
"
Macros |
|
#define | APIEA_GIE 0x01 |
#define | APIEA_GIE_TEMP 0x02 |
#define | SI_CP210X_GET_PART_NUMBER 0x370B |
Value.
|
|
#define | SI_CP210X_REQUEST 0xFF |
Request.
|
|
#define | SI_USBXPRESS_CLEAR_TO_SEND 0x0002 |
Value.
|
|
#define | SI_USBXPRESS_FLUSH_BUFFERS 0x0001 |
Value.
|
|
#define | SI_USBXPRESS_GET_VERSION 0x0008 |
Value.
|
|
#define | SI_USBXPRESS_NOT_CLEAR_TO_SEND 0x0004 |
Value.
|
|
#define | SI_USBXPRESS_PART_NUMBER_EFM32 0x81 |
EFM32 USBXpress Part Number.
|
|
#define | SI_USBXPRESS_PART_NUMBER_EFM8 0x80 |
EFM8 USBXpress Part Number.
|
|
#define | SI_USBXPRESS_REQUEST 0x02 |
Request.
|
|
#define | USBXCORE_MAXLEN 19 |
#define | USBXPRESS_LIBRARY_VERSION 0x0500 |
Functions |
|
void | USBX_DeviceStateChangeCb ( USBD_State_TypeDef oldState, USBD_State_TypeDef newState) |
USB device state change call-back.
|
|
int | USBX_inXferCompleteCb ( USB_Status_TypeDef , uint16_t, uint16_t remaining) |
USBXpress IN Endpoint Transfer Complete Callback.
|
|
void | USBX_jumpCallback (void) |
Conditionally jumps to the user call-back routine.
|
|
int | USBX_outXferCompleteCb ( USB_Status_TypeDef , uint16_t, 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.
|
|
void | USBXCORE_Read (uint8_t *, uint8_t *, uint8_t) |
void | USBXCORE_resetState (void) |
Resets internal USBXpress variables.
|
|
void | USBXCORE_Write (uint8_t *, uint8_t *, uint8_t) |
Variables |
|
uint32_t | USBXCORE_apiEa |
Enable or disable status of USB_API interrupts.
|
|
uint32_t | USBXCORE_apiIntValue |
Byte holding the current USB_API interrupts.
|
|
uint32_t * | USBXCORE_byteCountInPtr |
Pointer to variable holding number of bytes written.
|
|
uint32_t * | USBXCORE_byteCountOutPtr |
Pointer to variable holding number of bytes read.
|
|
uint8_t | USBXCORE_configDesc [32] |
Copy of configuration descriptor.
|
|
uint32_t | USBXCORE_readSize |
Number of bytes sent to
USBX_blockRead()
as numBytes.
|
|
uint32_t | USBXCORE_writeSize |
Number of bytes sent to
USBX_blockWrite()
as numBytes.
|
|
Macro Definition Documentation
#define APIEA_GIE 0x01 |
API Global Interrupt Enable
Definition at line
38
of file
em_usbxpress_internal.h
.
Referenced by USBX_apiCallbackDisable() , USBX_apiCallbackEnable() , USBX_DeviceStateChangeCb() , USBX_inXferCompleteCb() , USBX_outXferCompleteCb() , USBX_ResetCb() , and USBX_SetupCmdCb() .
#define APIEA_GIE_TEMP 0x02 |
Temporary storage of API GIE bit when internally disabled
Definition at line
41
of file
em_usbxpress_internal.h
.
Referenced by USBX_SetupCmdCb() .
#define USBXCORE_MAXLEN 19 |
Maximum length of array passed by USBXCORE_Read/Write
Definition at line
47
of file
em_usbxpress_internal.h
.
#define USBXPRESS_LIBRARY_VERSION 0x0500 |
USBXpress firmware library version Example: 0x0241 => v2.41
Definition at line
31
of file
em_usbxpress_internal.h
.
Referenced by USBX_getLibraryVersion() .
Function Documentation
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() .
void USBX_jumpCallback | ( | void |
|
) |
Conditionally jumps to the user call-back routine.
If the user call-back routine is already in progress, this function does nothing. Otherwise, this function jumps to the call-back defined via USBX_callbackEnable().
Definition at line
254
of file
em_usbxpress.c
.
Referenced by USBX_DeviceStateChangeCb() , USBX_inXferCompleteCb() , USBX_outXferCompleteCb() , USBX_ResetCb() , and USBX_SetupCmdCb() .
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() .
void USBXCORE_resetState | ( | void |
|
) |
Resets internal USBXpress variables.
This function resets the internal USBXpress variables. It should be called after a cancel-type event (USBXpress Close, USB de-configure, FIFO flush, etc.).
Definition at line
266
of file
em_usbxpress.c
.
References USBXCORE_rxOverflowPacketAvailable , and USBXCORE_zlpActive .
Referenced by USBX_DeviceStateChangeCb() , USBX_ResetCb() , and USBX_SetupCmdCb() .