Silicon Labs Host Libraries
Silabs_defs

Macros

#define UNREFERENCED_PARAMETER(p)   (void)(p)
 Unreferenced parameter definition. More...
 
#define SILABS_TEST_FILL   0xa5
 10100101 A "fill" pattern, typically only used in Debug situations More...
 
#define CP210X_PARTNUM   SILABS_PARTNUM_CPXXXX
 

Typedefs

typedef unsigned char BYTE
 Byte definition. More...
 
typedef enum _SILABS_VID * PSILABS_VID
 silabs vid pointer More...
 
typedef enum _SILABS_PID * PSILABS_PID
 silabs pid pointer More...
 
typedef enum _SILABS_PARTNUM_CPXXXX * PSILABS_PARTNUM_CPXXXX
 Device Part Numbers pointer. More...
 
typedef enum _SILABS_STATUS * PSILABS_STATUS
 API Status return codes pointer. More...
 

Enumerations

enum  SILABS_VID { SILABS_VID_10C4 = ((unsigned short)(0xFFFF & 0x10C4)), SILABS_VID_1BA4 = ((unsigned short)(0xFFFF & 0x1BA4)), SILABS_VID_2544 = ((unsigned short)(0xFFFF & 0x2544)) }
 
enum  SILABS_PID {
  SILABS_PID_UNKNOWN = ((unsigned short)(0xFFFF & 0x0000)), SILABS_PID_CP210SINGLEPORT = ((unsigned short)(0xFFFF & 0xEA60)), SILABS_PID_CP210SINGLEPORTII = ((unsigned short)(0xFFFF & 0xEA63)), SILABS_PID_CP2101 = SILABS_PID_CP210SINGLEPORT,
  SILABS_PID_CP2102 = SILABS_PID_CP210SINGLEPORT, SILABS_PID_CP2102N = SILABS_PID_CP210SINGLEPORT, SILABS_PID_CP2103 = SILABS_PID_CP210SINGLEPORT, SILABS_PID_CP2104 = SILABS_PID_CP210SINGLEPORT,
  SILABS_PID_CP210DUALPORT = ((unsigned short)(0xFFFF & 0xEA70)), SILABS_PID_CP210DUALPORTII = ((unsigned short)(0xFFFF & 0xEA7A)), SILABS_PID_CP2105 = SILABS_PID_CP210DUALPORT, SILABS_PID_CP2105II = SILABS_PID_CP210DUALPORTII,
  SILABS_PID_CP210QUADPORT = ((unsigned short)(0xFFFF & 0xEA71)), SILABS_PID_CP210QUADPORTII = ((unsigned short)(0xFFFF & 0xEA7B)), SILABS_PID_CP2108 = SILABS_PID_CP210QUADPORT, SILABS_PID_CP2108II = SILABS_PID_CP210QUADPORTII,
  SILABS_PID_CP2109 = SILABS_PID_CP210SINGLEPORT, SILABS_PID_CP2110 = ((unsigned short)(0xFFFF & 0xEA80)), SILABS_PID_CP2111 = SILABS_PID_CP2110, SILABS_PID_CP2112 = ((unsigned short)(0xFFFF & 0xEA90)),
  SILABS_PID_CP2114 = ((unsigned short)(0xFFFF & 0xEAB0)), SILABS_PID_CP2130 = ((unsigned short)(0xFFFF & 0x87A0)), SILABS_PID_CP2615 = ((unsigned short)(0xFFFF & 0xEAC1)), SILABS_PID_DIRECTACCESS = ((unsigned short)(0xFFFF & 0xEA61)),
  SILABS_PID_USBXPress = SILABS_PID_DIRECTACCESS
}
 
