Skip to main content

ChannelConfig

Struct ChannelConfig 

Source
#[non_exhaustive]
pub struct ChannelConfig { /* private fields */ }
Expand description

Sigma-delta channel configuration.

The hardware stores the prescaler and pulse density in the same register, so applying a complete channel configuration can update both fields with a single register write.

Implementations§

Source§

impl ChannelConfig

Source

pub fn with_pulse_density(self, pulse_density: i8) -> Self

Assign the given value to the pulse_density field.

Source

pub fn pulse_density(&self) -> i8

Pulse density in the hardware range -128..=127.

Source§

impl ChannelConfig

Source

pub const fn new() -> Self

Creates a new channel configuration with the default prescaler and pulse density.

Source

pub fn with_frequency(self, frequency: Rate) -> Result<Self, Error>

Sets the requested output frequency.

Selects the prescaler that produces the closest output frequency using the currently configured SDM clock source.

§Errors

Returns Error::UnreachableTargetFrequency when no hardware prescaler can represent the requested frequency.

Source

pub fn with_prescaler(self, prescaler: u16) -> Result<Self, Error>

Sets the hardware prescaler.

The hardware divider range is 1..=256.

§Errors

Returns Error::PrescalerOutOfRange when prescaler is not in 1..=256.

Source

pub const fn with_duty(self, duty: u8) -> Self

Sets duty cycle. 0 maps to the minimum density and 255 maps to the maximum density.

Trait Implementations§

Source§

impl Clone for ChannelConfig

Available on crate feature unstable only.
Source§

fn clone(&self) -> ChannelConfig

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 Debug for ChannelConfig

Available on crate feature unstable only.
Source§

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

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

impl Default for ChannelConfig

Available on crate feature unstable only.
Source§

fn default() -> ChannelConfig

Returns the “default value” for a type. Read more
Source§

impl PartialEq for ChannelConfig

Available on crate feature unstable only.
Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable)§

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 ChannelConfig

Available on crate feature unstable only.
Source§

impl Eq for ChannelConfig

Available on crate feature unstable only.
Source§

impl StructuralPartialEq for ChannelConfig

Available on crate feature unstable only.

Auto Trait Implementations§

§

impl Freeze for ChannelConfig

§

impl RefUnwindSafe for ChannelConfig

§

impl Send for ChannelConfig

§

impl Sync for ChannelConfig

§

impl Unpin for ChannelConfig

§

impl UnsafeUnpin for ChannelConfig

§

impl UnwindSafe for ChannelConfig

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 = Infallible

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

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

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.