pub struct Adf<'d, T: Instance> { /* private fields */ }Expand description
Ring-buffered ADF driver.
Implementations§
Source§impl<'d, T: Instance> Adf<'d, T>
impl<'d, T: Instance> Adf<'d, T>
Sourcepub fn new<D>(
peri: Peri<'d, T>,
irq: impl Binding<T::Interrupt, InterruptHandler<T>> + 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
pub fn new<D>( peri: Peri<'d, T>, irq: impl Binding<T::Interrupt, InterruptHandler<T>> + 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
Create a new ADF instance configured for PDM capture on filter 0.
cck drives the PDM bit clock and sdi receives the PDM data stream.
Sourcepub async fn read_raw(&mut self, words: &mut [u32]) -> Result<(), Error>
pub async fn read_raw(&mut self, words: &mut [u32]) -> Result<(), Error>
Read raw 32-bit DMA words from the filter output ring buffer.
Sourcepub fn kernel_clock_hz(&self) -> u32
pub fn kernel_clock_hz(&self) -> u32
Return the kernel clock frequency in Hz.
Trait Implementations§
Auto Trait Implementations§
impl<'d, T> Freeze for Adf<'d, T>where
T: Freeze,
impl<'d, T> RefUnwindSafe for Adf<'d, T>where
T: RefUnwindSafe,
impl<'d, T> Send for Adf<'d, T>where
T: Send,
impl<'d, T> Sync for Adf<'d, T>where
T: Sync,
impl<'d, T> Unpin for Adf<'d, T>where
T: Unpin,
impl<'d, T> !UnwindSafe for Adf<'d, T>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more