Data Sheet
Table Of Contents
- USB Power Delivery Exerciser Manual
- 1 Introduction
- 2 Packet Templates
- 2.1 PD_ControlMessage
- 2.2 PD_GoodCrcMessage
- 2.3 PD_GotoMinMessage
- 2.4 PD_AcceptMessage
- 2.5 PD_RejectMessage
- 2.6 PD_PingMessage
- 2.7 PD_PsRdyMessage
- 2.8 PD_GetSourceCapMessage
- 2.9 PD_GetSinkCapMessage
- 2.10 PD_DataRoleSwapMessage
- 2.11 PD_PowerRoleSwapMessage
- 2.12 PD_VConnSwapMessage
- 2.13 PD_WaitMessage
- 2.14 PD_SoftResetMessage
- 2.15 PD_NotSupportedMsg
- 2.16 PD_GetSourceCapExtendedMsg
- 2.17 PD_GetStatusMsg
- 2.18 PD_FRSwapMsg
- 2.19 PD_SourceCapabilitiesMessage
- 2.20 PD_SinkCapabilitiesMessage
- 2.21 PD_RequestPacket
- 2.22 PD_BISTCarrierModeMessage
- 2.23 PD_BISTTestDataMessage
- 2.24 PD_BatteryStatusMsg
- 2.25 PD_AlertMsg
- 2.26 PD_VDM_Unstructured_Header
- 2.27 PD_VDM_Structured_Header
- 2.28 PD_VDM_Discover_Identity_Message
- 2.29 PD_VDM_Discover_Identity_Response
- 2.29.1 PD_VDM_Discover_Identity_ID_Header_VDO
- 2.29.2 PD_VDM_Discover_Identity_Cert_Stat_VDO
- 2.29.3 PD_VDM_Discover_Identity_Product_VDO
- 2.29.4 PD_VDM_Discover_Identity_Cable_VDO
- 2.29.5 PD_DiscoverIdPassiveCableVdo
- 2.29.6 PD_DiscoverIdActiveCableVdo
- 2.29.7 PD_VDM_Discover_Identity_Alternate_Mode_Adapter_VDO
- 2.30 PD_VDM_Discover_Svids_Message
- 2.31 PD_VDM_Discover_Svids_Response
- 2.32 PD_VDM_Discover_Modes_Message
- 2.33 PD_VDM_Discover_Modes_Response
- 2.34 PD_VDM_Enter_Mode_Message
- 2.35 PD_VDM_Enter_Mode_Response
- 2.36 PD_VDM_Exit_Mode_Message
- 2.37 PD_VDM_Exit_Mode_Response
- 2.38 PD_VDM_Attention_Message
- 2.39 PD_VDM_DisplayPort_UpdateStatus_Message
- 2.40 PD_VDM_DisplayPort_UpdateStatus_Response
- 2.41 PD_VDM_DisplayPort_Configure_Message
- 2.42 PD_VDM_DisplayPort_Configure_Response
- 2.43 PD_ExtMsgHeaders
- 2.44 PD_SourceCapExtendedMsg
- 2.45 PD_StatusMsg
- 2.46 PD_GetBatteryCapMsg
- 2.47 PD_GetBatteryStatusMsg
- 2.48 PD_BatteryCapabilitiesMsg
- 2.49 PD_GetManufacturerInfoMsg
- 2.50 PD_ManufacturerInfoMsg
- 2.51 PD_SecurityRequestMsg
- 2.52 PD_SecurityResponseMsg
- 3 Type-C Commands
- 3.1 PD_SetResistorRp
- 3.2 PD_SetResistorRd
- 3.3 PD_SetResistorRa
- 3.4 PD_SetVBusCap10MicroFarad
- 3.5 PD_SetVBusCap1MicroFarad
- 3.6 PD_SetVBus
- 3.7 PD_SetVConn
- 3.8 PD_SetLoadOnVBus
- 3.9 PD_TerminateCCLines
- 3.10 PD_SetStartDRPSetting
- 3.11 PD_StartDRP
- 3.12 PD_SetStartSourceSetting
- 3.13 PD_StartSource
- 3.14 PD_SetStartSinkSetting
- 3.15 PD_StartSink
- 4 Basic Commands
- 4.1 PD_SendPacket
- 4.2 PD_SendPacket_Cable
- 4.3 PD_SendCorruptedPacket
- 4.4 PD_ReceivePacket
- 4.5 PD_SendSoftReset
- 4.6 PD_SendHardReset
- 4.7 PD_SendCableReset
- 4.8 PD_Delay
- 4.9 PD_SetRoles
- 4.10 PD_Set
- 4.11 IfMatched/ElseMatched
- 4.12 PD_Loop
- 4.13 PD_TimerLoop
- 4.14 PD_BreakLoop
- 4.15 PD_ContinueLoop
- 4.16 PD_Stop
- 4.17 PD_Disconnect
- 4.18 PD_ResumeUSB2Exerciser
- 4.19 PD_ReportUSB3TermStatus
- 4.20 PD_IncreaseMsgId
- 4.21 PD_DecreaseMsgId
- 4.22 PD_IncreaseMsgId_Cable
- 4.23 PD_DecreaseMsgId_Cable
- 5 Transaction Engineā¢
- 5.1 High Level Commands
- 5.1.1 PD_SetWorkingRevision
- 5.1.2 PD_SetNegotiationSetting_Source
- 5.1.3 PD_AddSourceCap
- 5.1.4 PD_ResetSourceCaps
- 5.1.5 PD_NegotiatePower_Source
- 5.1.6 PD_SetNegotiationSetting_Sink
- 5.1.7 PD_AddSinkCap
- 5.1.8 PD_ResetSinkCaps
- 5.1.9 PD_NegotiatePower_Sink
- 5.1.10 PD_WaitForNegotiatePower
- 5.1.11 PD_NegotiatePower
- 5.1.12 PD_SetSwapPowerRoleSetting
- 5.1.13 PD_SwapPowerRole
- 5.1.14 PD_WaitForSwapPowerRole
- 5.1.15 PD_FastRoleSwap
- 5.1.16 PD_SetSwapDataRoleSetting
- 5.1.17 PD_SwapDataRole
- 5.1.18 PD_WaitForSwapDataRole
- 5.1.19 PD_SetSwapVConnSetting
- 5.1.20 PD_SwapVConn
- 5.1.21 PD_WaitForSwapVConn
- 5.1.22 PD_SetGotoMinSetting
- 5.1.23 PD_GotoMin
- 5.1.24 PD_WaitForGotoMin
- 5.1.25 PD_SetGetSourceCapSetting
- 5.1.26 PD_GetSourceCapabilities
- 5.1.27 PD_WaitForGetSourceCapabilities
- 5.1.28 PD_SetGetSinkCapSetting
- 5.1.29 PD_GetSinkCapabilities
- 5.1.30 PD_WaitForGetSinkCapabilities
- 5.1.31 PD_SendBISTCarrierMode
- 5.1.32 PD_SendBISTTestData
- 5.1.33 PD_GetSourceCapExtended
- 5.1.34 PD_SetGetSrcCapExtSetting
- 5.1.35 PD_WaitForGetSrcCapExtended
- 5.1.36 PD_SetSrcCapExtDataBlock
- 5.1.37 PD_ResetSrcCapExtDataBlock
- 5.1.38 PD_GetStatus
- 5.1.39 PD_SetGetStatusSetting
- 5.1.40 PD_WaitForGetStatus
- 5.1.41 PD_SetStatusDataBlock
- 5.1.42 PD_ResetStatusDataBlock
- 5.1.43 PD_GetBatteryStatus
- 5.1.44 PD_SetGetBatteryStatusDataBlock
- 5.1.45 PD_SetGetBatteryStatusSetting
- 5.1.46 PD_WaitForGetBatteryStatus
- 5.1.47 PD_SetBatteryStatusDO
- 5.1.48 PD_ResetBatteryStatusDO
- 5.1.49 PD_Alert
- 5.1.50 PD_SetAlertDO
- 5.1.51 PD_SetAlertSetting
- 5.1.52 PD_WaitForAlert
- 5.1.53 PD_GetBatteryCap
- 5.1.54 PD_SetGetBatteryCapDataBlock
- 5.1.55 PD_SetGetBatteryCapSetting
- 5.1.56 PD_WaitForGetBatteryCap
- 5.1.57 PD_SetBatteryCapDataBlock
- 5.1.58 PD_ResetBatteryCapDataBlock
- 5.1.59 PD_GetManufacturerInfo
- 5.1.60 PD_SetGetManufacturerInfoDataBlock
- 5.1.61 PD_SetGetManufacturerInfoSetting
- 5.1.62 PD_WaitForGetManufacturerInfo
- 5.1.63 PD_SetManufacturerInfoDataBlock
- 5.1.64 PD_SetSecurityRequestSetting
- 5.1.65 PD_SecurityRequest
- 5.1.66 PD_SetSecurityRequestDataBlock
- 5.1.67 PD_WaitForSecurityRequest
- 5.1.68 PD_SetSecurityResponseDataBlock
- 5.1.69 PD_SetDiscoverIdentitySetting
- 5.1.70 PD_AddDiscoverIdentityVDO
- 5.1.71 PD_ResetDiscoverIdentityVDO
- 5.1.72 PD_DiscoverIdentity
- 5.1.73 PD_WaitForDiscoverIdentity
- 5.1.74 PD_SetDiscoverSVIDSetting
- 5.1.75 PD_AddSvid
- 5.1.76 PD_ResetSvids
- 5.1.77 PD_DiscoverSvids
- 5.1.78 PD_WaitForDiscoverSvids
- 5.1.79 PD_SetDiscoverModeSetting
- 5.1.80 PD_AddMode
- 5.1.81 PD_AddModeVDO
- 5.1.82 PD_ResetModes
- 5.1.83 PD_DiscoverModes
- 5.1.84 PD_WaitForDiscoverModes
- 5.1.85 PD_SetEnterModeSetting
- 5.1.86 PD_EnterMode
- 5.1.87 PD_EnterModeVdo
- 5.1.88 PD_WaitForEnterMode
- 5.1.89 PD_SetExitModeSetting
- 5.1.90 PD_ExitMode
- 5.1.91 PD_WaitForExitMode
- 5.1.92 PD_Attention
- 5.1.93 PD_AttentionVdo
- 5.1.94 PD_SetDiscoveryProcessSetting
- 5.1.95 PD_PerformDiscoveryProcess
- 5.1.96 PD_SetDisplayPortSetting
- 5.1.97 PD_DisplayPort_UpdateStatus
- 5.1.98 PD_DisplayPort_Configure
- 5.1.99 PD_WaitForDisplayPortStatus
- 5.1.100 PD_WaitForDisplayPortConfigure
- 5.1.101 PD_SetDiscoverIdentitySetting_Cable
- 5.1.102 PD_WaitForDiscoverIdentity_Cable
- 5.1.103 PD_AddDiscoverIdentityVDO_Cable
- 5.1.104 PD_ResetDiscoverIdentityVDO_Cable
- 5.1.105 PD_SetDiscoverSVIDSetting_Cable
- 5.1.106 PD_WaitForDiscoverSvids_Cable
- 5.1.107 PD_AddSvid_Cable
- 5.1.108 PD_ResetSvids_Cable
- 5.1.109 PD_SetDiscoverModeSetting_Cable
- 5.1.110 PD_WaitForDiscoverModes_Cable
- 5.1.111 PD_AddModeVDO_Cable
- 5.1.112 PD_AddMode_Cable
- 5.1.113 PD_ResetModes_Cable
- 5.1.114 PD_SetEnterModeSetting_Cable
- 5.1.115 PD_WaitForEnterMode_Cable
- 5.1.116 PD_SetExitModeSetting_Cable
- 5.1.117 PD_WaitForExitMode_Cable
- 5.1.118 PD_SetManufacturerInfoDataBlock_Cable
- 5.1.119 PD_SetGetManufacturerInfoSetting_Cable
- 5.1.120 PD_WaitForGetManufacturerInfo_Cable
- 5.1.121 PD_SetSecurityResponseDataBlock_Cable
- 5.1.122 PD_SetSecurityRequestSetting_Cable
- 5.1.123 PD_WaitForSecurityRequest_Cable
- 5.2 Auto Responses Capability
- 5.1 High Level Commands

