pub struct Eic<'a> { /* private fields */ }
Implementations§
Source§impl<'a> Eic<'a>
impl<'a> Eic<'a>
pub const fn new() -> Eic<'a>
Sourcepub fn set_client(&self, client: &'a dyn Client, line: &Line)
pub fn set_client(&self, client: &'a dyn Client, line: &Line)
Registers a client associated with a line.
Sourcepub fn handle_interrupt(&self, line: &Line)
pub fn handle_interrupt(&self, line: &Line)
Executes client function when an interrupt is triggered.
Sourcepub fn line_is_enabled(&self, line: &Line) -> bool
pub fn line_is_enabled(&self, line: &Line) -> bool
Returns true is a line is enabled. This doesn’t mean the interrupt is being propagated through. Developers can use this function for testing.
Sourcepub fn line_interrupt_is_enabled(&self, line: &Line) -> bool
pub fn line_interrupt_is_enabled(&self, line: &Line) -> bool
Returns true if interrupt is being propagated from EIC to the interrupt controller of the external interrupt on a specific line, false otherwise. Developers can use this function for testing.
Sourcepub fn line_interrupt_pending(&self, line: &Line) -> bool
pub fn line_interrupt_pending(&self, line: &Line) -> bool
Returns true if a line’s interrupt is pending, false otherwise. Developers can use this function for testing.
Sourcepub fn line_enable_filter_is_enabled(&self, line: &Line) -> bool
pub fn line_enable_filter_is_enabled(&self, line: &Line) -> bool
Returns true if a line is in filter mode, false otherwise.
Sourcepub fn line_asyn_is_enabled(&self, line: &Line) -> bool
pub fn line_asyn_is_enabled(&self, line: &Line) -> bool
Returns true if a line is in asynchronous mode, false otherwise
Trait Implementations§
Source§impl ExternalInterruptController for Eic<'_>
impl ExternalInterruptController for Eic<'_>
Source§type Line = Line
type Line = Line
The chip-dependent type of an EIC line. Number of lines available depends on the chip.
Source§fn line_enable(&self, line: &Self::Line, interrupt_mode: InterruptMode)
fn line_enable(&self, line: &Self::Line, interrupt_mode: InterruptMode)
Enables external interrupt on the given ‘line’
In asynchronous mode, all edge interrupts will be
interpreted as level interrupts and the filter is disabled.
Source§fn line_disable(&self, line: &Self::Line)
fn line_disable(&self, line: &Self::Line)
Disables external interrupt on the given ‘line’
Source§impl PeripheralManagement<Clock> for Eic<'_>
impl PeripheralManagement<Clock> for Eic<'_>
type RegisterType = EicRegisters
Source§fn get_registers(&self) -> &EicRegisters
fn get_registers(&self) -> &EicRegisters
How to get a reference to the physical hardware registers (the MMIO
struct).
Source§fn before_peripheral_access(&self, clock: &Clock, _: &EicRegisters)
fn before_peripheral_access(&self, clock: &Clock, _: &EicRegisters)
Called before peripheral access. Read more
Source§fn after_peripheral_access(&self, clock: &Clock, registers: &EicRegisters)
fn after_peripheral_access(&self, clock: &Clock, registers: &EicRegisters)
Called after peripheral access. Read more
Auto Trait Implementations§
impl<'a> !Freeze for Eic<'a>
impl<'a> !RefUnwindSafe for Eic<'a>
impl<'a> !Send for Eic<'a>
impl<'a> !Sync for Eic<'a>
impl<'a> Unpin for Eic<'a>
impl<'a> !UnwindSafe for Eic<'a>
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