Struct SoftwareInterruptControl

Source
#[non_exhaustive]
pub struct SoftwareInterruptControl<'d> { pub software_interrupt0: SoftwareInterrupt<'d, 0>, pub software_interrupt1: SoftwareInterrupt<'d, 1>, pub software_interrupt2: SoftwareInterrupt<'d, 2>, pub software_interrupt3: SoftwareInterrupt<'d, 3>, }
Available on crate feature unstable only.
Expand description

This gives access to the available software interrupts.

This struct contains several instances of software interrupts that can be used for signaling between different parts of a program or system. Each interrupt is identified by an index (0 to 3).

Please note: Software interrupt 3 is reserved for inter-processor communication when using esp-hal-embassy.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§software_interrupt0: SoftwareInterrupt<'d, 0>

Software interrupt 0.

§software_interrupt1: SoftwareInterrupt<'d, 1>

Software interrupt 1.

§software_interrupt2: SoftwareInterrupt<'d, 2>

Software interrupt 2. Not available when using esp-wifi’s builtin scheduler on RISC-V architectures.

§software_interrupt3: SoftwareInterrupt<'d, 3>

Software interrupt 3. Not available when using esp-hal-embassy, on multi-core systems.

Implementations§

Source§

impl<'d> SoftwareInterruptControl<'d>

Source

pub fn new(_peripheral: SW_INTERRUPT<'d>) -> Self

Create a new instance of the software interrupt control.

Auto Trait Implementations§

§

impl<'d> Freeze for SoftwareInterruptControl<'d>

§

impl<'d> RefUnwindSafe for SoftwareInterruptControl<'d>

§

impl<'d> Send for SoftwareInterruptControl<'d>

§

impl<'d> Sync for SoftwareInterruptControl<'d>

§

impl<'d> Unpin for SoftwareInterruptControl<'d>

§

impl<'d> !UnwindSafe for SoftwareInterruptControl<'d>

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.