class DisplayData – Display Data
The DisplayData class provides access to display data channels (CEC/DDC) for an
attached DisplayPort/HDMI display.
Constructors
- class display.DisplayData(*, cec: bool = False, ddc: bool = False, ddc_addr: int = 0x50)
cecset toTrueto enable CEC communication with an external display.ddcset toTrueto enable DDC communication with an external display.ddc_addrI2C address of the external display EEPROM.- display_id() bytes
Returns the external display EDID data as a
bytesobject. EDID headers and checksums are verified and all sections are concatenated into a singlebytesobject. RaisesOSErroron failure.
- send_frame(dst_addr: int, src_addr: int, data: bytes) None
Sends a CEC frame to
dst_addrfromsrc_addrcontainingdata. RaisesOSErroron failure.
- receive_frame(dst_addr: int, *, timeout: int = 1000) tuple[int, bytes]
Waits up to
timeoutmilliseconds for a CEC frame addressed todst_addr. Returns a tuple of(src_addr, data). RaisesOSErroron timeout or failure.
- frame_callback(callback: Callable[[int, bytes], None] | None, dst_addr: int) None
Registers
callbackto be called when a CEC frame addressed todst_addris received. The callback is invoked with two arguments: the source address as anintand the frame payload as abytesobject.Pass
Noneascallbackto disable reception. While a callback is registered, do not callDisplayData.receive_frame().