# UniTAP.dev.ports.modules.pdc.pdo

class Pdo:

Class `Pdo` describes power delivery object in PDC module. Contains information about side of PDO `PdoSide` and main PDO data. May have one of the available type `PdoType`: `FixedPdoSink`, `FixedPdoSource`, `BatteryPdo`, `VariablePdo`.

- Get PDO type `pdo_type`, type of `PdoTypeEnum`.
- Get PDO side `pdo_side`, type of `PdoSide`.
- Set and get main PDO object `pdo_object`, type of `PdoType`.
- Get pdo object as selected PDO type `PdoType` `get_pdo_as_selected_type`, type of `PdoType`.
- Convert (interpret) from one PDO type to another `interpret_pdo_as_selected_type`.

Pdo(pdo: ~PdoType, side: UniTAP.dev.ports.modules.pdc.pdo_types.PdoSide)
pdo_type: UniTAP.dev.ports.modules.pdc.pdo_types.PdoTypeEnum

Returns current PDO type.

###### Returns:

> object of `PdoTypeEnum` type

pdo_side: UniTAP.dev.ports.modules.pdc.pdo_types.PdoSide

Returns current PDO side.

###### Returns:

> object of `PdoSide` type

pdo_object: ~PdoType

Returns current PDO object.

###### Returns:

> object of `PdoType` type

def disable_pdo(self):

Disable PDO. Will be filled with zeros.

def get_pdo_as_selected_type(self, pdo: Type[~PdoType]) -> ~PdoType:

Returns PDO object as selected new PDO type.

###### Arguments:

- pdo (`PdoType`) - type of PDO

###### Returns:

> object of `PdoType` type

def interpret_pdo_as_selected_type(self, pdo: Type[~PdoType]):

Convert (interpret) from one PDO type to another.

###### Arguments:

- pdo (`PdoType`) - type of PDO