Teledyne LeCroy Lecroy USB-TMPD-M02-X Manual

Page 1
USB Power Delivery Exerciser
Manual
Manual Version 1.46
For USB Protocol Suite Software Version 7.45 and above
February 2017
1
Page 2
Document Disclaimer
The information contained in this document has been carefully checked and is believed to be reliable. However, no responsibility can be assumed for inaccuracies that may not have been detected.
Teledyne LeCroy reserves the right to revise the information presented in this document without notice or penalty.
Trademarks and Servicemarks
CATC Trace, Voyager M310C, Voyager ReadyLink, USB Protocol Suite, and BusEngine are trademarks of Teledyne LeCroy.
All other trademarks are property of their respective companies.
Copyright
Copyright © 2015, Teledyne LeCroy, Inc. All Rights Reserved.
This document may be printed and reproduced without additional permission, but all copies should contain this copyright notice.
Version
This is version 1.46 of the USB Power Delivery Exerciser Manual.
This manual applies to USB Protocol Suite software version 7.45 and higher.
2
Page 3
Contents
1 INTRODUCTION ..................................................................................................................... 12
2 Packet Templates ............................................................................................................. 14
2.1 PD_ControlMessage .................................................................................................. 14
2.2 PD_GoodCrcMessage ................................................................................................ 14
2.3 PD_GotoMinMessage ............................................................................................... 14
2.4 PD_AcceptMessage ................................................................................................... 14
2.5 PD_RejectMessage .................................................................................................... 14
2.6 PD_PingMessage ....................................................................................................... 14
2.7 PD_PsRdyMessage .................................................................................................... 15
2.8 PD_GetSourceCapMessage ....................................................................................... 15
2.9 PD_GetSinkCapMessage ........................................................................................... 15
2.10 PD_DataRoleSwapMessage ................................................................................... 15
2.11 PD_PowerRoleSwapMessage ................................................................................ 15
2.12 PD_VConnSwapMessage ....................................................................................... 15
2.13 PD_WaitMessage ................................................................................................... 15
2.14 PD_SoftResetMessage ........................................................................................... 15
2.15 PD_NotSupportedMsg ........................................................................................... 15
2.16 PD_GetSourceCapExtendedMsg ........................................................................... 15
2.17 PD_GetStatusMsg .................................................................................................. 16
2.18 PD_FRSwapMsg ..................................................................................................... 16
2.19 PD_SourceCapabilitiesMessage ............................................................................ 16
2.19.1 PD_PowerDataObjectFixedSupply_Source ........................................................ 16
2.19.2 PD_PDOFixedSupplyNotVSafe5V_Source .......................................................... 16
2.19.3 PD_PowerDataObjectVariableSupply_Source ................................................... 17
2.19.4 PD_PowerDataObjectBatterySupply_Source .................................................... 17
2.20 PD_SinkCapabilitiesMessage ................................................................................. 17
2.20.1 PD_PowerDataObjectFixedSupply_Sink ............................................................ 17
2.20.2 PD_PowerDataObjectVariableSupply_Sink ....................................................... 18
2.20.3 PD_PowerDataObjectBatterySupply_Sink ......................................................... 18
2.21 PD_RequestPacket ................................................................................................. 18
2.21.1 PD_RequestDataObject_Fixed_Variable_NoGiveBack ...................................... 18
3
Page 4
2.21.2 PD_RequestDataObject_Fixed_Variable_GiveBack ........................................... 19
2.21.3 PD_RequestDataObject_Battery_NoGiveBack .................................................. 19
2.21.4 PD_RequestDataObject_Battery_GiveBack ....................................................... 19
2.22 PD_BISTCarrierModeMessage ............................................................................... 19
2.23 PD_BISTTestDataMessage ..................................................................................... 19
2.24 PD_BatteryStatusMsg ............................................................................................ 19
2.25 PD_AlertMsg .......................................................................................................... 20
2.26 PD_VDM_Unstructured_Header ........................................................................... 20
2.27 PD_VDM_Structured_Header ............................................................................... 20
2.28 PD_VDM_Discover_Identity_Message .................................................................. 21
2.29 PD_VDM_Discover_Identity_Response ................................................................ 21
2.29.1 PD_VDM_Discover_Identity_ID_Header_VDO .................................................. 21
2.29.1.1 Revision 2.0 ........................................................................................................... 21
2.29.1.2 Revision 3.0 ........................................................................................................... 21
2.29.2 PD_VDM_Discover_Identity_Cert_Stat_VDO .................................................... 22
2.29.3 PD_VDM_Discover_Identity_Product_VDO ...................................................... 22
2.29.4 PD_VDM_Discover_Identity_Cable_VDO .......................................................... 22
2.29.5 PD_DiscoverIdPassiveCableVdo ......................................................................... 22
2.29.6 PD_DiscoverIdActiveCableVdo .......................................................................... 23
2.29.7 PD_VDM_Discover_Identity_Alternate_Mode_Adapter_VDO ......................... 23
2.29.7.1 Revision 2.0 ........................................................................................................... 23
2.29.7.2 Revision 3.0 ........................................................................................................... 24
2.30 PD_VDM_Discover_Svids_Message ...................................................................... 24
2.31 PD_VDM_Discover_Svids_Response ..................................................................... 24
2.31.1 Discover_SVIDs_Responder_VDO ...................................................................... 24
2.32 PD_VDM_Discover_Modes_Message ................................................................... 24
2.33 PD_VDM_Discover_Modes_Response .................................................................. 24
2.33.1 PD_VDO .............................................................................................................. 25
2.33.2 PD_VDM_DisplayPort_DiscoverMode_Vdo ...................................................... 25
2.34 PD_VDM_Enter_Mode_Message .......................................................................... 25
2.35 PD_VDM_Enter_Mode_Response ......................................................................... 25
2.36 PD_VDM_Exit_Mode_Message ............................................................................. 25
4
Page 5
2.37 PD_VDM_Exit_Mode_Response ........................................................................... 26
2.38 PD_VDM_Attention_Message ............................................................................... 26
2.39 PD_VDM_DisplayPort_UpdateStatus_Message ................................................... 26
2.39.1 PD_VDM_DisplayPort_Status_VDO ................................................................... 26
2.40 PD_VDM_DisplayPort_UpdateStatus_Response .................................................. 26
2.41 PD_VDM_DisplayPort_Configure_Message .......................................................... 27
2.41.1 PD_VDM_DisplayPort_Configure_VDO ............................................................. 27
2.42 PD_VDM_DisplayPort_Configure_Response ........................................................ 27
2.43 PD_ExtMsgHeaders ............................................................................................... 27
2.44 PD_SourceCapExtendedMsg ................................................................................. 27
2.45 PD_StatusMsg ........................................................................................................ 28
2.46 PD_GetBatteryCapMsg .......................................................................................... 29
2.47 PD_GetBatteryStatusMsg ...................................................................................... 29
2.48 PD_BatteryCapabilitiesMsg ................................................................................... 29
2.49 PD_GetManufacturerInfoMsg ............................................................................... 29
2.50 PD_ManufacturerInfoMsg ..................................................................................... 29
2.51 PD_SecurityRequestMsg ....................................................................................... 30
2.51.1 PD_SRQDB_GetDigests ...................................................................................... 30
2.51.2 PD_SRQDB_GetCertificate ................................................................................. 30
2.51.3 PD_SRQDB_Challenge ........................................................................................ 30
2.52 PD_SecurityResponseMsg ..................................................................................... 31
2.52.1 PD_SRPDB_Digests ............................................................................................. 31
2.52.1.1 PD_Security_Digest ............................................................................................... 31
2.52.2 PD_SRPDB_Certificate ....................................................................................... 31
2.52.3 PD_SRPDB_ChallengeAuth ................................................................................ 31
2.52.4 PD_SRPDB_Error ................................................................................................ 32
3 Type-C Commands ........................................................................................................... 33
3.1 PD_SetResistorRp ...................................................................................................... 33
3.2 PD_SetResistorRd ...................................................................................................... 33
3.3 PD_SetResistorRa ...................................................................................................... 34
3.4 PD_SetVBusCap10MicroFarad .................................................................................. 34
3.5 PD_SetVBusCap1MicroFarad .................................................................................... 34
5
Page 6
3.6 PD_SetVBus ............................................................................................................... 35
3.7 PD_SetVConn ............................................................................................................ 35
3.8 PD_SetLoadOnVBus .................................................................................................. 35
3.9 PD_TerminateCCLines ............................................................................................... 36
3.10 PD_SetStartDRPSetting .......................................................................................... 36
3.11 PD_StartDRP .......................................................................................................... 37
3.12 PD_SetStartSourceSetting ..................................................................................... 37
3.13 PD_StartSource ...................................................................................................... 38
3.14 PD_SetStartSinkSetting .......................................................................................... 38
3.15 PD_StartSink .......................................................................................................... 39
4 Basic Commands .............................................................................................................. 40
4.1 PD_SendPacket ......................................................................................................... 40
4.2 PD_SendPacket_Cable .............................................................................................. 41
4.3 PD_SendCorruptedPacket ......................................................................................... 42
4.4 PD_ReceivePacket ..................................................................................................... 43
4.5 PD_SendSoftReset ..................................................................................................... 45
4.6 PD_SendHardReset ................................................................................................... 45
4.7 PD_SendCableReset .................................................................................................. 46
4.8 PD_Delay ................................................................................................................... 46
4.9 PD_SetRoles .............................................................................................................. 46
4.10 PD_Set.................................................................................................................... 47
4.11 IfMatched/ElseMatched ........................................................................................ 49
4.12 PD_Loop ................................................................................................................. 51
4.13 PD_TimerLoop ....................................................................................................... 51
4.14 PD_BreakLoop ....................................................................................................... 52
4.15 PD_ContinueLoop .................................................................................................. 52
4.16 PD_Stop ................................................................................................................. 53
4.17 PD_Disconnect ....................................................................................................... 53
4.18 PD_ResumeUSB2Exerciser .................................................................................... 54
4.19 PD_ReportUSB3TermStatus .................................................................................. 54
4.20 PD_IncreaseMsgId ................................................................................................. 54
4.21 PD_DecreaseMsgId ................................................................................................ 55
6
Page 7
4.22 PD_IncreaseMsgId_Cable ...................................................................................... 55
4.23 PD_DecreaseMsgId_Cable ..................................................................................... 55
5 Transaction Engine™ ........................................................................................................ 57
5.1 High Level Commands ............................................................................................... 57
5.1.1 PD_SetWorkingRevision .................................................................................... 57
5.1.2 PD_SetNegotiationSetting_Source .................................................................... 57
5.1.3 PD_AddSourceCap ............................................................................................. 58
5.1.4 PD_ResetSourceCaps ......................................................................................... 59
5.1.5 PD_NegotiatePower_Source ............................................................................. 59
5.1.6 PD_SetNegotiationSetting_Sink......................................................................... 60
5.1.7 PD_AddSinkCap .................................................................................................. 61
5.1.8 PD_ResetSinkCaps .............................................................................................. 61
5.1.9 PD_NegotiatePower_Sink .................................................................................. 62
5.1.10 PD_WaitForNegotiatePower ............................................................................. 62
5.1.11 PD_NegotiatePower........................................................................................... 63
5.1.12 PD_SetSwapPowerRoleSetting .......................................................................... 63
5.1.13 PD_SwapPowerRole ........................................................................................... 64
5.1.14 PD_WaitForSwapPowerRole .............................................................................. 65
5.1.15 PD_FastRoleSwap .............................................................................................. 65
5.1.16 PD_SetSwapDataRoleSetting ............................................................................. 66
5.1.17 PD_SwapDataRole ............................................................................................. 66
5.1.18 PD_WaitForSwapDataRole ................................................................................ 67
5.1.19 PD_SetSwapVConnSetting ................................................................................. 68
5.1.20 PD_SwapVConn .................................................................................................. 68
5.1.21 PD_WaitForSwapVConn .................................................................................... 69
5.1.22 PD_SetGotoMinSetting ...................................................................................... 69
5.1.23 PD_GotoMin ...................................................................................................... 70
5.1.24 PD_WaitForGotoMin ......................................................................................... 70
5.1.25 PD_SetGetSourceCapSetting ............................................................................. 71
5.1.26 PD_GetSourceCapabilities ................................................................................. 72
5.1.27 PD_WaitForGetSourceCapabilities .................................................................... 72
5.1.28 PD_SetGetSinkCapSetting .................................................................................. 73
7
Page 8
5.1.29 PD_GetSinkCapabilities ...................................................................................... 73
5.1.30 PD_WaitForGetSinkCapabilities ......................................................................... 74
5.1.31 PD_SendBISTCarrierMode ................................................................................. 74
5.1.32 PD_SendBISTTestData........................................................................................ 75
5.1.33 PD_GetSourceCapExtended ............................................................................... 75
5.1.34 PD_SetGetSrcCapExtSetting .............................................................................. 76
5.1.35 PD_WaitForGetSrcCapExtended ........................................................................ 77
5.1.36 PD_SetSrcCapExtDataBlock ............................................................................... 77
5.1.37 PD_ResetSrcCapExtDataBlock ........................................................................... 78
5.1.38 PD_GetStatus ..................................................................................................... 78
5.1.39 PD_SetGetStatusSetting .................................................................................... 78
5.1.40 PD_WaitForGetStatus ........................................................................................ 79
5.1.41 PD_SetStatusDataBlock ..................................................................................... 80
5.1.42 PD_ResetStatusDataBlock.................................................................................. 80
5.1.43 PD_GetBatteryStatus ......................................................................................... 80
5.1.44 PD_SetGetBatteryStatusDataBlock .................................................................... 81
5.1.45 PD_SetGetBatteryStatusSetting......................................................................... 81
5.1.46 PD_WaitForGetBatteryStatus ............................................................................ 82
5.1.47 PD_SetBatteryStatusDO ..................................................................................... 82
5.1.48 PD_ResetBatteryStatusDO ................................................................................. 83
5.1.49 PD_Alert ............................................................................................................. 83
5.1.50 PD_SetAlertDO ................................................................................................... 83
5.1.51 PD_SetAlertSetting ............................................................................................ 84
5.1.52 PD_WaitForAlert ................................................................................................ 84
5.1.53 PD_GetBatteryCap ............................................................................................. 85
5.1.54 PD_SetGetBatteryCapDataBlock........................................................................ 85
5.1.55 PD_SetGetBatteryCapSetting ............................................................................ 86
5.1.56 PD_WaitForGetBatteryCap ................................................................................ 86
5.1.57 PD_SetBatteryCapDataBlock ............................................................................. 87
5.1.58 PD_ResetBatteryCapDataBlock ......................................................................... 87
5.1.59 PD_GetManufacturerInfo .................................................................................. 88
5.1.60 PD_SetGetManufacturerInfoDataBlock ............................................................. 88
8
Page 9
5.1.61 PD_SetGetManufacturerInfoSetting .................................................................. 89
5.1.62 PD_WaitForGetManufacturerInfo ..................................................................... 89
5.1.63 PD_SetManufacturerInfoDataBlock .................................................................. 90
5.1.64 PD_SetSecurityRequestSetting .......................................................................... 90
5.1.65 PD_SecurityRequest ........................................................................................... 90
5.1.66 PD_SetSecurityRequestDataBlock ..................................................................... 91
5.1.67 PD_WaitForSecurityRequest .............................................................................. 91
5.1.68 PD_SetSecurityResponseDataBlock ................................................................... 92
5.1.69 PD_SetDiscoverIdentitySetting .......................................................................... 92
5.1.70 PD_AddDiscoverIdentityVDO ............................................................................. 93
5.1.71 PD_ResetDiscoverIdentityVDO .......................................................................... 93
5.1.72 PD_DiscoverIdentity .......................................................................................... 94
5.1.73 PD_WaitForDiscoverIdentity ............................................................................. 94
5.1.74 PD_SetDiscoverSVIDSetting ............................................................................... 95
5.1.75 PD_AddSvid ........................................................................................................ 96
5.1.76 PD_ResetSvids .................................................................................................... 96
5.1.77 PD_DiscoverSvids ............................................................................................... 96
5.1.78 PD_WaitForDiscoverSvids .................................................................................. 97
5.1.79 PD_SetDiscoverModeSetting ............................................................................. 98
5.1.80 PD_AddMode ..................................................................................................... 98
5.1.81 PD_AddModeVDO ............................................................................................. 99
5.1.82 PD_ResetModes ................................................................................................. 99
5.1.83 PD_DiscoverModes ............................................................................................ 99
5.1.84 PD_WaitForDiscoverModes ............................................................................. 100
5.1.85 PD_SetEnterModeSetting ................................................................................ 101
5.1.86 PD_EnterMode ................................................................................................. 101
5.1.87 PD_EnterModeVdo .......................................................................................... 102
5.1.88 PD_WaitForEnterMode.................................................................................... 103
5.1.89 PD_SetExitModeSetting ................................................................................... 103
5.1.90 PD_ExitMode ................................................................................................... 104
5.1.91 PD_WaitForExitMode ...................................................................................... 104
5.1.92 PD_Attention ................................................................................................... 105
9
Page 10
5.1.93 PD_AttentionVdo ............................................................................................. 105
5.1.94 PD_SetDiscoveryProcessSetting ...................................................................... 106
5.1.95 PD_PerformDiscoveryProcess ......................................................................... 107
5.1.96 PD_SetDisplayPortSetting ................................................................................ 107
5.1.97 PD_DisplayPort_UpdateStatus ........................................................................ 108
5.1.98 PD_DisplayPort_Configure............................................................................... 109
5.1.99 PD_WaitForDisplayPortStatus ......................................................................... 109
5.1.100 PD_WaitForDisplayPortConfigure ................................................................ 110
5.1.101 PD_SetDiscoverIdentitySetting_Cable ......................................................... 110
5.1.102 PD_WaitForDiscoverIdentity_Cable ............................................................. 111
5.1.103 PD_AddDiscoverIdentityVDO_Cable ............................................................ 111
5.1.104 PD_ResetDiscoverIdentityVDO_Cable ......................................................... 112
5.1.105 PD_SetDiscoverSVIDSetting_Cable .............................................................. 112
5.1.106 PD_WaitForDiscoverSvids_Cable ................................................................. 113
5.1.107 PD_AddSvid_Cable ....................................................................................... 113
5.1.108 PD_ResetSvids_Cable ................................................................................... 114
5.1.109 PD_SetDiscoverModeSetting_Cable ............................................................ 114
5.1.110 PD_WaitForDiscoverModes_Cable .............................................................. 115
5.1.111 PD_AddModeVDO_Cable ............................................................................. 115
5.1.112 PD_AddMode_Cable .................................................................................... 116
5.1.113 PD_ResetModes_Cable ................................................................................ 116
5.1.114 PD_SetEnterModeSetting_Cable ................................................................. 117
5.1.115 PD_WaitForEnterMode_Cable ..................................................................... 117
5.1.116 PD_SetExitModeSetting_Cable .................................................................... 118
5.1.117 PD_WaitForExitMode_Cable ........................................................................ 118
5.1.118 PD_SetManufacturerInfoDataBlock_Cable .................................................. 119
5.1.119 PD_SetGetManufacturerInfoSetting_Cable ................................................. 119
5.1.120 PD_WaitForGetManufacturerInfo_Cable .................................................... 120
5.1.121 PD_SetSecurityResponseDataBlock_Cable .................................................. 121
5.1.122 PD_SetSecurityRequestSetting_Cable ......................................................... 121
5.1.123 PD_WaitForSecurityRequest_Cable ............................................................. 122
5.2 Auto Responses Capability ...................................................................................... 122
10
Page 11
5.2.1 PD_DelayAutoResponse .................................................................................. 122
11
Page 12
12
1 INTRODUCTION
Integrated in Teledyne LeCroy’s Voyager M310C test platform, the Power Delivery exerciser supports traffic generation, including both provider and consumer device emulation. The Power Delivery exerciser continues to evolve with each software release. Be sure to check for updated software and firmware before getting started with the Exerciser.
Important Licensing Note:
Operating the PD Exerciser beta requires that the USB Power Delivery
Exerciser option is enabled on the M310C base unit:
Getting Started:
The “left” port of the Voyager should be used to
connect DUT to the PD Exerciser. The PD exerciser also requires specific cable orientation (Red LED when connected wrong side-up).
To enable the PD Trainer/Exerciser, use the PD Tab under “Recording Options”
to select the Exerciser mode.
NoteAllow VBUS > 5v is a safety feature which prevents sourcing above 5V. When enabled, this mode will allow Voltage levels to be delivered to the DUT which may exceed their current carrying capabilities. While the M310C system is designed to tolerate higher current, these higher voltages may inadvertently cause damage to devices/cables under test.
To set devices port name, use the General Tab under “Recording Options” to add
“alias labels” for your DUTs.
These labels will appear in the trace capture.
The Alias name is primarily for use in analyzer mode and requires that device names are added before recording traffic. The device naming can also be used in Exerciser mode; however message frames from the Voyager M310C will be always be labeled “M310C”.
Page 13
Page 14
2 Packet Templates
Field Name
Description
MessageType
Default: 0
Reserved1
Default: 0 Rev2.0 only
PortDataRole_Reserved2
Default: 0
SpecificationRevision
Default: PD_SPEC_REVISION_2 (Rev2.0) Default: PD_SPEC_REVISION_3 (Rev3.0)
PortPowerRole_CablePlug
Default: 0
MessageId
Default: 0
NumberOfDataObjects
Default: 0
Reserved2
Default: 0 Rev2.0 only
Extended
Default: 0 Rev3.0 only
Following Packet Templates can be used in Basic or High-Level commands as data containers. All of these messages inherited from PD_Packet packet template except those which are used as containers for Data Objects.
2.1 PD_ControlMessage
Available fields for PD_ControlMessage packet template are:
2.2 PD_GoodCrcMessage
PD_GoodCrcMessage packet template has same fields as PD_ControlMessage but default value
for MessageType is 1.
2.3 PD_GotoMinMessage
PD_GotoMinMessage packet template has same fields as PD_ControlMessage but default value
for MessageType is 2.
2.4 PD_AcceptMessage
PD_AcceptMessage packet template has same fields as PD_ControlMessage but default value
for MessageType is 3.
2.5 PD_RejectMessage
PD_RejectMessage packet template has same fields as PD_ControlMessage but default value
for MessageType is 4.
2.6 PD_PingMessage
PD_PingMessage packet template has same fields as PD_ControlMessage but default value for MessageType is 5.
14
Page 15
2.7 PD_PsRdyMessage
PD_PsRdyMessage packet template has same fields as PD_ControlMessage but default value for MessageType is 6.
2.8 PD_GetSourceCapMessage
PD_GetSourceCapMessage packet template has same fields as PD_ControlMessage but default
value for MessageType is 7.
2.9 PD_GetSinkCapMessage
PD_GetSinkCapMessage packet template has same fields as PD_ControlMessage but default
value for MessageType is 8.
2.10 PD_DataRoleSwapMessage
PD_DataRoleSwapMessage packet template has same fields as PD_ControlMessage but default
value for MessageType is 9.
2.11 PD_PowerRoleSwapMessage
PD_PowerRoleSwapMessage packet template has same fields as PD_ControlMessage but default
value for MessageType is 10.
2.12 PD_VConnSwapMessage
PD_VConnSwapMessage packet template has same fields as PD_ControlMessage but default
value for MessageType is 11.
2.13 PD_WaitMessage
PD_WaitMessage packet template has same fields as PD_ControlMessage but default value for MessageType is 12.
2.14 PD_SoftResetMessage
PD_SoftResetMessage packet template has same fields as PD_ControlMessage but default
value for MessageType is 13.
2.15 PD_NotSupportedMsg
PD_NotSupportedMsg packet template has same fields as PD_ControlMessage but default value
for MessageType is 16. Applied to Power Delivery Rev3.0.
2.16 PD_GetSourceCapExtendedMsg
PD_GetSourceCapExtendedMsg packet template has same fields as PD_ControlMessage but
default value for MessageType is 17. Applied to Power Delivery Rev3.0.
15
Page 16
2.17 PD_GetStatusMsg
Field Name
Description
SourceCapabilitiesData
This field can contain one or more(up-to 7 according to PD Spec) PDO packet variables. PDO types which can assign to this field are:
PD_PowerDataObjectFixedSupply_Source, PD_PDOFixedSupplyNotVSafe5V_Source, PD_PowerDataObjectVariableSupply_Source,
PD_PowerDataObjectBatterySupply_Source
Field Name
Description
MaxCurrent_10mAUnits
Default: 100
Voltage_50mVUnits
Default: 100
PeakCurrent
Default: 0
Reserved
Default: 0
UnchunkedExtMsgSupported
Default: 0 Rev3.0 only
DataRoleSwap
Default: 0
UsbCommunicationsCapable
Default: 0
ExternallyPowered
Default: 1
UsbSuspendSupported
Default: 0
DualRolePower
Default: 0
PowerDataType
Default: 0
Field Name
Description
MaxCurrent_10mAUnits
Default: 0
Voltage_50mVUnits
Default: 0
PeakCurrent
Default: 0
Reserved
Default: 0
PowerDataType
Default: 0
PD_GetStatusMsg packet template has same fields as PD_ControlMessage but default value for MessageType is 18. Applied to Power Delivery Rev3.0.
2.18 PD_FRSwapMsg
PD_FRSwapMsg packet template has same fields as PD_ControlMessage but default value for MessageType is 19. Applied to Power Delivery Rev3.0.
2.19 PD_SourceCapabilitiesMessage
PD_SourceCapabilitiesMessage packet template contains all the fields of PD_ControlMessage
but default value for MessageType is 1. Following are additional data fields for
PD_SourceCapabilitiesMessage packet template:
2.19.1 PD_PowerDataObjectFixedSupply_Source
Used as SourceCapabilitiesData for PD_SourceCapabilitiesMessage. Available fields for this packet template are:
2.19.2 PD_PDOFixedSupplyNotVSafe5V_Source
Used as SourceCapabilitiesData for PD_SourceCapabilitiesMessage. Available fields for this packet template are:
16
Page 17
2.19.3 PD_PowerDataObjectVariableSupply_Source
Field Name
Description
MaxCurrent_10mAUnits
Default: 0
MinVoltage_50mVUnits
Default: 0
MaxVoltage_50mVUnits
Default: 0
PowerDataType
Default: 2
Field Name
Description
MaxAllowablePower_250mWUnits
Default: 0
MinVoltage_50mVUnits
Default: 0
MaxVoltage_50mVUnits
Default: 0
PowerDataType
Default: 1
Field Name
Description
SinkCapabilitiesData
This field can contain one or more(up-to 7 according to PD Spec) PDO packet variables. PDO types which can assign to this field are:
PD_PowerDataObjectFixedSupply_Sink, PD_PowerDataObjectVariableSupply_Sink,
PD_PowerDataObjectBatterySupply_Sink
Field Name
Description
OperationalCurrent_10mAUnits
Default: 100
Voltage_50mVUnits
Default: 100
Reserved
Default: 0
FRSwapTypeCCurrent
Default: 0 Rev3.0 only
DataRoleSwap
Default: 0
UsbCommunicationsCapable
Default: 0
ExternallyPowered
Default: 1
HigherCapability
Default: 0
DualRolePower
Default: 0
PowerDataType
Default: 0
Used as SourceCapabilitiesData for PD_SourceCapabilitiesMessage. Available fields for this packet template are:
2.19.4 PD_PowerDataObjectBatterySupply_Source
Used as SourceCapabilitiesData for PD_SourceCapabilitiesMessage. Available fields for this packet template are:
2.20 PD_SinkCapabilitiesMessage
PD_SinkCapabilitiesMessage packet template contains all the fields of PD_ControlMessage but
default value for MessageType is 4. Following are additional data fields for
PD_SinkCapabilitiesMessage packet template:
2.20.1 PD_PowerDataObjectFixedSupply_Sink
Used as SinkCapabilitiesData for PD_SinkCapabilitiesMessage. Available fields for this packet template are:
17
Page 18
2.20.2 PD_PowerDataObjectVariableSupply_Sink
Field Name
Description
OperationalCurrent_10mAUnits
Default: 0
MinVoltage_50mVUnits
Default: 0
MaxVoltage_50mVUnits
Default: 0
PowerDataType
Default: 2
Field Name
Description
OperationalPower_250mWUnits
Default: 0
MinVoltage_50mVUnits
Default: 0
MaxVoltage_50mVUnits
Default: 0
PowerDataType
Default: 1
Field Name
Description
Data
This field can contain only one RDO packet variables. RDO types which can assign to this field are:
PD_RequestDataObject_Fixed_Variable_NoGiveBack, PD_RequestDataObject_Fixed_Variable_GiveBack, PD_RequestDataObject_Battery_NoGiveBack,
PD_RequestDataObject_Battery_GiveBack
Field Name
Description
MaxOperatingCurrent_10mAUnits
Default: 0
OperatingCurrent_10mAUnits
Default: 0
Rsvd1
Default: 0
UnchunkedExtMsgSupported
Default: 0 Rev3.0 only
NoUsbSuspend
Default: 0
UsbCommunicationsCapable
Default: 0
CapabilityMismatch
Default: 0
GiveBackFlag
Default: 0
ObjectPosition
Default: 1
Rsvd2
Default: 0
Used as SinkCapabilitiesData for PD_SinkCapabilitiesMessage. Available fields for this packet template are:
2.20.3 PD_PowerDataObjectBatterySupply_Sink
Used as SinkCapabilitiesData for PD_SinkCapabilitiesMessage. Available fields for this packet template are:
2.21 PD_RequestPacket
PD_RequestPacket packet template contains all the fields of PD_ControlMessage but default
value for MessageType is 2 and default value for NumberOfDataObjects field is 1. Following are additional data fields for PD_RequestPacket packet template:
2.21.1 PD_RequestDataObject_Fixed_Variable_NoGiveBack
Used as data for PD_RequestPacket. Available fields for this packet template are:
18
Page 19
2.21.2 PD_RequestDataObject_Fixed_Variable_GiveBack
Field Name
Description
MaxOperatingPower_250mWUnits
Default: 0
OperatingPower_250mWUnits
Default: 0
Rsvd1
Default: 0
UnchunkedExtMsgSupported
Default: 0 Rev3.0 only
NoUsbSuspend
Default: 0
UsbCommunicationsCapable
Default: 0
CapabilityMismatch
Default: 0
GiveBackFlag
Default: 0
ObjectPosition
Default: 1
Rsvd2
Default: 0
Field Name
Description
Reserved
Default: 0
BISTRequestType
Default: BIST_REQUEST_CARRIER_MODE
Field Name
Description
Reserved
Default: 0
BISTRequestType
Default: BIST_REQUEST_TEST_DATA
TestData
Default: {AA AA AA AA AA AA AA AA AA AA AA AA AA AA
AA AA AA AA AA AA AA AA AA AA}
Used as data for PD_RequestPacket. This packet template has same fields as
PD_RequestDataObject_Fixed_Variable_NoGiveBack packet template, but default value for
GiveBackFlag field is 1.
2.21.3 PD_RequestDataObject_Battery_NoGiveBack
Used as data for PD_RequestPacket. Available fields for this packet template are:
2.21.4 PD_RequestDataObject_Battery_GiveBack
Used as data for PD_RequestPacket. This packet template has same fields as
PD_RequestDataObject_Battery_NoGiveBack packet template, but default value for GiveBackFlag field
is 1.
2.22 PD_BISTCarrierModeMessage
PD_BISTCarrierModeMessage packet template contains all the fields of PD_ControlMessage but
default value for MessageType is 3 and default value for NumberOfDataObjects field is 1. Following are additional data fields for PD_BISTCarrierModeMessage packet template:
2.23 PD_BISTTestDataMessage
PD_BISTTestDataMessage packet template contains all the fields of PD_ControlMessage but
default value for MessageType is 3 and default value for NumberOfDataObjects field is 7. Following are additional data fields for PD_BISTTestDataMessage packet template:
2.24 PD_BatteryStatusMsg
Applied to Rev3.0. PD_BatteryStatusMsg packet template contains all the fields of
PD_ControlMessage but default value for MessageType is 5 and default value for
19
Page 20
NumberOfDataObjects field is 1. Following are additional data fields(fields of
Field Name
Description
Reserved_1
Default: 0x00
InvalidBatteryReference
Default: 0x00
BatteryIsPresent
Default: 0x00
BatteryChargingStatus
Default: 0x00
Reserved_2
Default: 0x00
BatteryPC
Default: 0xFFFF
Field Name
Description
Reserved_1
Default:0x00
HotSwappableBatteries
Default:0x00
FixedBatteries
Default:0x00
Reserved_2
Default:0x00
BatteryStatusChange
Default:0x00
OverCurProtection
Default:0x00
OverTempProtection
Default:0x00
OperatingConditionChange
Default:0x00
SourceInputChange
Default:0x00
OverVoltageProtection
Default:0x00
Reserved_3
Default:0x00
Field Name
Description
VDMCustom
Default: 0x00
VDMType
Default: PD_VDM_TYPE_UNSTRUCTURED_VDM
VDMSVID
Default: 0x00
Field Name
Description
VDMCommand
Default: PD_VDM_COMMAND_RESERVED_0
VDMReserved1
Default: 0x00
PD_BatteryStatusDataObject packet template) for PD_BatteryStatusMsg packet template:
2.25 PD_AlertMsg
Applied to Rev3.0. PD_AlertMsg packet template contains all the fields of PD_ControlMessage but default value for MessageType is 6 and default value for NumberOfDataObjects field is 1. Following are additional data fields(fields of PD_AlertDataObject packet template) for
PD_AlertMsg packet template:
2.26 PD_VDM_Unstructured_Header
Used as Header for Unstructured VDM messages. PD_VDM_Unstructured_Header packet template contains all the fields of PD_ControlMessage but default value for MessageType is
0x0F and default value for NumberOfDataObjects field is 1. Following are additional data
fields for PD_VDM_Unstructured_Header packet template:
2.27 PD_VDM_Structured_Header
Used as Header for all Structured VDM messages. PD_VDM_Structured_Header packet template contains all the fields of PD_ControlMessage but default value for MessageType is
0x0F and default value for NumberOfDataObjects field is 1. Following are additional data
fields for PD_VDM_Structured_Header packet template:
20
Page 21
VDMCommandType
Default: PD_VDM_COMMAND_TYPE_INITIATOR
VDMObjectPosition
Default: 0x00
VDMReserved2
Default: 0x00
VDMStructuredVdmVersion
Default: PD_VDM_STRUCTURED_VERSION_2 (Rev 3.0) Default: PD_VDM_STRUCTURED_VERSION_1 (Rev 2.0)
VDMType
Default: PD_VDM_TYPE_STRUCTURED_VDM
VDMSVID
Default: 0x00
2.28 PD_VDM_Discover_Identity_Message
Field Name
Description
VDOs
This field can contain up-to 6 VDOs, but should contain at least 3 VDOs (according to PD Spec). VDO types which can assign to this field are:
PD_VDM_Discover_Identity_ID_Header_VDO, PD_VDM_Discover_Identity_Cert_Stat_VDO, PD_VDM_Discover_Identity_Product_VDO, PD_VDM_Discover_Identity_Cable_VDO (Rev 2.0 only), PD_DiscoverIdPassiveCableVdo (Rev 3.0 only), PD_DiscoverIdActiveCableVdo (Rev 3.0 only),
PD_VDM_Discover_Identity_Alternate_Mode_Adapter_VDO
Field Name
Description
IDHeaderVDO_USBVendorID
Default: 0x00
IDHeaderVDO_Reserved
Default: 0x00
IDHeaderVDO_ModalOperationSupported
Default: 0x00
IDHeaderVDO_ProductType
Default:
PD_VDM_ID_HEADER_VDO_PRODUCT_TYPE_UNDEFINED
IDHeaderVDO_DataCapableAsUSBDevice
Default: 0x00
IDHeaderVDO_DataCapableAsUSBHost
Default: 0x00
Field Name
Description
USBVendorID
Default: 0x00
Reserved
Default: 0x00
ProductType_DFP
Default: PD_PRODUCT_TYPE_UNDEFINED
PD_VDM_Discover_Identity_Message packet template contains all the fields of
PD_VDM_Structured_Header but default value for VDMCommand field is
PD_VDM_COMMAND_DISCOVER_IDENTITY and default value for VDMSVID field is PD_VDM_SID.
2.29 PD_VDM_Discover_Identity_Response
PD_VDM_Discover_Identity_Response packet template contains all the fields of
PD_VDM_Discover_Identity_Message but default value for VDMCommandType field is
PD_VDM_COMMAND_TYPE_RESPONDER_ACK. Following are additional data fields for PD_VDM_Discover_Identity_Response packet template:
2.29.1 PD_VDM_Discover_Identity_ID_Header_VDO
Used as VDOs for PD_VDM_Discover_Identity_Response packet template. Available fields of this packet template are varies from Revision 2.0 to higher revisions:
2.29.1.1 Revision 2.0
2.29.1.2 Revision 3.0
21
Page 22
ModalOperationSupported
Default: 0x00
ProductType_UFP_Cable
Default: PD_PRODUCT_TYPE_UNDEFINED
DataCapableAsUSBDevice
Default: 0x00
DataCapableAsUSBHost
Default: 0x00
2.29.2 PD_VDM_Discover_Identity_Cert_Stat_VDO
Field Name
Description
CertStatVDO_XID
Default: 0x00
Rsvd
Default: 0x00 Rev2.0 only
Field Name
Description
ProductVDO_USBProductId
Default: 0x00
ProductVDO_BCDDevice
Default: 0x00
Field Name
Description
CableVDO_USBSuperSpeedSignalingSupport
Default:
PD_VDM_CABLE_VDO_USB31_GEN1_SIGNALING_SUPPORT
CableVDO_SOPDPrimeControllerPresent
Default: 0x00
CableVDO_VBusThroughCable
Default: 0x00
CableVDO_VBusCurrentHandlingCapability
Default: PD_VDM_CABLE_VDO_VBUS_HANDLING_NO_VBUS
CableVDO_SSRX2DirectionalitySupport
Default: 0x00
CableVDO_SSRX1DirectionalitySupport
Default: 0x00
CableVDO_SSTX2DirectionalitySupport
Default: 0x00
CableVDO_SSTX1DirectionalitySupport
Default: 0x00
CableVDO_CableTerminationType
Default: 0x00
CableVDO_CableLatency
Default: PD_VDM_CABLE_VDO_CABLE_LATENCY_UPTO_10ns
CableVDO_TypeCPlugToPlugOrReceptacle
Default: PD_VDM_CABLE_VDO_TYPEC_PLUG_TO_PLUG
CableVDO_TypeCPlugToTypeA_B_C_Captive
Default: PD_VDM_CABLE_VDO_TYPEC_PLUGTO_TYPEC
CableVDO_Reserved
Default: 0x00
CableVDO_FirmwareVersion
Default: 0x00
CableVDO_HardwareVersion
Default: 0x00
Field Name
Description
USBSsSignaling
Default: PD_CABLE_USB31_GEN1_SIGNALING
Reserved_1
Default: 0x00
VBusCurHandlingCap
Default: PD_CABLE_CUR_HANDLING_CAP_3A
Used as VDOs for PD_VDM_Discover_Identity_Response packet template. Available fields of this packet template are:
2.29.3 PD_VDM_Discover_Identity_Product_VDO
Used as VDOs for PD_VDM_Discover_Identity_Response packet template. Available fields of this packet template are:
2.29.4 PD_VDM_Discover_Identity_Cable_VDO
Applied to Revision 2.0 only. Used as VDOs for PD_VDM_Discover_Identity_Response packet template. Available fields of this packet template are:
2.29.5 PD_DiscoverIdPassiveCableVdo
Applied to Rev3.0 only. Used as VDOs for PD_VDM_Discover_Identity_Response packet template. Available fields of this packet template are:
22
Page 23
Reserved_2
Default: 0x00
MaxVBusVoltage
Default: PD_CABLE_MAX_VBUS_20V
CableTerminationType
Default: PD_CABLE_VCONN_NOT_REQUIRED
CableLatency
Default: PD_CABLE_LATENCY_MAX_10ns
Reserved_3
Default: 0x00
TypeCtoTypeC_Captive
Default: PD_CABLE_TYPEC_TO_TYPEC
Reserved_4
Default: 0x00
Version
Default: PD_CABLE_PASSIVE_VDO_VERSION_1
FirmwareVersion
Default: 0x00
HardwareVersion
Default: 0x00
2.29.6 PD_DiscoverIdActiveCableVdo
Field Name
Description
USBSsSignaling
Default: PD_CABLE_USB31_GEN1_SIGNALING
SOPDoublePrimeController
Default: 0x00
VBusThrough
Default: 0x01
VBusCurHandlingCap
Default: PD_CABLE_CUR_HANDLING_CAP_3A
Reserved_1
Default: 0x00
MaxVBusVoltage
Default: PD_CABLE_MAX_VBUS_20V
CableTerminationType
Default: PD_CABLE_TERM_ACTIVE_ACTIVE
CableLatency
Default: PD_CABLE_LATENCY_MAX_10ns
Reserved_2
Default: 0x00
TypeCtoTypeC_Captive
Default: PD_CABLE_TYPEC_TO_TYPEC
Reserved_3
Default: 0x00
Version
Default: PD_CABLE_ACTIVE_VDO_VERSION_1
FirmwareVersion
Default: 0x00
HardwareVersion
Default: 0x00
Field Name
Description
AMDVDO_USBSuperSpeedSignalingSupport
Default: 0x01
AMDVDO_VBusRequired
Default: 0x00
AMDVDO_VConnRequired
Default: 0x00
AMDVDO_VConnPower
Default: 0x00
AMDVDO_SSRX2DirectionalitySupport
Default: 0x00
AMDVDO_SSRX1DirectionalitySupport
Default: 0x00
AMDVDO_SSTX2DirectionalitySupport
Default: 0x00
AMDVDO_SSTX1DirectionalitySupport
Default: 0x00
AMDVDO_Reserved
Default: 0x00
AMDVDO_FirmwareVersion
Default: 0x00
AMDVDO_HardwareVersion
Default: 0x00
Applied to Rev3.0 only. Used as VDOs for PD_VDM_Discover_Identity_Response packet template. Available fields of this packet template are:
2.29.7 PD_VDM_Discover_Identity_Alternate_Mode_Adapter_VDO
Used as VDOs for PD_VDM_Discover_Identity_Response packet template. Available fields of this packet template are varies from Revision 2.0 to higher revisions:
2.29.7.1 Revision 2.0
23
Page 24
Page 25
Page 26
2.37 PD_VDM_Exit_Mode_Response
Field Name
Description
VDO
This field may contain one VDO. The VDO can be a PD_VDO packet variable which has 32bits data length.
Field Name
Description
StatusVdo
Contains only one VDO in type of
PD_VDM_DisplayPort_Status_VDO packet template.
Field Name
Description
DFPD_UFPD_Connected
Default: PD_DISPLAYPORT_DISCONNECTED
PowerLow
Default: 0x00
AdaptorEnabled
Default: 0x00
MultiFunctionPreferred
Default: 0x00
UsbConfigurationRequest
Default: 0x00
ExitDisplayModeRequest
Default: 0x00
HPD_State
Default: 0x00
IRQ_HPD
Default: 0x00
Reserved_DPS_1
Default: 0x00
PD_VDM_Exit_Mode_Response packet template contains all the fields of
PD_VDM_Exit_Mode_Message but default value for VDMCommandType field is
PD_VDM_COMMAND_TYPE_RESPONDER_ACK.
2.38 PD_VDM_Attention_Message
PD_VDM_Attention_Message packet template contains all the fields of
PD_VDM_Structured_Header but default value for VDMCommand field is PD_VDM_COMMAND_ATTENTION
and default value for VDMSVID field is PD_VDM_SID. Following are additional data fields for
PD_VDM_Attention_Message packet template:
2.39 PD_VDM_DisplayPort_UpdateStatus_Message
PD_VDM_DisplayPort_UpdateStatus_Message packet template contains all the fields of
PD_VDM_Structured_Header but default value for NumberOfDataObjects field is 2 and default
value for VDMCommand field is PD_VDM_COMMAND_DISPLAYPORT_STATUS_UPDATE and default value for
VDMSVID field is PD_DISPLAY_PORT_SVID. Following are additional data fields for PD_VDM_DisplayPort_UpdateStatus_Message packet template:
2.39.1 PD_VDM_DisplayPort_Status_VDO
Used as StatusVdo for PD_VDM_DisplayPort_UpdateStatus_Message and
PD_VDM_DisplayPort_UpdateStatus_Response packet templates. Following are available data fields for
this packet template:
2.40 PD_VDM_DisplayPort_UpdateStatus_Response
PD_VDM_DisplayPort_UpdateStatus_Response packet template contains all the fields of
PD_VDM_DisplayPort_UpdateStatus_Message but default value for VDMCommandType field is
PD_VDM_COMMAND_TYPE_RESPONDER_ACK.
26
Page 27
Page 28
VendorId
Default: 0x00
ProductId
Default: 0x00
XId
Default: 0x00
FirmwareVersion
Default: 0x00
HardwareVersion
Default: 0x00
LoadStep
Default: 0x00
IOC
Default: 0x00
Reserved_1
Default: 0x00
HoldupTime
Default: 0x00
LPSCompliant
Default: 0x00
PS1Compliant
Default: 0x00
PS2Compliant
Default: 0x00
Reserved_2
Default: 0x00
LowTouchCurEPS
Default: 0x00
GroundPinSupport
Default: 0x00
GrndPinForProtectiveEarth
Default: 0x00
Reserved_3
Default: 0x00
PeakCur1_PercentOverload
Default: 0x00
PeakCur1_OverloadPeriod
Default: 0x00
PeakCur1_DutyCycle
Default: 0x00
PeakCur1_VBusVoltageDroop
Default: 0x00
PeakCur2_PercentOverload
Default: 0x00
PeakCur2_OverloadPeriod
Default: 0x00
PeakCur2_DutyCycle
Default: 0x00
PeakCur2_VBusVoltageDroop
Default: 0x00
PeakCur3_PercentOverload
Default: 0x00
PeakCur3_OverloadPeriod
Default: 0x00
PeakCur3_DutyCycle
Default: 0x00
PeakCur3_VBusVoltageDroop
Default: 0x00
TouchTemp
Default: 0x00
ExternalSupplyIsPresent
Default: 0x00
ExternalSupplyCondition
Default: 0x00
InternalBatteryIsPresent
Default: 0x00
Reserved_4
Default: 0x00
NumberOfFixedBatteries
Default: 0x00
NumberOfHotSwappableBatteries
Default: 0x00
2.45 PD_StatusMsg
Field Name
Description
InternalTemp
Default: 0x00
Reserved_1
Default: 0x00
ExternalPowerIsPresent
Default: 0x00
ExternalPower_AC_DC
Default: 0x00
InternalPowerBattery
Default: 0x00
InternalPowerNonBattery
Default: 0x00
Reserved_2
Default: 0x00
FixedBattery
Default: 0x00
Applied to Rev3.0. PD_StatusMsg packet template contains all the fields of PD_ExtMsgHeaders but the default value of MessageType field is 2 and the default value of DataSize field is 0x03. Following are the additional fields(fields of PD_StatusDataBlock packet template) for this packet template:
28
Page 29
Page 30
Page 31
Page 32
MinProtVer
Default: 0x00
MaxProtVer
Default: 0x00
Capabilities
Default: 0x01
Rsvd
Default: 0x00
CertChainHash
Default: { 00 00 00 00 }
Salt
Default: { 00 00 00 00 }
ContextHash
Default: { 00 00 00 00 }
Signature
Default: { 00 00 00 00 }
2.52.4 PD_SRPDB_Error
Field Name
Description
AuthProtocolVersion
Default: PD_AUTH_PROT_VER_1
AuthMessageType
Default: PD_AUTH_TYPE_ERROR
AuthParam1
Default: 0x01
AuthParam2
Default: 0x00
Used as SecurityResponseDB for PD_SecurityResponseMsg packet template. Available data fields for this packet template are:
32
Page 33
33
3 Type-C Commands
In addition to Power Delivery commands, PD Exerciser also provides a command set to manage USB Type-C connection . It includes some low level commands for manipulating voltages, capacitors and resistors as well as some high level commands that let you have SINK, SINKAS, SOURCE and DRP state machines, described in Type-C specification, with the facilities to customize different behaviors and characteristics. Note that at the present, Type-C state machines are just followed when related commands are running. In other words, Type-C state machines are not followed in parallel to other Power Delivery commands execution.
3.1 PD_SetResistorRp
Sets resistor Rp On/Off.
Format
Call PD_SetResistorRp( state, current, line )
Parameters
state
Possible values: PD_ON, PD_OFF
current
Possible values:
CC_RP_CUR_DEFAULT CC_RP_CUR_1_5 CC_RP_CUR_3_0
line
Possible values:
CC_LINE_1 CC_LINE_2 CC_LINE_ALL
Examples
Call PD_SetResistorRP( PD_ON, CC_RP_CUR_1_5, CC_LINE_2 )
3.2 PD_SetResistorRd
Sets resistor Rd On/Off.
Format
Call PD_SetResistorRd( state, line )
Parameters
state
Possible values: PD_ON
PD_OFF
line
Possible values:
CC_LINE_1 CC_LINE_2
Page 34
34
CC_LINE_ALL
Examples
Call PD_SetResistorRd( PD_ON, CC_LINE_1 )
3.3 PD_SetResistorRa
Sets resistor Ra On/Off.
Format
Call PD_SetResistorRa( state, line )
Parameters
state
Possible values:
PD_ON PD_OFF
line
Possible values:
CC_LINE_1 CC_LINE_2 CC_LINE_ALL
Examples
Call PD_SetResistorRa( PD_ON, CC_LINE_2 )
3.4 PD_SetVBusCap10MicroFarad
Sets the VBus Capacitor(10 Micro Farad) On/Off.
Format
Call PD_SetVBusCap10MicroFarad( state )
Parameters
state
Possible values:
PD_ON PD_OFF
Examples
Call PD_SetVBusCap10MicroFarad( PD_ON )
3.5 PD_SetVBusCap1MicroFarad
Sets the VBus Capacitor(1 Micro Farad) On/Off.
Format
Call PD_SetVBusCap1MicroFarad( state )
Parameters
state
Possible values:
PD_ON
Page 35
PD_OFF
Examples
Call PD_SetVBusCap1MicroFarad( PD_ON )
3.6 PD_SetVBus
Sets VBus On/Off.
Format
Call PD_SetVBus( state, voltage_milli_volt )
Parameters
state
Possible values:
PD_ON PD_OFF
voltage_milli_volt
The voltage which applied on VBus. Voltage should be in range of 5000 to 20500 mV. In order to apply voltages greater than 5V, the corresponding check box should be set in recording options.
Examples
Call PD_SetVBus( PD_ON, 5000 )
3.7 PD_SetVConn
Sets VConn On/Off.
Format
Call PD_SetVConn( state )
Parameters
state
Possible values:
PD_ON PD_OFF
Examples
Call PD_SetVConn( PD_ON )
3.8 PD_SetLoadOnVBus
Enables/Disables load on VBus.
Format
Call PD_SetLoadOnVBus( state )
Parameters
state
Possible values:
PD_ON PD_OFF
35
Page 36
Page 37
Page 38
Page 39
Page 40
4 Basic Commands
Field Name
Description
OrderedSetType
Defines Ordered set type. Possible values:
PD_ORDERED_SET_TYPE_SOP(default) PD_ORDERED_SET_TYPE_SOP_PRIME PD_ORDERED_SET_TYPE_SOP_DOUBLE_PRIME PD_ORDERED_SET_TYPE_HARDRESET PD_ORDERED_SET_TYPE_CABLERESET
WaitForGoodCrc
If the command should wait for peer GoodCrc message. Possible values:
PD_TRUE(default) PD_FALSE
ResetOnError
Send Soft Reset if relative GoodCrc has not been received, in case of sending SoftReset failure, HardReset will be sent. Possible values:
PD_TRUE(default) PD_FALSE
RetryCount
Indicates the Retry Count. Default: PD_DEFAULT_RETRY_COUNT_REV_2(Rev2.0 only) Default: PD_DEFAULT_RETRY_COUNT_REV_3(Rev3.0)
RetryDelayTime
Delay time between two consecutive retries. Default: 0
AutoMessageId
To increase MessageId automatically. Possible values:
PD_TRUE(default) PD_FALSE
Value
Description
PD_RESULT_OK
Command succeeded
PD_RESULT_FAILED
Command failed
PD_SUBRESULT_NO_GOODCRC
Subresult - No GoodCRC received for sent packet
PD_SUBRESULT_HARDRESET
Subresult - HardReset occurred.
PD_SUBRESULT_SOFTRESET
Subresult - SoftReset occurred.
4.1 PD_SendPacket
Sends the data payload towards the device. You can customize its behavior using provided settings.
Format
Call PD_SendPacket(PD_Packet $send_packet, PD_SendPacketSettings $settings)
Parameters
$send_packet
Defines the payload. Refer to Packet Templates for available packet templates.
$settings
Settings for sending packet. It should be inherited from PD_SendPacketSettings template. Table below shows PD_SendPacketSettings structure in detail:
Result
User can evaluate the command results(including sub-results) using IfMatched/ElseMatched command.
Examples
#send a discover identity command #################################
$send_setting = PD_SendPacketSettings {
# could be PD_ORDERED_SET_TYPE_SOP_PRIME for cables
OrderedSetType = PD_ORDERED_SET_TYPE_SOP
}
40
Page 41
Page 42
Page 43
Page 44
Page 45
Page 46
46
None
Result
None
Examples
Call PD_SendHardReset()
4.7 PD_SendCableReset
Sends Cable Reset and resets all the cable related states in protocol layer.
Format
Call PD_SendCableReset()
Parameters
None
Result
None
Examples
Call PD_SendCableReset()
4.8 PD_Delay
Delays Exerciser execution for specified time.
Format
Call PD_Delay( delay_value )
Parameters
delay_value
Delay in micro seconds.
Result
None
Examples
#calling PD_Delay
Call PD_Delay(15000)
4.9 PD_SetRoles
Sets data role and power role of Exerciser.
Format
Call PD_SetRoles( DataRole, PowerRole )
Parameters
Page 47
Page 48
Page 49
Page 50
1st_operand
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.
Operator
Description
PD_COMPARE_EQUAL
Equal
PD_COMPARE_GREATER
Greater than
PD_COMPARE_LESS
Less than
PD_COMPARE_NOT_EQUAL
Not equal
1st operand should be in one of the following formats:
$PdGlobalSettings.<field_name> $PdResult.<field_name> $<packet_variable>.<field_name>
List of $PdResult fields:
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:
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 )
50
Page 51
51
#check for result
IfMatched( $PdResult.Result, PD_RESULT_OK, PD_COMPARE_EQUAL ) { Call PD_ReceivePacket( $receive_settings ) } ElseMatched( $PdResult.Result, PD_RESULT_FAILED, PD_COMPARE_EQUAL ) { Call PD_SendHardReset() } ElseMatched { $ping_msg = PD_PingMessage Call PD_SendPacket( $ping_msg, $send_setting ) } IfMatchedEnd
4.12 PD_Loop
Using this command you can create a loop containing other Exerciser commands.
Note - The limit for using nested PD_Loop() commands is 8.
Format
PD_Loop(count)
{
#command list
}
Parameters
count
Loop count
Result
None
Examples
$send_setting = PD_SendPacketSettings { OrderedSetType = PD_ORDERED_SET_TYPE_SOP } $ping_msg = PD_PingMessage
PD_Loop(3) { call PD_SendPacket( $ping_msg, $send_setting ) }
4.13 PD_TimerLoop
Using this command you can create a loop(containing other Exerciser commands) which is bound to a predefined timer. On timer timeout, the loop will exit.
Note - The limit for using nested PD_TimerLoop() commands is 8.
Format
PD_TimerLoop(timeout)
{
#command list
}
Parameters
Page 52
52
timeout
Loop duration in Micro Seconds.
Result
None
Examples
$send_setting = PD_SendPacketSettings { OrderedSetType = PD_ORDERED_SET_TYPE_SOP } $ping_msg = PD_PingMessage
# Sending Ping message for 200ms
PD_TimerLoop(200000) { call PD_SendPacket( $ping_msg, $send_setting ) }
4.14 PD_BreakLoop
Breaks the PD_Loop and PD_TimerLoop commands.
Format
PD_BreakLoop()
Parameters
None
Result
None
Examples
$send_setting = PD_SendPacketSettings { OrderedSetType = PD_ORDERED_SET_TYPE_SOP }
PD_Loop(3) { PD_Loop(2) { $accept_msg = PD_AcceptMessage call PD_SendPacket( $accept_msg, $send_setting ) }
$ping_msg = PD_PingMessage call PD_SendPacket( $ping_msg, $send_setting )
IfMatched( $PdResult.Result, PD_RESULT_OK, PD_COMPARE_EQUAL ) { PD_BreakLoop() } IfMatchedEnd }
4.15 PD_ContinueLoop
Continue command for PD_Loop and PD_TimerLoop comamnds.
Format
PD_ContinueLoop()
Page 53
53
Parameters
None
Result
None
Examples
$send_setting = PD_SendPacketSettings { OrderedSetType = PD_ORDERED_SET_TYPE_SOP }
PD_Loop(3) { $ping_msg = PD_PingMessage call PD_SendPacket( $ping_msg, $send_setting )
IfMatched( $PdResult.Result, PD_RESULT_OK, PD_COMPARE_EQUAL ) { PD_ContinueLoop() } IfMatchedEnd
Call PD_SendSoftReset( PD_ORDERED_SET_TYPE_SOP ) }
4.16 PD_Stop
Stops the Exerciser.
Format
Call PD_Stop( return_value )
Parameters
return_value
Value returned to Exerciser.
Result
None
Examples
Call PD_Stop(0)
4.17 PD_Disconnect
Simulates cable detach.
Format
Call PD_Disconnect()
Parameters
None
Result
None
Examples
Page 54
54
Call PD_Disconnect()
4.18 PD_ResumeUSB2Exerciser
Resumes USB2 Exerciser execution. Not intended or supported for Customer Use.
Format
Call PD_ResumeUSB2Exerciser()
Parameters
None
Result
None
Examples
Call PD_ResumeUSB2Exerciser()
4.19 PD_ReportUSB3TermStatus
Reports USB3 TermStatus. Not intended or supported for Customer Use.
Format
Call PD_ReportUSB3TermStatus()
Parameters
None
Result
None
Examples
Call PD_ReportUSB3TermStatus()
4.20 PD_IncreaseMsgId
Increase Message ID(Exerciser mode: DFP/UFP).
Format
Call PD_IncreaseMsgId(OrderedSetType)
Parameters
OrderedSetType
Indicates the OrderedSet type. Possible values:
PD_ORDERED_SET_TYPE_SOP PD_ORDERED_SET_TYPE_SOP_PRIME PD_ORDERED_SET_TYPE_SOP_DOUBLE_PRIME
Result
None
Page 55
55
Examples
Call PD_IncreaseMsgId(PD_ORDERED_SET_TYPE_SOP)
4.21 PD_DecreaseMsgId
Decrease Message ID(Exerciser mode: DFP/UFP).
Format
Call PD_DecreaseMsgId(OrderedSetType)
Parameters
OrderedSetType
Indicates the OrderedSet type. Possible values:
PD_ORDERED_SET_TYPE_SOP PD_ORDERED_SET_TYPE_SOP_PRIME PD_ORDERED_SET_TYPE_SOP_DOUBLE_PRIME
Result
None
Examples
Call PD_DecreaseMsgId(PD_ORDERED_SET_TYPE_SOP)
4.22 PD_IncreaseMsgId_Cable
Increase Message ID(Exerciser mode: Cable Emulator).
Format
Call PD_IncreaseMsgId_Cable(OrderedSetType)
Parameters
OrderedSetType
Indicates the OrderedSet type. Possible values:
PD_ORDERED_SET_TYPE_SOP_PRIME PD_ORDERED_SET_TYPE_SOP_DOUBLE_PRIME
Result
None
Examples
Call PD_IncreaseMsgId_Cable(PD_ORDERED_SET_TYPE_SOP_PRIME)
4.23 PD_DecreaseMsgId_Cable
Decrease Message ID(Exerciser mode: Cable Emulator).
Format
Call PD_DecreaseMsgId_Cable(OrderedSetType)
Parameters
Page 56
56
OrderedSetType
Indicates the OrderedSet type. Possible values:
PD_ORDERED_SET_TYPE_SOP_PRIME PD_ORDERED_SET_TYPE_SOP_DOUBLE_PRIME
Result
None
Examples
Call PD_DecreaseMsgId_Cable(PD_ORDERED_SET_TYPE_SOP_PRIME)
Page 57
Page 58
Page 59
Result
Result Value
Description
PD_RESULT_OK
Command succeeded
PD_RESULT_FAILED
Command failed. In this case corresponding sub results for PD_SendPacket and PD_ReceivePacket are valid also (depends on the error type which has been occurred during sending or receiving data).
PD_SUBRESULT_REQUEST_MSG_INVALID_INDEX
Subresult - Invalid index in request message
PD_SUBRESULT_RESPONSE_WAIT
Subresult - Wait has been sent as request message response
PD_SUBRESULT_RESPONSE_REJECT
Subresult - Reject has been sent as request message response
None
Examples
local $power_data_object = PD_PowerDataObjectFixedSupply_Source {
MaxCurrent_10mAUnits = 20
Voltage_50mVUnits = 250 } call PD_AddSourceCap($power_data_object)
5.1.4 PD_ResetSourceCaps
Clears all Source Capabilities defined in PD Exerciser. Should be called before adding one or more source capabilities.
Format
Call PD_ResetSourceCaps()
Parameters
None
Result
None
Examples
call PD_ResetSourceCaps()
5.1.5 PD_NegotiatePower_Source
This command tries to establish an explicit contract as Source.
Format
Call PD_NegotiatePower_Source()
Parameters
None
Result
User can evaluate the command results(including sub-results) using IfMatched/ElseMatched command. List of result values:
59
Page 60
Page 61
61
Possible values:
PD_FALSE, PD_TRUE(default)
Result
None
Examples
#Set sink negotiation settings as default
$settings = PD_Negotiation_Sink_Settings call PD_SetNegotiationSetting_Sink( $settings )
5.1.7 PD_AddSinkCap
Adds Sink Capabilities to PD Exerciser. Before adding a group of sink caps make sure that there is no unwanted sink cap in the list by calling PD_ResetSinkCaps command. This command must be called before PD_NegotiatePower_Sink or PD_NegotiatePower or
PD_WaitForNegotiatePower or PD_DelayAutoResponse commands to take effect.
Note - By default there is one pre-defined sink cap in the list.
Format
Call PD_AddSinkCap(PD_PowerDataObject $PowerDataObject)
Parameters
$PowerDataObject
Parameter type is PD_PowerDataObject. Refer to PD_SinkCapabilitiesMessage for available sink power data objects.
Result
None
Examples
local $power_data_object = PD_PowerDataObjectFixedSupply_Sink { OperationalCurrent_10mAUnits = 50 Voltage_50mVUnits = 100 } call PD_AddSinkCap($power_data_object)
5.1.8 PD_ResetSinkCaps
Clears all Sink Capabilities defined for PD Exercise. Should be called before adding one or more sink capabilities.
Format
Call PD_ResetSinkCaps()
Parameters
None
Result
None
Page 62
Page 63
Page 64
Page 65
Examples
Result Value
Description
PD_RESULT_OK
Command succeeded
PD_RESULT_FAILED
Command failed. In this case corresponding sub results for PD_SendPacket and PD_ReceivePacket are valid also (depends on the error type which has been occurred during sending or receiving data).
PD_SUBRESULT_RESPONSE_WAIT
Subresult - Wait has been sent as response
PD_SUBRESULT_RESPONSE_REJECT
Subresult - Reject has been sent as response
PD_SUBRESULT_MSG_NOT_RECEIVED
Subresult - PR_Swap message not received or PS_RDY message not received(PD Exerciser as Sink)
PD_SUBRESULT_RESPONSE_NOT_SUPPORTED
Rev3.0 only. Subresult - Not_Supported has been sent as response
call PD_SwapPowerRole()
5.1.14 PD_WaitForSwapPowerRole
Waits to receive PR_Swap message and will respond to incoming messages as part of the Swap Power Role AMS.
Format
Call PD_WaitForSwapPowerRole()
Parameters
None
Result
User can evaluate the command results(including sub-results) using IfMatched/ElseMatched command. List of result values:
Examples
call PD_WaitForSwapPowerRole()
5.1.15 PD_FastRoleSwap
Sends the FastRoleSwap Signal and handles Fast Role Swap AMS.
Note- Received FastRoleSwap Signal will handle by FastRoleSwap event handler automatically.
Format
Call PD_FastRoleSwap()
Parameters
None
Result
User can evaluate the command results(including sub-results) using IfMatched/ElseMatched command. List of result values:
65
Page 66
Page 67
Page 68
Page 69
Page 70
Page 71
Format
Result Value
Description
PD_RESULT_OK
Command succeeded
PD_RESULT_FAILED
Command failed. In this case corresponding sub results for PD_SendPacket and PD_ReceivePacket are valid also (depends on the error type which has been occurred during sending or receiving data).
PD_SUBRESULT_MSG_NOT_RECEIVED
Subresult - GotoMin or PS_RDY message not received.
PD_SUBRESULT_RESPONSE_NOT_SUPPORTED
Rev3.0 only. Subresult - Not_Supported has been sent as response
Field Name
Description
WaitTimeout
Wait time-out(micro second) for receiving GetSourceCap message. Default: PD_DEFAULT_TIMEOUT_INFINIT
ResponseType
Indicates the response type upon receiving GetSourceCap message. Possible values:
PD_RESPONSE_UNSPECIFIED(default), PD_RESPONSE_NOT_SUPPORTED
Call PD_WaitForGotoMin()
Parameters
None
Result
User can evaluate the command results(including sub-results) using IfMatched/ElseMatched command. List of result values:
Examples
call PD_WaitForGotoMin()
5.1.25 PD_SetGetSourceCapSetting
Applies settings to GetSourceCap related commands in PD Exerciser. It must be called before PD_WaitForGetSourceCapabilities or PD_DelayAutoResponse to take effect.
Format
Call PD_SetGetSourceCapSetting( PD_GetCapability_Settings $settings )
Parameters
$settings
Setting type is PD_GetCapability_Settings. Available fields of this type are:
Result
None
Examples
$getsrccap_setting = PD_GetCapability_Settings {
ResponseType = PD_RESPONSE_NOT_SUPPORTED } Call PD_SetGetSourceCapSetting( $getsrccap_setting )
71
Page 72
Page 73
Page 74
Page 75
Page 76
Page 77
Page 78
5.1.37 PD_ResetSrcCapExtDataBlock
Result Value
Description
PD_RESULT_OK
Command succeeded
PD_RESULT_FAILED
Command failed. In this case corresponding sub results for PD_SendPacket and PD_ReceivePacket are valid also (depends on the error type which has been occurred during sending or receiving data).
PD_SUBRESULT_RESPONSE_TIMEOUT
Subresult - No response received.
PD_SUBRESULT_RESPONSE_NOT_SUPPORTED
Subresult - Not_Supported message received.
Clears the source capabilities extended Data Block in PD Exerciser. Should be called before calling PD_SetSrcCapExtDataBlock.
Format
Call PD_ResetSrcCapExtDataBlock()
Parameters
None
Result
None
Examples
Call PD_ResetSrcCapExtDataBlock()
5.1.38 PD_GetStatus
Starts the GetStatus AMS.
Format
Call PD_GetStatus()
Parameters
None
Result
User can evaluate the command results(including sub-results) using IfMatched/ElseMatched command. List of result values:
Examples
Call PD_GetStatus()
5.1.39 PD_SetGetStatusSetting
Applies settings to GetStatus related commands in PD Exerciser. It must be called before
PD_WaitForGetStatus or PD_DelayAutoResponse commands to take effect.
Format
Call PD_SetGetStatusSetting( PD_GetStatus_Settings $settings )
78
Page 79
Page 80
80
5.1.41 PD_SetStatusDataBlock
Sets the Status Data Block in PD Exerciser. It must be called before PD_WaitForGetStatus or
PD_DelayAutoResponse commands to take effect.
Format
Call PD_SetStatusDataBlock( PD_StatusDataBlock $status_db )
Parameters
$status_db
Parameter type is PD_StatusDataBlock. Refer to PD_StatusMsg for available fields.
Result
None
Examples
$status_db = PD_StatusDataBlock Call PD_SetStatusDataBlock( $status_db )
5.1.42 PD_ResetStatusDataBlock
Clears the Status Data Block in PD Exerciser. Should be called before calling
PD_SetStatusDataBlock command.
Format
Call PD_ResetStatusDataBlock()
Parameters
None
Result
None
Examples
Call PD_ResetStatusDataBlock()
5.1.43 PD_GetBatteryStatus
Starts the GetBatteryStatus AMS.
Format
Call PD_GetBatteryStatus()
Parameters
None
Result
User can evaluate the command results(including sub-results) using IfMatched/ElseMatched command. List of result values:
Page 81
Page 82
Page 83
Page 84
Page 85
Page 86
Page 87
Result
Result Value
Description
PD_RESULT_OK
Command succeeded
PD_RESULT_FAILED
Command failed. In this case corresponding sub results for PD_SendPacket and PD_ReceivePacket are valid also (depends on the error type which has been occurred during sending or receiving data).
PD_SUBRESULT_MSG_NOT_RECEIVED
Subresult - Get_Battery_Cap not received.
PD_SUBRESULT_RESPONSE_NOT_SUPPORTED
Subresult - Not_Supported message sent as response.
User can evaluate the command results(including sub-results) using IfMatched/ElseMatched command. List of result values:
Examples
Call PD_WaitForGetBatteryCap()
5.1.57 PD_SetBatteryCapDataBlock
Sets the BatteryCap Data Block in PD Exerciser. It must be called before
PD_WaitForGetBatteryCap or PD_DelayAutoResponse to take effect.
Format
Call PD_SetBatteryCapDataBlock( PD_BatteryCapDataBlock $battery_cap_db )
Parameters
$battery_cap_db
Parameter type is PD_BatteryCapDataBlock. Refer to PD_BatteryCapabilitiesMsg for available fields of this type.
Result
None
Examples
$battery_cap_db = PD_BatteryCapDataBlock Call PD_SetBatteryCapDataBlock( $battery_cap_db )
5.1.58 PD_ResetBatteryCapDataBlock
Clears the BatteryCap Data Block in PD Exerciser. Should be called before calling
PD_SetBatteryCapDataBlock command.
Format
Call PD_ResetBatteryCapDataBlock()
Parameters
None
Result
None
Examples
87
Page 88
Page 89
Page 90
Call PD_WaitForGetManufacturerInfo()
Field Names
Description
WaitTimeout
Wait TimeOut(in micro seconds) to receive SecurityRequest message. Default: PD_DEFAULT_TIMEOUT_INFINIT
5.1.63 PD_SetManufacturerInfoDataBlock
Sets ManufacurerInfo Data Block in PD Exerciser. It must be called before
PD_WaitForGetManufacturerInfo or PD_DelayAutoResponse commands to take effect.
Format
Call PD_SetManufacturerInfoDataBlock( PD_ManufacturerInfoDataBlock $manufacturer_info_db )
Parameters
$manufacturer_info_db
Parameter type is PD_ManufacturerInfoDataBlock. Refer to PD_ManufacturerInfoMsg for available fields of this type.
Result
None
Examples
$manufacturer_info_db = PD_ManufacturerInfoDataBlock Call PD_SetManufacturerInfoDataBlock( $manufacturer_info_db )
5.1.64 PD_SetSecurityRequestSetting
Applies setting to SecurityRequest related commands in PD Exerciser. It must be called before PD_WaitForSecurityRequest or PD_DelayAutoResponse to take effect.
Format
Call PD_SetSecurityRequestSetting( PD_SecurityRequest_Settings $settings )
Parameters
$settings
Parameter type is PD_SecurityRequest_Settings. Available fields for this type are:
Result
None
Examples
$secreq_settings = PD_SecurityRequest_Settings {
WaitTimeout = 50000 } Call PD_SetSecurityRequestSetting( $secreq_settings )
5.1.65 PD_SecurityRequest
Starts the SecurityRequest AMS.
90
Page 91
Page 92
Page 93
Page 94
Page 95
Page 96
96
5.1.75 PD_AddSvid
Adds SVIDs to PD Exerciser. It must be called before PD_DiscoverSvids or
PD_WaitForDiscoverSvids or PD_PerformDiscoveryProcess or PD_DelayAutoResponse commands to
take effect.
Note - Up to 11 SVIDs can be added using this command.
Format
Call PD_AddSvid(value)
Parameters
value
SVID value to add
Result
None
Examples
call PD_AddSvid(0xFF01)
5.1.76 PD_ResetSvids
Clears SVIDs which is added to PD Exerciser. Should be called before adding one or more SVID.
Format
Call PD_ResetSvids()
Parameters
None
Result
None
Examples
call PD_ResetSvids()
5.1.77 PD_DiscoverSvids
Starts DiscoverSVID AMS.
Note - PD Exerciser supports only one(first) DiscoverSVIDs Ack message.
Format
Call PD_DiscoverSvids(OrderedSetType)
Parameters
OrderedSetType
Page 97
Page 98
Page 99
99
5.1.81 PD_AddModeVDO
Adds Mode with VDO in PD Exerciser. It must be called before PD_DiscoverModes or
PD_WaitForDiscoverModes or PD_PerformDiscoveryProcess or PD_DelayAutoResponse commands to
take effect.
Format
Call PD_AddModeVDO(PD_Generic_VDO $ModeVdo)
Parameters
$ModeVdo
Parameter type is PD_Generic_VDO. Refer to PD_VDM_Discover_Modes_Response for available VDOs which can be use as this parameter.
Result
None
Examples
local $vdo_1 = PD_VDO { Data = 0x01 } call PD_AddModeVDO($vdo_1)
5.1.82 PD_ResetModes
Clears Modes which are added to PD Exerciser. Could be called before adding one or more Mode.
Format
Call PD_ResetModes()
Parameters
None
Result
None
Examples
call PD_ResetModes()
5.1.83 PD_DiscoverModes
Starts DicoverModes AMS.
Format
Call PD_DiscoverModes(OrderedSetType, selectedSvid)
Parameters
OrderedSetType
possible values:
PD_ORDERED_SET_TYPE_SOP
Page 100
Loading...