embassy-stm32

Crates

git

Versions

stm32u5f9zj

Flavors

Skip to main content

Mdf

Struct Mdf 

Source
pub struct Mdf<'d, T: Instance, F: Filter> { /* private fields */ }
Expand description

Ring-buffered MDF driver for one digital filter.

Implementations§

Source§

impl<'d, T: Instance, F: Filter> Mdf<'d, T, F>

Source

pub fn new<D>( peri: Peri<'d, T>, irq: impl Binding<F::Interrupt, FilterInterruptHandler<T, F>> + Binding<D::Interrupt, InterruptHandler<D>> + 'd, config: Config, cck: Peri<'d, impl CckPin<T>>, sdi: Peri<'d, impl SdiPin<T>>, dma: Peri<'d, D>, dma_buf: &'d mut [u32], ) -> Self
where D: RxDma<T, F>, F: FilterInterrupt,

Create a new MDF instance for filter F.

cck drives the PDM bit clock and sdi receives the PDM data stream for the serial interface with the same index as the filter.

Source

pub fn start(&mut self)

Start filter acquisition and DMA.

Source

pub async fn read_raw(&mut self, words: &mut [u32]) -> Result<(), Error>

Read raw 32-bit DMA words from the filter output ring buffer.

Source

pub fn kernel_clock_hz(&self) -> u32

Return the kernel clock frequency in Hz.

Trait Implementations§

Source§

impl<'d, T: Instance, F: Filter> Drop for Mdf<'d, T, F>

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

fn pin_drop(self: Pin<&mut Self>)

🔬This is a nightly-only experimental API. (pin_ergonomics)
Execute the destructor for this type, but different to Drop::drop, it requires self to be pinned. Read more

Auto Trait Implementations§

§

impl<'d, T, F> !UnwindSafe for Mdf<'d, T, F>

§

impl<'d, T, F> Freeze for Mdf<'d, T, F>
where T: Freeze,

§

impl<'d, T, F> RefUnwindSafe for Mdf<'d, T, F>

§

impl<'d, T, F> Send for Mdf<'d, T, F>
where T: Send, F: Send,

§

impl<'d, T, F> Sync for Mdf<'d, T, F>
where T: Sync, F: Sync,

§

impl<'d, T, F> Unpin for Mdf<'d, T, F>
where T: Unpin, F: Unpin,

§

impl<'d, T, F> UnsafeUnpin for Mdf<'d, T, F>
where T: UnsafeUnpin,

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> 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.