GRL-USB-PD-C2/C2-EPR API 1.1.9
GRL-USB-PD-C2/C2-EPR API Documentation
Loading...
Searching...
No Matches
GrlPdLib.VendorDefinedMessage Class Reference

Public Member Functions

List< uint > GetByteData ()
 Get Byte data.
 
byte[] GetRawData_InBytes ()
 
bool ClearDataObjects ()
 Clears Data Object.
 
 VendorDefinedMessage ()
 Constructor.
 
bool AddUnstructuredVDM (uint Vendor_ID, uint Vendor_Use, bool VDM_Type=false)
 Allows to set Unstructured VDM.
 
bool AddStructuredVDMHeader (uint Command, uint Command_Type, uint Object_Position, uint VDM_Version, uint SVID, uint VDM_Type=1)
 Allows to set Structed VDM.
 
bool AddID_HeaderVDO (uint USB_VID, uint ProductType_DPF, uint ProductType_UPF, bool ModalOprSup=false, bool USBCommCap_USBDev=false, bool USBCommCap_USBHost=false)
 Allows to set ID Header VDO.
 
bool AddCertStatVDO (uint XID)
 Allows to set Cert Stt VDO.
 
bool AddProductVDO (uint bcdDevice, uint USB_ProductID)
 Allows to Product VDO.
 
bool Passive_Cable_VDO (uint USB_SS_SIGNALING, uint VBUS_CURRENT_CAP, uint MAX_VBUS_VOLT, uint Cable_Term_Type, uint Cable_Latency, uint USBTypeCPlug_to_USBTypeCCaptive, uint VDO_Version, uint Firmware_Version, uint HW_Version, uint EPRModeCapable=0)
 
bool Active_Cable_VDO1 (uint USB_SS_SIGNALING, uint VBUS_CURRENT_CAP, uint MAX_VBUS_VOLT, uint Cable_Term_Type, uint Cable_Latency, uint Connector_Type, uint VDO_Version, uint Firmware_Version, uint HW_Version, bool SOP_Controller_Present=false, bool VBUS_Through_Cable=false, bool SBU_Type=false, bool SBU_Supported=false)
 
bool Active_Cable_VDO2 (uint SS_SIGNALING, uint USB2_0_HubHopsConsumed, uint U3_Power, uint Shutdown_Temp, uint Max_Operating_Temp, bool SS_Lanes_Supported=false, bool SS_Supported=false, bool USB_2_0_Supported=false, bool U3_to_U0_Transition_Mode=false)
 
bool AMA_VDO (uint USB_SS_SIGNALING, uint VCONN_Power, uint VDO_Version, uint Firmware_Version, uint HW_Version, bool VBUS_Required=false, bool VCONN_Required=false)
 
bool VPD_VDO (uint Gnd_Impedance, uint VBUS_Impedance, uint Max_VBUS_Voltage, uint VDO_Version, uint Firmware_Version, uint HW_Version, bool Chagre_Through_Support=false)
 
bool Discover_SVID_Responder_VDO (uint SVID_n_plus_1, uint SVID_n)
 Add required SVID values into Discover SVID response message configuration.
 
bool Discover_Mode_Responder_VDO (uint SVIDValue, uint ModeValue)
 Add required SVID values into Discover SVID response message configuration.
 
void AddPdoRawData (uint data)
 This API allows user to add custom VDO data into payload.
 
List< KeyValuePair< string, string > > PDMessageHeaderNameValuePair (PDMessage pdoMessage)
 
void PDMessagePDONameValuePair (PDMessage pdoMessage)
 

Public Attributes

List< KeyValuePair< string, string > > Header = new List<KeyValuePair<string, string>>()
 
List< Dictionary< string, string > > PDO = new List<Dictionary<string, string>>()
 

Constructor & Destructor Documentation

◆ VendorDefinedMessage()

GrlPdLib.VendorDefinedMessage.VendorDefinedMessage ( )

Constructor.

Member Function Documentation

◆ Active_Cable_VDO1()