enum  SILABS_PARTNUM_CPXXXX {
  CP210x_PARTNUM_UNKNOWN = ((BYTE)(0xFF & 0x00)), CP210x_PARTNUM_CP2101 = ((BYTE)(0xFF & 0x01)), CP210x_PARTNUM_CP2102 = ((BYTE)(0xFF & 0x02)), CP210x_PARTNUM_CP2103 = ((BYTE)(0xFF & 0x03)),
  CP210x_PARTNUM_CP2104 = ((BYTE)(0xFF & 0x04)), CP210x_PARTNUM_CP2105 = ((BYTE)(0xFF & 0x05)), CP210x_PARTNUM_CP2108 = ((BYTE)(0xFF & 0x08)), CP210x_PARTNUM_CP2109 = ((BYTE)(0xFF & 0x09)),
  SILABS_PARTNUM_CP2110 = ((BYTE)(0xFF & 0x0A)), HID_UART_PART_CP2110 = SILABS_PARTNUM_CP2110, CP210x_PARTNUM_CP2112 = ((BYTE)(0xFF & 0x0C)), HID_SMBUS_PART_CP2112 = CP210x_PARTNUM_CP2112,
  SILABS_PARTNUM_CP2114 = ((BYTE)(0xFF & 0x0E)), HID_UART_PART_CP2114 = SILABS_PARTNUM_CP2114, CP210x_PARTNUM_CP2102N_QFN28 = ((BYTE)(0xFF & 0x20)), CP210x_PARTNUM_CP2102N_QFN24 = ((BYTE)(0xFF & 0x21)),
  CP210x_PARTNUM_CP2102N_QFN20 = ((BYTE)(0xFF & 0x22)), CP210x_PARTNUM_USBXPRESS_F3XX = ((BYTE)(0xFF & 0x80)), CP210x_PARTNUM_USBXPRESS_EFM8 = ((BYTE)(0xFF & 0x80)), CP210x_PARTNUM_USBXPRESS_EFM32 = ((BYTE)(0xFF & 0x81))
}
 
enum  SILABS_STATUS {
  SILABS_STATUS_SUCCESS = ((BYTE)(0xFF & 0x00)), SILABS_STATUS_TBD = ((BYTE)(0xFF & 0x01)), SILABS_STATUS_INVALID_PARAMETER = ((BYTE)(0xFF & 0x02)), SILABS_STATUS_INVALID_HANDLE = ((BYTE)(0xFF & 0x03)),
  SILABS_STATUS_DEVICE_NOT_FOUND = ((BYTE)(0xFF & 0x04)), SILABS_STATUS_DEVICE_TBD = ((BYTE)(0xFF & 0x05)), SILABS_STATUS_DEVICE_ALREADY_OPENED = ((BYTE)(0xFF & 0x06)), SILABS_STATUS_DEVICE_ERROR = ((BYTE)(0xFF & 0x07)),
  SILABS_STATUS_DEVICE_ERROR_STATE = ((BYTE)(0xFF & 0x08)), SILABS_STATUS_DEVICE_ERROR_TIMEOUT = ((BYTE)(0xFF & 0x09)), SILABS_STATUS_FUNCTION_NOT_SUPPORTED = ((BYTE)(0xFF & 0x0F)), SILABS_STATUS_MEMORY_ALLOC_ERROR = ((BYTE)(0xFF & 0x44)),
  SILABS_STATUS_SYSTEM_ERROR = ((BYTE)(0xFF & 0x74)), SILABS_STATUS_UNKNOWN_ERROR = ((BYTE)(0xFF & 0xFF))
}
 

Detailed Description

Defines common to all Silicon Labs USB Birdge devices (GUIDs, VIDs, PIDs and Part Numbers)

Macro Definition Documentation

◆ CP210X_PARTNUM

#define CP210X_PARTNUM   SILABS_PARTNUM_CPXXXX
Deprecated:
, use SILABS_PARTNUM_CPXXXX

◆ SILABS_TEST_FILL

#define SILABS_TEST_FILL   0xa5

10100101 A "fill" pattern, typically only used in Debug situations

◆ UNREFERENCED_PARAMETER

#define UNREFERENCED_PARAMETER (   p)    (void)(p)

Unreferenced parameter definition.

Typedef Documentation

◆ BYTE

Byte definition.

◆ PSILABS_PARTNUM_CPXXXX

Device Part Numbers pointer.

◆ PSILABS_PID

silabs pid pointer

◆ PSILABS_STATUS

API Status return codes pointer.

◆ PSILABS_VID

silabs vid pointer

Enumeration Type Documentation

◆ SILABS_PARTNUM_CPXXXX

Enumerator
CP210x_PARTNUM_CP2101 

CP2101.

CP210x_PARTNUM_CP2102 

CP2102.

CP210x_PARTNUM_CP2103 

CP2103.

CP210x_PARTNUM_CP2104 

CP2104.

CP210x_PARTNUM_CP2105 