50
1st_operand
1st operand should be in one of the following formats:
$PdGlobalSettings.<field_name>
$PdResult.<field_name>
$<packet_variable>.<field_name>
List of $PdResult fields:
Field Name
Description
Result
Last executed command result
Subresult
Last executed command subresult (in case of failure,
this field describes the reason)
LastReceivedPacketOrderedSet
Last received packet ordered set type
LastReceivedPacketType
Last received packet type
LastReceivedPacketPowerRole
Last received packet power role field value
LastReceivedPacketDataRole
Last received packet data role field value
LastReceivedPacketSentToCable
Indicates whether the last received packet has been
sent to cable(packet towards the cable) or not
LastReceivedPacketMsgID
Last received packet MessageId field value
LastReceivedPacketVdmCommand
Last received packet VDM command value, if the
packet is VDM packet
LastReceivedPacketVdmCommandType
Last received packet VDM command type value, if the
packet is VDM packet
LastReceivedPacketVdmSVID
Last received packet SVID, if the packet is a VDM packet
LastReceivedPacketVdmObjPos
Last received packet ObjetctPosition, if the packet
is a VDM packet
LastSelectedCapIndex
Last received packet selected capability index, if the
packet is Request message
LastRequestHasMismatch
Last received packet HasMismatch field value, if the
packet is Request message
ExplicitContract
Indicates whether explicit contract is established or
not.
For available $PdGlobalSettings fields refer to PD_Set.
2nd_operand
It could be as <1st_operand> or a constant <value>.
operator
List of possible values for operator:
Operator
Description
PD_COMPARE_EQUAL
Equal
PD_COMPARE_GREATER
Greater than
PD_COMPARE_LESS
Less than
PD_COMPARE_NOT_EQUAL
Not equal
Result
None
Examples
$send_setting = PD_SendPacketSettings
{
ResetOnError = PD_FALSE
OrderedSetType = PD_ORDERED_SET_TYPE_SOP
}
$receive_settings = PD_ReceivePacketSettings
{
PacketType = PD_MESSAGE_TYPE_VDM
}
#send the packet
$discover_identity = PD_VDM_Discover_Identity_Message
Call PD_SendPacket( $discover_identity, $send_setting )