ClockConfig

Struct ClockConfig 

Source
pub struct ClockConfig {
    pub div: u16,
}
Expand description

Clock configuration structure.

Fields§

§div: u16

Divisor value.

Implementations§

Source§

impl ClockConfig

Source

pub fn new(div: u16) -> Self

New clock config with the given divisor.

Source

pub fn div_msb(&self) -> u8

MSB part of the divisor.

Source

pub fn div_lsb(&self) -> u8

LSB part of the divisor.

Source

pub fn new_autocalc_with_error( clk_in: HertzU32, baudrate: u32, ) -> Result<(Self, f32), ClockConfigError>

This function calculates the required divisor values for a given input clock and baudrate as well as an baud error rate.

Source

pub fn new_autocalc( clk_in: HertzU32, baudrate: u32, ) -> Result<Self, ClockConfigError>

This function calculates the required divisor values for a given input clock and baudrate.

The function will not calculate the error rate. You can use Self::calculate_error_rate to check the error rate, or use the Self::new_autocalc_with_error function to get both the clock config and its baud error.

Source

pub fn calculate_error_rate( &self, clk_in: HertzU32, baudrate: u32, ) -> Result<f32, DivisorZeroError>

Calculate the error rate of the baudrate with the given clock frequency, baudrate and the current clock config as a floating point value between 0.0 and 1.0.

Source

pub const fn calc_div_with_integer_div( clk_in: HertzU32, baudrate: u32, ) -> Result<u32, DivisorZeroError>

Calculate the divisor from an input clock for a give target baudrate.

Trait Implementations§

Source§

impl Clone for ClockConfig

Source§

fn clone(&self) -> ClockConfig

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for ClockConfig

Source§

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

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

impl PartialEq for ClockConfig

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for ClockConfig

Source§

impl Eq for ClockConfig

Source§

impl StructuralPartialEq for ClockConfig

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

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

Source§

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
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

Source§

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

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

Source§

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

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

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

Performs the conversion.