Power Delivery Entity¶
API Documentation: [cpp] [python] [.NET] [CCA] [REST]
Power Delivery or PD is a power specification which allows more charging options and device behaviors within the USB interface. This Entity will allow you to directly access the vast landscape of PD.
When the capabilities of a PD system are fully realized everything in the system is “smart”. That includes the device, the host and even the cable. All of these elements contain electronics that identify themselves and what they are capable of doing. Because of this complexity it is important to align on a few terms that will be used throughout this Entity.
Partner This refers to the side of the PD connection in question. The possible options for this parameter are.
Local Indicates the context/perspective of the Acroname device you are communicating with through a BrainStem connection.
Remote The context/perspective of anything other than the Acroname device.
Partner Type |
Value |
Define |
|---|---|---|
Local |
0 |
powerdeliveryPartnerLocal |
Remote |
1 |
powerdeliveryPartnerRemote |
Power Role Indicates the direction of power. This value is typically used in the context of a “Partner”. i.e. The remote partner is sinking, which would mean the local partner is sourcing. The possible options for this context are:
Sink Indicates that the partner is taking power in/from.
Source Indicates that the partner is providing power out/to.
Power Roles are also used in the context of what a port is capable of doing.
Sink Device is capable of consuming power.
Source Device is capable of producing power.
Sink/Source Device is capable of both consuming or producing power. Dual Role Port (DRP)
Power Role |
Value |
Define |
|---|---|---|
Disabled |
0 |
powerdeliveryPowerRoleDisabled |
Source |
1 |
powerdeliveryPowerRoleSource |
Sink |
2 |
powerdeliveryPowerRoleSink |
Source/Sink |
3 |
powerdeliveryPowerRoleSourceSink |
Power Data Objects (PDO)
PDO’s define what a device is capable of doing in the world of Power Delivery. PDO’s are bit packed integers defined by the PD Specification which vary in meaning based on the type of PDO.
Request Data Objects (RDO)
RDO’s are the final agreement after successful Power Delivery negotiations. This RDO is always sent by the sinking device and is the result of the sources advertised PDO’s and the needs/requirements of the sinking device. Only one RDO exists per valid connection.
PD Logging and Events¶
The USB-C-Switch Pro supports Power Delivery (PD) logging and event monitoring on the Common port (port 4). This allows you to monitor and capture PD communication for debugging and analysis purposes.
PD Logging Enable/Disable¶
PD logging is enabled or disabled for the Common port using the streaming interface. When enabled, PD packets and events are streamed as notifications.
PD Log Packet (Streaming)¶
When PD logging is enabled, PD packets are streamed as notifications. Each packet contains the PD message data, direction, timestamp, and other metadata.
The PD log packet streaming uses option code powerdeliveryLogPacket (46) and provides real-time access to PD communication packets.
PD Log Event (Streaming)¶
PD events are streamed as notifications when they occur. Events include connection/disconnection, resets, VBUS/VCONN state changes, and other PD protocol events.
The PD log event streaming uses option code powerdeliveryLogEvent (47). Available event types include:
Value |
Event Type |
|---|---|
0 |
None |
1 |
Packet |
2 |
Connect |
3 |
Disconnect |
4 |
Cable Reset Received |
5 |
Cable Reset Sent |
6 |
Hard Reset Received |
7 |
Hard Reset Sent |
8 |
Message Transmit Failed |
9 |
Message Transmit Discarded |
10 |
PD Function Disabled |
11 |
VBUS Enabled |
12 |
VBUS Disabled |
13 |
VCONN Enabled |
14 |
VCONN Disabled |
15 |
Rp1A5 (Source Atomic Message Sequences) |
16 |
Rp3A0 (Source Atomic Message Sequences) |
17 |
BIST Enter |
18 |
BIST Exit |
For more information on using PD logging, see the PD Logging software feature.