bool GrlPdLib.VendorDefinedMessage.Active_Cable_VDO1 ( uint USB_SS_SIGNALING,
uint VBUS_CURRENT_CAP,
uint MAX_VBUS_VOLT,
uint Cable_Term_Type,
uint Cable_Latency,
uint Connector_Type,
uint VDO_Version,
uint Firmware_Version,
uint HW_Version,
bool SOP_Controller_Present = false,
bool VBUS_Through_Cable = false,
bool SBU_Type = false,
bool SBU_Supported = false )
Parameters
USB_SS_SIGNALING
VBUS_CURRENT_CAP
MAX_VBUS_VOLT
Cable_Term_Type
Cable_Latency
Connector_Type
VDO_Version
Firmware_Version
HW_Version
SOP_Controller_Present
VBUS_Through_Cable
SBU_Type
SBU_Supported
Returns

◆ Active_Cable_VDO2()

bool GrlPdLib.VendorDefinedMessage.Active_Cable_VDO2 ( uint SS_SIGNALING,
uint USB2_0_HubHopsConsumed,
uint U3_Power,
uint Shutdown_Temp,
uint Max_Operating_Temp,
bool SS_Lanes_Supported = false,
bool SS_Supported = false,
bool USB_2_0_Supported = false,
bool U3_to_U0_Transition_Mode = false )
Parameters
SS_SIGNALING
USB2_0_HubHopsConsumed
U3_Power
Shutdown_Temp
Max_Operating_Temp
SS_Lanes_Supported
SS_Supported
USB_2_0_Supported
U3_to_U0_Transition_Mode
Returns

◆ AddCertStatVDO()

bool GrlPdLib.VendorDefinedMessage.AddCertStatVDO ( uint XID)

Allows to set Cert Stt VDO.

Parameters
XIDXID assigned by USBIF.
Returns
onsuccess returns true.

◆ AddID_HeaderVDO()

bool GrlPdLib.VendorDefinedMessage.AddID_HeaderVDO ( uint USB_VID,
uint ProductType_DPF,
uint ProductType_UPF,
bool ModalOprSup = false,
bool USBCommCap_USBDev = false,
bool USBCommCap_USBHost = false )

Allows to set ID Header VDO.

Parameters
USB_VIDUSB Vendor ID.
ProductType_DPFProduct Type DPF. 0 – Undefined 1 – PDUSB Hub 2 – PDUSB Host 3 – Power Brick 4 - Alternate Mode Controller(AMC)
ProductType_UPFProduct Type UPF. 0 – Undefined 1 – PDUSB Hub 2 – PDUSB Peripheral 3… – PSD 5 – Alternate Mode Adapter(AMA)

Product Type (Cable Plug): 0 – Undefined 1…2 – Reserved, Shall NotShall Not be used. 3 – Passive Cable 4 – Active Cable

Parameters
ModalOprSupModal Operation Support. To be set 1 if it supports Modal Operation Support else zero.
USBCommCap_USBDevUSB Communication Capable USB Device. To be set one if product can enumerate as device else zero.
USBCommCap_USBHostUSB Communication Capable USB Host. To be set one if product can enumerate as Host else zero.
Returns
On Success Returns true.

◆ AddPdoRawData()

void GrlPdLib.VendorDefinedMessage.AddPdoRawData ( uint data)

This API allows user to add custom VDO data into payload.

Parameters
data

◆ AddProductVDO()

bool GrlPdLib.VendorDefinedMessage.AddProductVDO ( uint bcdDevice,
uint USB_ProductID )

Allows to Product VDO.

Parameters
bcdDeviceDevice Version Number relevent to the release.
USB_ProductIDUSB Product ID.
Returns
on success returns true.

◆ AddStructuredVDMHeader()

bool GrlPdLib.VendorDefinedMessage.AddStructuredVDMHeader ( uint Command,
uint Command_Type,
uint Object_Position,
uint VDM_Version,
uint SVID,
uint VDM_Type = 1 )

Allows to set Structed VDM.

