StreamISR

Trait StreamISR 

Source
pub trait StreamISR:
    ClearFlags<Flag = DmaFlag>
    + ReadFlags<Flag = DmaFlag>
    + Sealed {
    // Provided methods
    fn clear_transfer_complete(&mut self) { ... }
    fn clear_half_transfer(&mut self) { ... }
    fn clear_transfer_error(&mut self) { ... }
    fn clear_direct_mode_error(&mut self) { ... }
    fn clear_fifo_error(&mut self) { ... }
    fn is_transfer_complete(&self) -> bool { ... }
    fn is_half_transfer(&self) -> bool { ... }
    fn is_transfer_error(&self) -> bool { ... }
    fn is_direct_mode_error(&self) -> bool { ... }
    fn is_fifo_error(&self) -> bool { ... }
}
Expand description

Trait for DMA stream interrupt handling.

Provided Methods§

Source

fn clear_transfer_complete(&mut self)

Clear transfer complete interrupt (tcif) for the DMA stream.

Source

fn clear_half_transfer(&mut self)

Clear half transfer interrupt flag (htif) for the DMA stream.

Source

fn clear_transfer_error(&mut self)

Clear transfer error interrupt flag (teif) for the DMA stream.

Source

fn clear_direct_mode_error(&mut self)

Clear direct mode error interrupt flag (dmeif) for the DMA stream.

Source

fn clear_fifo_error(&mut self)

Clear fifo error interrupt flag (feif) for the DMA stream.

Source

fn is_transfer_complete(&self) -> bool

Get transfer complete flag.

Source

fn is_half_transfer(&self) -> bool

Get half transfer flag.

Source

fn is_transfer_error(&self) -> bool

Get transfer error flag

Source

fn is_direct_mode_error(&self) -> bool

Get direct mode error flag

Source

fn is_fifo_error(&self) -> bool

Get fifo error flag

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<I: Instance> StreamISR for StreamX<I, 0>

Source§

impl<I: Instance> StreamISR for StreamX<I, 1>

Source§

impl<I: Instance> StreamISR for StreamX<I, 2>

Source§

impl<I: Instance> StreamISR for StreamX<I, 3>

Source§

impl<I: Instance> StreamISR for StreamX<I, 4>

Source§

impl<I: Instance> StreamISR for StreamX<I, 5>

Source§

impl<I: Instance> StreamISR for StreamX<I, 6>

Source§

impl<I: Instance> StreamISR for StreamX<I, 7>

Source§

impl<STREAM, const CHANNEL: u8, PERIPHERAL, DIR, BUF> StreamISR for Transfer<STREAM, CHANNEL, PERIPHERAL, DIR, BUF>
where STREAM: Stream, ChannelX<CHANNEL>: Channel, DIR: Direction, PERIPHERAL: PeriAddress + DMASet<STREAM, CHANNEL, DIR>,