# UniTAP.dev.modules.dut_tests.dut_default_params.usbc_electrical_tests

class UsbcElTestDutCaps(UniTAP.dev.modules.dut_tests.test_group_params_types.Param):

Class `UsbcElTestDutCaps` describes DUT capabilities flags and allows settings values.

- DUT Support DisplayPort Alternate mode `support_dp_alt_mode`.
- DUT can act as a power source `can_act_power_source`
- DUT can act as a power sink `cab_act_power_sink`.
- DUT does not support PD Contract `not_support_pd_contract`.

UsbcElTestDutCaps(json_obj)
support_dp_alt_mode

Set and get DUT Support DisplayPort Alternate mode flag support.

###### Returns:

> object bool

can_act_power_source

Set and get DUT can act as a power source flag support.

###### Returns:

> object bool

cab_act_power_sink

Set and get DUT can act as a power sink flag support.

###### Returns:

> object bool

not_support_pd_contract

Set and get DUT does not support PD Contract flag support.

###### Returns:

> object bool

##### Inherited Members

UniTAP.dev.modules.dut_tests.test_group_params_types.Param
  clear
  direct_set_def_value
  default_value
  min_value
  max_value
  config_id
  config_id_name
  name
  value_type
  enumeration_variants
  bit_field_list
  data_length

class UsbcElectricalTestParam:

Class `DpElectricalTestParam` describes parameters for DP electrical tests.

- Test timeout, in milliseconds `timeout`.
- Defines DUT capabilities `dut_caps` type `UsbcElTestDutCaps`.
- Defines the time period for USB Type-C re-plug simulation 'disconnected' state `re_plug_time`.
- Defines the time period that the TE will wait for DUT to complete power contract negotiation `attach_timeout`.
- Defines Power Contract timeout, in milliseconds `pwr_contract_timeout`.
- Defines the low limit for the voltage window when power sink current is 0.5A or 0.9A `cc_low_voltage_1`.
- Defines the high limit for the voltage window when power sink current is 0.5A or 0.9A `cc_high_voltage_1`.
- Defines the low limit for the voltage window when power sink current is 1.5A `cc_low_voltage_2`.
- Defines the high limit for the voltage window when power sink current is 1.5A `cc_high_voltage_2`.
- Defines the low limit for the voltage window when power sink current is 3.0A `cc_low_voltage_3`.
- Defines the high limit for the voltage window when power sink current is 3.0A `cc_high_voltage_3`.
- Defines the low limit for the Vcon voltage window `vconn_low_voltage`.
- Defines the high limit for the Vcon voltage window `vconn_high_voltage`.
- Defines the timeout the TE will wait for the DUT to enter into DisplayPort alternate mode `dp_alt_mode_timeout`.
- Defines the low voltage limit for the positive DP AUX line when idle `aux_positive_idle_low_voltage`.
- Defines the high voltage limit for the positive DP AUX line when idle `aux_positive_idle_high_voltage`.
- Defines the low voltage limit for the negative DP AUX line when idle `aux_negative_idle_low_voltage`.
- Defines the high voltage limit for the negative DP AUX line when idle `aux_negative_idle_high_voltage`.
- Defines the low limit for Vbus voltage window. The limit is defined in millivolts (mV) `vbus_low_voltage`.
- Defines the high limit for Vbus voltage window. The limit is defined in millivolts (mV) `vbus_high_voltage`.
- Defines the highest allowed deviation between maximum and minimum currents measured from the individual Vbus pins as per-mill (‰) of total measured current. This means that if the total measured current is 3000mA, and the setting 100, the maximum difference that is allowed between maximum and minimum currents is 300mA `vbus_current_max`.
- Defines the highest allowed deviation between maximum and minimum currents measured from the individual GND pins as per-mill (‰) of total measured current `gnd_current_max`.
- Defines delay from end of power contract negotiation to voltage / current measurements `power_measure_delay`.
- Defines the minimum current, in mA, that a Power Sink DUT must use in order to pass the test `min_dut_current`.
- Delay after load resistor on, milliseconds. This helps to skip transient processes `resistor_on_delay`.
- Delay for measure CC lines voltage after DUT plug detection, milliseconds `cc_measure_delay`.

UsbcElectricalTestParam(json_obj)
timeout: int

Set and get test timeout, in milliseconds.

###### Returns:

> object of int type

dut_caps: UsbcElTestDutCaps

Set and get USB-C DUT caps.

###### Returns:

> object of `UsbcElTestDutCaps` type

pwr_contract_timeout: int

Set and get power contract timeout.

###### Returns:

> object of int type

cc_low_voltage_1: int

Set and get low limit for the voltage window when power sink current is 0.5A or 0.9A.

###### Returns:

> object of int type

cc_high_voltage_1: int

Set and get high limit for the voltage window when power sink current is 0.5A or 0.9A.

###### Returns:

> object of int type

cc_low_voltage_2: int

Set and get low limit for the voltage window when power sink current is 1.5A.

###### Returns:

> object of int type

cc_high_voltage_2: int

Set and get high limit for the voltage window when power sink current is 1.5A.

###### Returns:

> object of int type

cc_low_voltage_3: int

Set and get low limit for the voltage window when power sink current is 3.0A.

###### Returns:

> object of int type

cc_high_voltage_3

Set and get high limit for the voltage window when power sink current is 3.0A.

###### Returns:

> object of int type

vconn_low_voltage: int

Set and get low limit for the Vcon voltage window.

###### Returns:

> object of int type

vconn_high_voltage: int

Set and get high limit for the Vcon voltage window.

###### Returns:

> object of int type

dp_alt_mode_timeout: int

Set and get DP alt mode timeout.

###### Returns:

> object of int type

aux_positive_idle_low_voltage: int

Set and get low voltage limit for the positive DP AUX.

###### Returns:

> object of int type

aux_positive_idle_high_voltage: int

Set and get high voltage limit for the positive DP AUX.

###### Returns:

> object of int type

aux_negative_idle_low_voltage: int

Set and get low voltage limit for the negative DP AUX.

###### Returns:

> object of int type

aux_negative_idle_high_voltage: int

Set and get high voltage limit for the negative DP AUX.

###### Returns:

> object of int type

vbus_low_voltage: int

Set and get low limit for Vbus voltage window.

###### Returns:

> object of int type

vbus_high_voltage: int

Set and get high limit for Vbus voltage window.

###### Returns:

> object of int type

vbus_current_max: int

Set and get the highest allowed deviation of current VBUS.

###### Returns:

> object of int type

gnd_current_max: int

Set and get the highest allowed deviation of current GND.

###### Returns:

> object of int type

power_measure_delay: int

Set and get delay from end of power contract negotiation to voltage / current measurements.

###### Returns:

> object of int type

min_dut_current: int

Set and get the minimum current.

###### Returns:

> object of int type

resistor_on_delay: int

Set and get delay after load resistor.

###### Returns:

> object of int type

cc_measure_delay: int

Set and get delay for measure CC lines voltage after DUT plug detection.

###### Returns:

> object of int type