Power Delivery Entity¶
Manipulating PDO’s and RDO’s¶
The Power Delivery specification defines a large number of Data Objects and the USBExt3c is capable of manipulating and modifying most of them in some fashion. The most common are PDO’s and RDO’s which were defined above. Direct manipulation is quite a complex process and is a feature of the Pro version only. It is highly recommended that users of these features first experiment with the Power Rule Editor within HubTool. Once you know the values you want to use manipulation can be done through:
Power Roles Preferred¶
Preferred Power Role |
Value |
Define |
|---|---|---|
None |
0 |
pdPowerRolePreferred_None |
Source |
1 |
pdPowerRolePreferred_Source |
Sink |
2 |
pdPowerRolePreferred_Sink |
Connection State¶
Connection State |
Value |
Define |
|---|---|---|
None |
0 |
pdConnectionState_None |
Source |
1 |
pdConnectionState_Source |
Sink |
2 |
pdConnectionState_Sink |
Powered Cable |
3 |
pdConnectionState_PoweredCable |
Powered Cable with Sink |
4 |
pdConnectionState_PoweredCableWithSink |
Requests¶
Given the nature of Power Delivery there are only so many things that are within the direct control of the local USBExt3c. Many of the items on the remote side of the USBExt3c are merely request. In other words items in this category not guaranteed to happen.
Request |
Value |
Define |
|---|---|---|
Hard Reset |
0 |
pdRequestHardReset |
Soft Reset |
1 |
pdRequestSoftReset |
Data Reset |
2 |
pdRequestDataReset |
Power Role Swap |
3 |
pdRequestPowerRoleSwap |
Power Fast Role Swap |
4 |
pdRequestPowerFastRoleSwap |
Data Role Swap |
5 |
pdRequestDataRoleSwap |
Vconn Swap |
6 |
pdRequestVconnSwap |
Sink Go to Min |
7 |
pdRequestSinkGoToMinimum |
Remote Source PDOs |
8 |
pdRequestRemoteSourcePowerDataObjects |
Remote Sink PDOs |
9 |
pdRequestRemoteSinkPowerDataObjects |
Remote Source Extended Capabilities |
10 |
pdRequestRemoteSourceExtendedCapabilities |
Remote Sink Extended Capabilities |
11 |
pdRequestRemoteSinkExtendedCapabilities |
Status |
12 |
pdRequestStatus |
PPS Status |
13 |
pdRequestPPSStatus |
Battery Capabilities |
14 |
pdRequestBatteryCapabilities |
Battery Status |
15 |
pdRequestBatteryStatus |
Manufacturer Info Sop |
16 |
pdRequestManufacturerInfoSop |
Manufacturer Info Sopp |
17 |
pdRequestManufacturerInfoSopp |
Manufacturer Inof Soppp |
18 |
pdRequestManufacturerInfoSoppp |
Discover Identity Sop |
19 |
pdRequestDiscoverIdentitySop |
Discover Identity Sopp |
20 |
pdRequestDiscoverIdentitySopp |
Discover Identity Soppp |
21 |
pdRequestDiscoverIdentitySoppp |
Revision |
22 |
pdRequestRevision |
Source Info |
23 |
pdRequestSourceInfo |
Country Code |
24 |
pdRequestCountryCode |
Country Info |
25 |
pdRequestCountryInfo |
Errors return from this function call only indicate the success of sending the request and do not reflect the success of the actual request. To find the status of the request you can investigate the outcome of the connection or check the most recent status of the PD stack.
Cable Orientation¶
Although the Type C connector has no visible orientation the connector does have electrical orientation which directly correlates to the Communications Chanel (CC) strapping internal to the cable. The orientation be be obtained via:
Orientation |
Value |
Define |
|---|---|---|
Invalid |
0 |
pdCableOrientation_Invalid |
CC1/A Side |
1 |
pdCableOrientation_CC1 |
CC2/B Side |
2 |
pdCableOrientation_CC2 |
Cable Type¶
Cable Type |
Value |
Define |
|---|---|---|
Invalid |
0 |
pdCableType_Invalid |
Passive |
1 |
pdCableType_Passive |
Active |
2 |
pdCableType_Active |
Override¶
The USB C connector by default follows rules around maximum cable current and budgetted power. In some test applications, including ones with a Universal Orientation Cable, the port should ignore those rules which is why we have exposed override bits to allow for disabling of specific behavior. Below are the get/set routines for overrides and the bit definitions.
Name |
Bit |
Definition |
|---|---|---|
Cable Current |
0 |
overrides the cable current limiting to 3A unless it’s an emarked cable |
Port Power |
1 |
Overrides the port power budgetting and just allows full power always |
Auto Discovery |
2 |
Overrides the auto discovery feature. With override true the hub will only establish a basic power connection and wont ask for additional vendor information. |