CP2105.

CP210x_PARTNUM_CP2108 

CP2108.

CP210x_PARTNUM_CP2109 

CP2109.

SILABS_PARTNUM_CP2110 

CP2110 HID_UART_PART_CP2110.

CP210x_PARTNUM_CP2112 

CP2112 HID_SMBUS_PART_CP2112.

SILABS_PARTNUM_CP2114 

CP2114 HID_UART_PART_CP2114.

CP210x_PARTNUM_CP2102N_QFN28 

CP2102N QFN28.

CP210x_PARTNUM_CP2102N_QFN24 

CP2102N QFN24.

CP210x_PARTNUM_CP2102N_QFN20 

CP2102N QFN20.

CP210x_PARTNUM_USBXPRESS_F3XX 

USBXPRESS_F3XX.

CP210x_PARTNUM_USBXPRESS_EFM8 

USBXPRESS_EFM8.

CP210x_PARTNUM_USBXPRESS_EFM32 

USBXPRESS_EFM32.

◆ SILABS_PID

enum SILABS_PID
Enumerator
SILABS_PID_CP210SINGLEPORT 

Single port CP210x device/s.

SILABS_PID_CP210SINGLEPORTII 

Single port CP210x device/s (Windows Update PID)

SILABS_PID_CP2101 

CP2101.

SILABS_PID_CP2102 

CP2102.

SILABS_PID_CP2102N 

CP2102N.

SILABS_PID_CP2103 

CP2103.

SILABS_PID_CP2104 

CP2104.

SILABS_PID_CP210DUALPORT 

Dual port CP210x device/s.

SILABS_PID_CP210DUALPORTII 

Dual port CP210x device/s (Windows Update PID)

SILABS_PID_CP2105 

CP2105.

SILABS_PID_CP2105II 

CP2105 (Windows Update PID)

SILABS_PID_CP210QUADPORT 

Quad port CP210x device/s.

SILABS_PID_CP210QUADPORTII 

Quad port CP210x device/s (Windows Update PID)

SILABS_PID_CP2108 

CP2108.

SILABS_PID_CP2108II 

CP2108 (Windows Update PID)

SILABS_PID_CP2109 

CP2109.

SILABS_PID_CP2110 

CP2110.

SILABS_PID_CP2111 

CP2111.

SILABS_PID_CP2112 

CP2112.

SILABS_PID_CP2114 

CP2114.

SILABS_PID_CP2130 

CP2130.

SILABS_PID_CP2615 

CP2615.

SILABS_PID_DIRECTACCESS 

Direct Access.

SILABS_PID_USBXPress 

Direct Access (nee USBXPress)

Deprecated:
SILABS_PID_USBXPress

◆ SILABS_STATUS

Enumerator
SILABS_STATUS_SUCCESS 

no error

SILABS_STATUS_TBD 

tbd

SILABS_STATUS_INVALID_PARAMETER 

a parameter was not valid

SILABS_STATUS_INVALID_HANDLE 

an handle parameter was not valid

SILABS_STATUS_DEVICE_NOT_FOUND 

the specified device was not found

SILABS_STATUS_DEVICE_TBD 

the specified device is tbd

SILABS_STATUS_DEVICE_ALREADY_OPENED 

the specified device is already (exclusively) opened

SILABS_STATUS_DEVICE_ERROR 

general/underetmined device-side error

SILABS_STATUS_DEVICE_ERROR_STATE 

device-side in wrong state to perform operation

SILABS_STATUS_DEVICE_ERROR_TIMEOUT 

device-side timed out the operation

SILABS_STATUS_FUNCTION_NOT_SUPPORTED 

the specified function is not supported

SILABS_STATUS_MEMORY_ALLOC_ERROR 

an attempt to dynamically allocate memory failed

SILABS_STATUS_SYSTEM_ERROR 

an unexpected, unrecoverable error happened while interacting with the operating system

SILABS_STATUS_UNKNOWN_ERROR 

an otherwise unclassified error occurred

◆ SILABS_VID

enum SILABS_VID
Enumerator
SILABS_VID_10C4 

Decimal 4292; VID aquired via Cygnal.

SILABS_VID_1BA4 

Decimal 7076; VID aquired via Ember.

SILABS_VID_2544 

Decimal 9540; VID aquired via Energy Micro.