Parameters
CommandCommands being used. 0 = Reserved, Shall NotShall Not be used 1 = Discover Identity 2 = Discover SVIDs 3 = Discover Modes 4 = Enter Mode 5 = Exit Mode 6 = Attention 16…31 = SVID Specific Commands
Command_TypeType of Command. 00b = REQ (Request from Initiator Port) 01b = ACK(Acknowledge Response from Responder Port) 10b = NAK(Negative Acknowledge Response fromResponder Port) 11b = BUSY(Busy Response from Responder Port)
Object_PositionFor the Enter Mode, Exit Mode and Attention Commands.
Struc_VDM_VerStructured VDM Version. Version Number of the Structured VDM . Version 1.0 = 00b Version 2.0 = 01b Reserved = 10b and 11b
SVIDUnique 16-bit unsigned integer (0xFF01 for Displayport alternate mode)
VDM_Type1 = Structured VDM. 0 = UnStructured VDM.
Returns
On Success Returns True.

◆ AddUnstructuredVDM()

bool GrlPdLib.VendorDefinedMessage.AddUnstructuredVDM ( uint Vendor_ID,
uint Vendor_Use,
bool VDM_Type = false )

Allows to set Unstructured VDM.

Parameters
Vendor_IDVendor ID.
Vendor_UseVendor Use.
VDM_TypeVDM Type.
Returns
On success returns true.

◆ AMA_VDO()

bool GrlPdLib.VendorDefinedMessage.AMA_VDO ( uint USB_SS_SIGNALING,
uint VCONN_Power,
uint VDO_Version,
uint Firmware_Version,
uint HW_Version,
bool VBUS_Required = false,
bool VCONN_Required = false )
Parameters
USB_SS_SIGNALING
VCONN_Power
VDO_Version
Firmware_Version
HW_Version
VBUS_Required
VCONN_Required
Returns

◆ ClearDataObjects()

bool GrlPdLib.VendorDefinedMessage.ClearDataObjects ( )

Clears Data Object.

Returns
returns true.

◆ Discover_Mode_Responder_VDO()

bool GrlPdLib.VendorDefinedMessage.Discover_Mode_Responder_VDO ( uint SVIDValue,
uint ModeValue )

Add required SVID values into Discover SVID response message configuration.

Parameters
SVID_n_plus_1
SVID_n
Returns

◆ Discover_SVID_Responder_VDO()

bool GrlPdLib.VendorDefinedMessage.Discover_SVID_Responder_VDO ( uint SVID_n_plus_1,
uint SVID_n )

Add required SVID values into Discover SVID response message configuration.

Parameters
SVID_n_plus_1
SVID_n
Returns

◆ GetByteData()

List< uint > GrlPdLib.VendorDefinedMessage.GetByteData ( )

Get Byte data.

Returns
returns the PDO Payload along with buffer.

◆ Passive_Cable_VDO()

bool GrlPdLib.VendorDefinedMessage.Passive_Cable_VDO ( uint USB_SS_SIGNALING,
uint VBUS_CURRENT_CAP,
uint MAX_VBUS_VOLT,
uint Cable_Term_Type,
uint Cable_Latency,
uint USBTypeCPlug_to_USBTypeCCaptive,
uint VDO_Version,
uint Firmware_Version,
uint HW_Version,
uint EPRModeCapable = 0 )
Parameters
USB_SS_SIGNALING
VBUS_CURRENT_CAP00b = Reserved 01b = 3A 10b = 5A 11b = Reserved
MAX_VBUS_VOLT
Cable_Term_Type
Cable_Latency
EPRModeCapable0b – Cable is not EPR Mode Capable 1b = Cable is EPR Mode Capable
USBTypeCPlug_to_USBTypeCCaptive
VDO_Version
Firmware_Version
HW_Version
Returns

◆ VPD_VDO()

bool GrlPdLib.VendorDefinedMessage.VPD_VDO ( uint Gnd_Impedance,
uint VBUS_Impedance,
uint Max_VBUS_Voltage,
uint VDO_Version,
uint Firmware_Version,
uint HW_Version,
bool Chagre_Through_Support = false )
Parameters
Gnd_Impedance
VBUS_Impedance
Max_VBUS_Voltage
VDO_Version
Firmware_Version
HW_Version
Chagre_Through_Support
Returns