Skip to main content

Crate culvert_async

Crate culvert_async 

Source
Expand description

Async typed access to the HDMI 2.1 SCDC (Status and Control Data Channel) register map.

culvert-async is the async companion to culvert: culvert::Scdc’s methods as async fns over an hdmi_hal_async::scdc::ScdcTransport. The register map is culvert’s culvert::codec; this crate only performs the reads and writes, so the sync and async clients always agree.

All register types and error types are re-exported from culvert so that callers do not need to depend on both crates, and the transport trait and its Send twin from hdmi-hal-async. culvert’s I/O-free encoders and decoders, culvert::codec, are not re-exported: code that needs them depends on culvert.

§Features

  • plumbob-async — implements plumbob_async::ScdcClient for Scdc<T>, connecting culvert-async to the async FRL link training state machine.

Structs§

CedCount
A 15-bit character error count decoded from an ERR_DET register pair.
CedCounters
Per-lane character error counts decoded from ERR_DET registers (0x50–0x55 for lanes 0–2, 0x57–0x58 for lane 3).
ClearableUpdateFlags
The Update_0 flags a source may clear: every flag but RR_Test (bit 2).
Config0
Content written to Config_0 (0x30).
FfeLevels
FFE (Feed-Forward Equalization) levels written into Config_1 bits[7:4]: the highest TxFFE level index the source supports for the requested rate.
FrlConfig
Configuration written to Config_1 (0x31). Build one with new.
LtpRequests
Per-lane link training pattern requests from Status_Flags_1 (0x41) and Status_Flags_2 (0x42).
RsCorrectionCount
A 15-bit Reed-Solomon correction count decoded from RS_Correction_L/H (0x59/0x5A).
Scdc
Async typed client for the HDMI 2.1 SCDC (Status and Control Data Channel) register map.
ScramblerStatus
Decoded content of Scrambler_Status (0x21).
SourceTestConfig
Decoded content of Source_Test_Configuration (0x35).
StatusFlags
Decoded content of Status_Flags_0 (0x40).
TmdsConfig
Configuration written to TMDS_Config (0x20).
UpdateFlags
Decoded content of Update_0 (0x10).

Enums§

FrlRate
Maximum Fixed Rate Link (FRL) bandwidth supported by a HDMI 2.1 sink.
LtpReq
Link Training Pattern requested by the sink for one lane: a 4-bit field in Status_Flags_1 (0x41, lanes 0–1) or Status_Flags_2 (0x42, lanes 2–3).
ProtocolError
What culvert refuses because it would violate the SCDC protocol.
ScdcError
Errors returned by Scdc register operations.

Traits§

ScdcTransport
The async transport Scdc<T> is generic over, re-exported from hdmi-hal-async. Async raw register access to the SCDC register map over DDC/I²C.
SendScdcTransport
The transport’s Send twin, re-exported from hdmi-hal-async: bound generic code by it to spawn work through Scdc<T> on a multi-threaded executor. ScdcTransport with Send futures, for code that spawns link training on a multi-threaded executor.