#[non_exhaustive]pub struct UpdateFlags {
pub status_update: bool,
pub ced_update: bool,
pub rr_test: bool,
pub source_test_update: bool,
pub frl_start: bool,
pub flt_update: bool,
pub rsed_update: bool,
}Expand description
Decoded content of Update_0 (0x10).
Flags are set by the sink to notify the source of state changes. The source reads them
with Scdc::read_update_flags and clears the ones it
has handled with Scdc::clear_update_flags
(write-1-to-clear), which takes a ClearableUpdateFlags: every flag but RR_Test.
clearable gives the flags just read in that form. Update_1
(0x11) defines no fields and is not accessed. The default has no flag set.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.status_update: boolBit 0: general status has changed.
ced_update: boolBit 1: CED counters have been updated; re-read the ERR_DET registers.
rr_test: boolBit 2: read request test, owned by the sink. The source does not clear it, so
ClearableUpdateFlags has no field for it.
source_test_update: boolBit 3: the sink has written Source_Test_Configuration (0x35).
frl_start: boolBit 4: link training passed; the source may start FRL transmission.
flt_update: boolBit 5: the per-lane link training pattern requests have changed.
rsed_update: boolBit 6: the Reed-Solomon correction count has been updated.
Implementations§
Source§impl UpdateFlags
impl UpdateFlags
Sourcepub const fn new(
status_update: bool,
ced_update: bool,
rr_test: bool,
source_test_update: bool,
frl_start: bool,
flt_update: bool,
rsed_update: bool,
) -> UpdateFlags
pub const fn new( status_update: bool, ced_update: bool, rr_test: bool, source_test_update: bool, frl_start: bool, flt_update: bool, rsed_update: bool, ) -> UpdateFlags
Constructs UpdateFlags from the Update_0 flags, in bit order.
Sourcepub const fn clearable(self) -> ClearableUpdateFlags
pub const fn clearable(self) -> ClearableUpdateFlags
These flags as a clear: every flag but RR_Test, which the source does not clear.
scdc.clear_update_flags(flags.clearable()) acknowledges every flag just read.
Trait Implementations§
Source§impl Clone for UpdateFlags
impl Clone for UpdateFlags
Source§fn clone(&self) -> UpdateFlags
fn clone(&self) -> UpdateFlags
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more