pub trait Channel: Sized {
fn select_target<T: Target<Self>>(&self, _: &mut Handle, target: &T);
fn set_peripheral_address(&self, _: &mut Handle, address: u32);
fn set_memory_address(&self, _: &mut Handle, address: u32);
fn set_transfer_len(&self, _: &mut Handle, len: u16);
fn configure<Word>(
&self,
_: &mut Handle,
priority: PL_A,
dir: DIR_A,
circular: bool
)
where
Word: SupportedWordSize;
fn enable_interrupts(&self, interrupts: Interrupts);
fn start(&self);
fn is_active(&self) -> bool;
fn clear_complete_flag(&self);
fn error_occured(&self) -> bool;
fn transfer_state(&self) -> (u16, bool, bool);
fn clear_flags(&self);
}