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:

PD Event Types

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.