embassy-stm32

Crates

git

Versions

stm32u595aj

Flavors

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

Auto Trait Implementations§

§

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> !UnwindSafe for Mdf<'d, T, F>

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.