Protocol Analyzer Output - manuelbl/usb-pd-arduino GitHub Wiki

The protocol analyzer creates output as shown below.

It logs events such as Connected: CC2 or Disconnected. Most of the output will consist of the recorded messages.

A USB PD messages consists of preamble, a start of package sequence (or ordered set), a message header, optional objects, a CRC checksum and a end of packet symbol. The protocol analyzer shows the SOP sequence, the header and the objects. The header is partially decoded.

Protocol Analyzer Raw Messages

The columns are:

Column Information Origin
Timestamp Time of event or message (in µs since start of MCU) PHY
RX / TX Indicates if message was received or transmitted. In monitoring mode, it will always be RX PHY
CC line CC line where message was transmitted. Either CC1 or CC2 PHY
Start of package sequence Type of SOP sequence, usually SOP for messages between source and sink or SOP' for messages from an to active cable. SOP sequence
Message originator Component that sent message, either Source, Sink, Cable or Port Message header
Message type Type of message Message header
Message ID Consecutive ID of message. Separate sequence for each originator Message header
Message header Complete message header Message header
Object n Optional objects (of data messages) Message objects

Some of the data messages are decoded (currently Source Capabilities and Request). They show what voltages and currents the power supply offers and what voltage and current the sink requests:

Protocol Analyzer Message Details

Note that the Request message will always refer to one advertised capabilities. So when requesting a fixed voltage, the Request message will not specify the voltage but rather the so called object position, i.e. the index of the capability.

⚠️ **GitHub.com Fallback** ⚠️