USBCSwitchPro¶
Class¶
-
class aUSBCSwitchPro : public Acroname::BrainStem::Module¶
Concrete Module implementation of a USBCSwitchPro Allows a user to connect to and control an attached switch.
Public Types
-
enum PORT_ID¶
Port ID
Values:
-
enumerator kPORT_ID_0¶
-
enumerator kPORT_ID_1¶
-
enumerator kPORT_ID_2¶
-
enumerator kPORT_ID_3¶
-
enumerator kPORT_ID_COMMON¶
-
enumerator kPORT_ID_CONTROL¶
-
enumerator kPORT_ID_0¶
-
enum EQUALIZER_3P0_TRANSMITTER_CONFIGS¶
Equalizer 3P0 transmitter configs
Values:
-
enumerator MUX_1db_COM_0db_900mV¶
-
enumerator MUX_0db_COM_1db_900mV¶
-
enumerator MUX_1db_COM_1db_900mV¶
-
enumerator MUX_0db_COM_0db_900mV¶
-
enumerator MUX_0db_COM_0db_1100mV¶
-
enumerator MUX_1db_COM_0db_1100mV¶
-
enumerator MUX_0db_COM_1db_1100mV¶
-
enumerator MUX_2db_COM_2db_1100mV¶
-
enumerator MUX_0db_COM_0db_1300mV¶
-
enumerator MUX_1db_COM_0db_900mV¶
-
enum EQUALIZER_3P0_RECEIVER_CONFIGS¶
Equalizer 3P0 receiver configs
Values:
-
enumerator LEVEL_1_3P0¶
-
enumerator LEVEL_2_3P0¶
-
enumerator LEVEL_3_3P0¶
-
enumerator LEVEL_4_3P0¶
-
enumerator LEVEL_5_3P0¶
-
enumerator LEVEL_6_3P0¶
-
enumerator LEVEL_7_3P0¶
-
enumerator LEVEL_8_3P0¶
-
enumerator LEVEL_9_3P0¶
-
enumerator LEVEL_10_3P0¶
-
enumerator LEVEL_11_3P0¶
-
enumerator LEVEL_12_3P0¶
-
enumerator LEVEL_13_3P0¶
-
enumerator LEVEL_14_3P0¶
-
enumerator LEVEL_15_3P0¶
-
enumerator LEVEL_16_3P0¶
-
enumerator LEVEL_1_3P0¶
-
enum EQUALIZER_2P0_TRANSMITTER_CONFIGS¶
Equalizer 2P0 transmitter configs
Values:
-
enumerator TRANSMITTER_2P0_40mV¶
-
enumerator TRANSMITTER_2P0_60mV¶
-
enumerator TRANSMITTER_2P0_80mV¶
-
enumerator TRANSMITTER_2P0_0mV¶
-
enumerator TRANSMITTER_2P0_40mV¶
-
enum EQUALIZER_2P0_RECEIVER_CONFIGS¶
Equalizer 3P0 receiver configs
Values:
-
enumerator LEVEL_1_2P0¶
-
enumerator LEVEL_2_2P0¶
-
enumerator LEVEL_1_2P0¶
-
enum EQUALIZER_CHANNELS¶
Equalizer channels
Values:
-
enumerator BOTH¶
-
enumerator MUX¶
-
enumerator COMMON¶
-
enumerator BOTH¶
-
typedef enum aUSBCSwitchPro::PORT_ID PORT_ID_t¶
Port ID
Public Members
-
Acroname::BrainStem::PointerClass pointer[aUSBCSWITCHPRO_NUM_POINTERS]¶
Pointer Class
-
Acroname::BrainStem::StoreClass store[aUSBCSWITCHPRO_NUM_STORES]¶
Store Class
-
Acroname::BrainStem::SystemClass system¶
System Class
-
Acroname::BrainStem::TemperatureClass temperature[aUSBCSWITCHPRO_NUM_TEMPERATURES]¶
Temperature Class
-
Acroname::BrainStem::TimerClass timer[aUSBCSWITCHPRO_NUM_TIMERS]¶
Timer Class
-
Acroname::BrainStem::EqualizerClass equalizer[aUSBCSWITCHPRO_NUM_EQ]¶
Equalizer Class
-
enum PORT_ID¶
Defines¶
-
aUSBCSWITCHPRO_MODULE 16¶
USBCSwitchPro module number
-
aUSBCSWITCHPRO_NUM_APPS 4¶
Number of App instances available
-
aUSBCSWITCHPRO_NUM_POINTERS 4¶
Number of Pointer instances available
-
aUSBCSWITCHPRO_NUM_STORES 3¶
Number of Store instances available
-
aUSBCSWITCHPRO_NUM_INTERNAL_SLOTS 12¶
Store: Number of internal slots instances available
-
aUSBCSWITCHPRO_NUM_RAM_SLOTS 1¶
Store: Number of RAM slot instances available
-
aUSBCSWITCHPRO_NUM_EEPROM_SLOTS 8¶
Store: Number of EEPROM slot instances available
-
aUSBCSWITCHPRO_STORE_INTERNAL_INDEX 0¶
Store: Array index for internal store
-
aUSBCSWITCHPRO_STORE_RAM_INDEX 1¶
Store: Array index for RAM store
-
aUSBCSWITCHPRO_STORE_EEPROM_INDEX 2¶
Store: Array index for EEPROM store
-
aUSBCSWITCHPRO_NUM_TEMPERATURES 5¶
Number of Temperature instances available
-
aUSBCSWITCHPRO_NUM_TIMERS 8¶
Number of Timer instances available
-
aUSBCSWITCHPRO_NUM_USB 1¶
Number of USB instances available
-
aUSBCSWITCHPRO_NUM_USB_PORTS 6¶
Number of USB ports available
-
aUSBCSWITCHPRO_NUM_PORTS 6¶
Number of Ports available
-
aUSBCSWITCHPRO_NUM_PD_PORTS 6¶
Number of PD compatible ports available
-
aUSBCSWITCHPRO_NUM_PD_RULES_PER_PORT 7¶
Number of PD Rules per port available
-
aUSBCSWITCHPRO_NUM_RAILS 1¶
Number of Rail instances available
-
aUSBCSWITCHPRO_NUM_I2C 1¶
Number of I2C instances available
-
aUSBCSWITCHPRO_NUM_UART 2¶
Number of UART instances available
-
aUSBCSWITCHPRO_NUM_MUX 1¶
Number of Mux instances available
-
aUSBCSWITCHPRO_NUM_MUX_CHANNELS 4¶
Number of Mux channels available
-
aUSBCSWITCHPRO_NUM_EQ 2¶
Number of Equalizer instances available
Port State Defines¶
-
usbPortStateVBUS 0
USB VBUS current state
-
usbPortStateUSB2A 1
USB2 side A current state
-
usbPortStateUSB2B 2
USB2 side B current state
-
usbPortStateSBU 3
SBU current state
-
usbPortStateSS1 4
SS1 current state
-
usbPortStateSS2 5
SS2 A current state
-
usbPortStateCC1 6
CC1 current state
-
usbPortStateCC2 7
CC2 A current state
-
set_usbPortStateCOM_ORIENT_STATUS(var, state) ((var & ~(3 << 8 )) | (state << 8))
Common side orientation status
-
get_usbPortStateCOM_ORIENT_STATUS(var) ((var & (3 << 8 )) >> 8)
Common side orientation status
-
set_usbPortStateMUX_ORIENT_STATUS(var, state) ((var & ~(3 << 10 )) | (state << 10))
Mux side orientation status
-
get_usbPortStateMUX_ORIENT_STATUS(var) ((var & (3 << 10 )) >> 10)
Mux side orientation status
-
set_usbPortStateSPEED_STATUS(var, state) ((var & ~(3 << 12)) | (state << 12))
USB speed status
-
get_usbPortStateSPEED_STATUS(var) ((var & (3 << 12)) >> 12)
USB speed status
-
usbPortStateCCFlip 14
CC flip status
-
usbPortStateSSFlip 15
SS flip status
-
usbPortStateSBUFlip 16
SBU flip status
-
usbPortStateUSB2Flip 17
USB2 flip status
-
get_usbPortStateDaughterCard(var) ((var & (3 << 18)) >> 18)
Daughter card status
-
usbPortStateErrorFlag 20
Error indicator for this port
-
usbPortStateUSB2Boost 21
USB2 boost current state
-
usbPortStateUSB3Boost 22
USB3 boost current state
-
usbPortStateConnectionEstablished 23
Connection established state
-
usbPortStateCC1Inject 26
CC1 inject current state
-
usbPortStateCC2Inject 27
CC2 inject current state
-
usbPortStateCC1Detect 28
CC1 detect current state
-
usbPortStateCC2Detect 29
CC2 detect current state
-
usbPortStateCC1LogicState 30
CC1 logic current state
-
usbPortStateCC2LogicState 31
CC2 logic current state
Port State Error Defines¶
-
usbPortStateOff 0
Indicator for port state off
-
usbPortStateSideA 1
Indicator for port side A
-
usbPortStateSideB 2
Indicator for port side B
-
usbPortStateSideUndefined 3
Indicator for port side undefined