pub trait InterruptWithValue<'a>: Input {
    fn set_client(&self, client: &'a dyn ClientWithValue);
    fn enable_interrupts(&self, mode: InterruptEdge) -> Result<(), ErrorCode>;
    fn disable_interrupts(&self);
    fn is_pending(&self) -> bool;
    fn set_value(&self, value: u32);
    fn value(&self) -> u32;
Expand description

Interface that wraps an interrupt to pass a value when it triggers. The standard use case for this trait is when several interrupts call the same callback function and it needs to distinguish which one is calling it by giving each one a unique value.

Required Methods

Set the client for interrupt events.

Enable an interrupt on the GPIO pin. This does not configure the pin except to enable an interrupt: it should be separately configured as an input, etc. Returns: Ok(()) - the interrupt was set up properly FAIL - the interrupt was not set up properly; this is due to not having an underlying interrupt source yet, i.e. the struct is not yet fully initialized.

Disable interrupts for the GPIO pin.

Return whether this interrupt is pending

Set the value that will be passed to clients on an interrupt.

Return the value that is passed to clients on an interrupt.