# UniTAP.dev.ports.modules.edid.edid

class Edid:

Main class for working with EDID. Allows reading and saving EDID. This functionality is used by child classes `EdidSource` and `EdidSink`. You cannot use a class `Edid` object directly.

Edid( port_io: UniTAP.libs.lib_tsi.tsi_io.PortIO, control_ci: int, max_stream_count: int, select_stream_ci: int)
def read_i2c(self) -> bytearray:

Allows reading from DUT `EdidSource` or TE `EdidSink` side EDID block(s) over connecting signal cable.

###### Returns:

> object of bytearray

def save_edid( self, path: str, file_type: UniTAP.dev.ports.modules.edid.edid_utils.EdidFileType, data: bytearray):

Save received EDID data into file. Supported formats:

- BIN.
- HEX.

###### Arguments:

- path (str) - full path to file
- file_type (`EdidFileType`) - one of the Supported formats.
- data (bytearray) - EDID data for saving

def read_timings(self) -> List[ UniTAP.common.timing.Timing ]:
class EdidSource(Edid):

Class `EdidSource` inherited from class `Edid`. Allows read EDID from remote devices `read_sbm`, save received EDID data to file `save_edid` and read EDID from DUT `read_i2c`

EdidSource(port_io: UniTAP.libs.lib_tsi.tsi_io.PortIO, max_stream_count: int)
def read_sbm(self, stream: int):

Allows reading remote EDID block(s) of remote device(s) attached to DUT over connecting signal cable. stream = 0 - UCD local EDID stream > 0 - Virtual Sink's EDID

###### Arguments:

- stream (int) - Virtual Sink index.

##### Inherited Members

Edid
  read_i2c
  save_edid
  read_timings

class EdidSink(Edid):

Class `EdidSink` inherited from class `Edid`. Allows writing EDID to device `write_edid`, load EDID data from file `load_edid`, save received EDID data to file `save_edid` and read EDID from TE `read_i2c`.

EdidSink(port_io: UniTAP.libs.lib_tsi.tsi_io.PortIO, max_stream_count: int)
def write_edid(self, data: bytearray, stream: int = 0):

Write transferred EDID to device.

###### Arguments:

- data (bytearray) - EDID data for writing
- stream (int) - Virtual Sink's EDID index

def load_edid(self, path: str, load_on_device: bool, stream: int = 0) -> bytearray:

Read EDID data from file. If needed to write data to device, select load_on_device = True. Supported formats:

- BIN.
- HEX.

###### Arguments:

- path (str) - full path to file.
- load_on_device (bool) - write loaded data to device or not.
- stream (int) - Virtual Sink's EDID index

###### Returns:

> object of bytearray

def read_sbm(self, stream: int):

Allows reading remote EDID block(s) of remote device(s) attached to DUT over connecting signal cable. stream = 0 - UCD local EDID stream > 0 - Virtual Sink's EDID

###### Arguments:

- stream (int) - Virtual Sink index.

##### Inherited Members

Edid
  read_i2c
  save_edid
  read_timings

class DisplayIdSource(Edid):

Class `DisplayIdSource` inherited from class `Edid`. Allows read DisplayId from remote devices `read_sbm`, save received DisplayId data to file `save_edid` and read DisplayId from DUT `read_i2c`

DisplayIdSource(port_io: UniTAP.libs.lib_tsi.tsi_io.PortIO, max_stream_count: int)
def read_sbm(self, stream: int):

Allows reading remote DisplayId block(s) of remote device(s) attached to DUT over connecting signal cable. stream = 0 - UCD local EDID stream > 0 - Virtual Sink's EDID

###### Arguments:

- stream (int) - Virtual Sink index.

def set_display_id_mode( self, mode: UniTAP.dev.ports.modules.edid.edid_types.DisplayIDReadMode ):

Set DisplayID read mode

###### Arguments:

- mode (`DisplayIDReadMode`)

def get_display_id_mode(self) -> UniTAP.dev.ports.modules.edid.edid_types.DisplayIDReadMode:

Returns DisplayID read mode.

###### Returns:

> object of `DisplayIDReadMode` type.

##### Inherited Members

Edid
  read_i2c
  save_edid
  read_timings

class DisplayIdSink(Edid):

Class `DisplayIdSink` inherited from class `Edid`. Allows writing DisplayId to device `write_display_id`, load DisplayId data from file `load_display_id`, save received DisplayId data to file `save_edid` and read DisplayId from TE `read_i2c`.

DisplayIdSink(port_io: UniTAP.libs.lib_tsi.tsi_io.PortIO, max_stream_count: int)
def is_enabled(self) -> bool:

Returns status of DisplayId, is enabled or not.

###### Returns:

> object of `bool` type.

def enable(self, enable: bool):

Enable/Disable DisplayId.

###### Arguments:

- enable (bool) - enable (True) or disable (False)

def write_display_id(self, data: bytearray):

Write transferred EDID to device.

###### Arguments:

- data (bytearray) - EDID data for writing

def load_display_id(self, path: str, load_on_device: bool) -> bytearray:

Read EDID data from file. If needed to write data to device, select load_on_device = True. Supported formats:

- BIN.
- HEX.

###### Arguments:

- path (str) - full path to file.
- load_on_device (bool) - write loaded data to device or not.

###### Returns:

> object of bytearray

##### Inherited Members

Edid
  read_i2c
  save_edid
  read_timings