Skip to main content

I2sParallel

Struct I2sParallel 

Source
pub struct I2sParallel<'d, Dm>
where Dm: DriverMode,
{ /* private fields */ }
Available on crate feature unstable only.
Expand description

I2S parallel interface

§Stability

This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

Implementations§

Source§

impl<'d> I2sParallel<'d, Blocking>

Source

pub fn into_async(self) -> I2sParallel<'d, Async>

Converts the I2S parallel instance into Async mode.

Source

pub fn set_interrupt_handler(&mut self, handler: InterruptHandler)

Sets the interrupt handler for the I2S parallel peripheral.

The new handler removes the old handler. This method does not turn on the interrupt sources. Use Self::listen to turn on interrupt sources.

§Stability

This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

Source

pub fn listen(&mut self, interrupts: impl Into<EnumSet<I2sParallelInterrupt>>)

Turns on the given interrupt sources.

§Stability

This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

Source

pub fn unlisten(&mut self, interrupts: impl Into<EnumSet<I2sParallelInterrupt>>)

Turns off the given interrupt sources.

§Stability

This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

Source

pub fn interrupts(&mut self) -> EnumSet<I2sParallelInterrupt>

Returns the interrupt sources that are set.

§Stability

This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

Source

pub fn clear_interrupts( &mut self, interrupts: impl Into<EnumSet<I2sParallelInterrupt>>, )

Clears the interrupt flags of the given interrupt sources.

§Stability

This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

Source§

impl<'d> I2sParallel<'d, Async>

Source

pub fn into_blocking(self) -> I2sParallel<'d, Blocking>

Converts the I2S parallel instance into Blocking mode.

Source§

impl<'d, Dm> I2sParallel<'d, Dm>
where Dm: DriverMode,

Source

pub fn send<BUF: DmaTxBuffer>( self, data: BUF, ) -> Result<I2sParallelTransfer<'d, BUF, Dm>, (DmaError, Self, BUF)>

Starts a DMA transfer that writes the buffer to the I2S parallel interface and returns an I2sParallelTransfer that can be used to wait for the transfer to complete.

§Errors

Returns a DmaError when the buffer cannot be prepared for the transfer or the transfer cannot be started. On error, the driver and the buffer are returned together with the error.

Source§

impl<'d> I2sParallel<'d, Blocking>

Source

pub fn new<I: Instance + 'd>( i2s: I, channel: impl I2sParallelDmaChannel<'d, I>, frequency: Rate, pins: impl TxPins<'d>, clock_pin: impl PeripheralOutput<'d>, ) -> Self

Creates a new I2sParallel instance.

§Panics

Panics if the DMA channel is not compatible with the I2S instance.

Trait Implementations§

Source§

impl InterruptConfigurable for I2sParallel<'_, Blocking>

§Stability

This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

Source§

fn set_interrupt_handler(&mut self, handler: InterruptHandler)

Registers an interrupt handler for the peripheral on the current core. Read more

Auto Trait Implementations§

§

impl<'d, Dm> !UnwindSafe for I2sParallel<'d, Dm>

§

impl<'d, Dm> Freeze for I2sParallel<'d, Dm>

§

impl<'d, Dm> RefUnwindSafe for I2sParallel<'d, Dm>
where Dm: RefUnwindSafe,

§

impl<'d, Dm> Send for I2sParallel<'d, Dm>
where Dm: Send,

§

impl<'d, Dm> Sync for I2sParallel<'d, Dm>
where Dm: Sync,

§

impl<'d, Dm> Unpin for I2sParallel<'d, Dm>
where Dm: Unpin,

§

impl<'d, Dm> UnsafeUnpin for I2sParallel<'d, Dm>

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