Skip to main content

Timing

Struct Timing 

Source
pub struct Timing {
    pub baud_rate_prescaler: u8,
    pub propagation_segment: u8,
    pub phase_segment_1: u8,
    pub phase_segment_2: u8,
    pub sync_jump_width: u8,
}
Available on crate feature unstable only.
Expand description

Bit timing parameters for one phase (nominal or data).

Fields§

§baud_rate_prescaler: u8

Bit rate prescaler. Divides the function clock to produce the time quantum.

§propagation_segment: u8

Propagation segment, in time quanta.

§phase_segment_1: u8

Phase segment 1, in time quanta.

§phase_segment_2: u8

Phase segment 2, in time quanta.

§sync_jump_width: u8

Synchronization jump width, in time quanta.

Implementations§

Source§

impl Timing

Source

pub const fn is_valid(&self, limits: &TimingLimits) -> bool

Returns whether every parameter fits the given limits.

Also checks the two constraints of TRM 38.3.7.7, which are expressed in system clock periods and therefore include the prescaler.

Source

pub const fn total_quanta(&self) -> u32

Returns the total bit time in time quanta, including the sync segment.

Source

pub const fn bit_rate(&self, clock_hz: u32) -> u32

Returns the bit rate in bits per second for a given function clock.

Source

pub const fn sample_point_permille(&self) -> u32

Returns the sample point in per mille of the bit time.

Trait Implementations§

Source§

impl Clone for Timing

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable)§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for Timing

Source§

impl Debug for Timing

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for Timing

Source§

impl Hash for Timing

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given [Hasher]. Read more
1.3.0§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given [Hasher]. Read more
Source§

impl PartialEq for Timing

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable)§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Timing

Auto Trait Implementations§

§

impl Freeze for Timing

§

impl RefUnwindSafe for Timing

§

impl Send for Timing

§

impl Sync for Timing

§

impl Unpin for Timing

§

impl UnsafeUnpin for Timing

§

impl UnwindSafe for Timing

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CloneToUninit for T
where T: Clone,

§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = !

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.