pub struct CfgIrq { /* private fields */ }
Expand description

Argument for set_irq_cfg.

Implementations§

source§

impl CfgIrq

source

pub const fn new() -> CfgIrq

Create a new CfgIrq.

This is the same as default, but in a const function.

The default value has all interrupts disabled on all lines.

Example
use stm32wlxx_hal::subghz::CfgIrq;

const IRQ_CFG: CfgIrq = CfgIrq::new();
source

pub const fn irq_enable(self, line: IrqLine, irq: Irq) -> CfgIrq

Enable an interrupt.

Example
use stm32wlxx_hal::subghz::{CfgIrq, Irq, IrqLine};

const IRQ_CFG: CfgIrq = CfgIrq::new()
    .irq_enable(IrqLine::Global, Irq::TxDone)
    .irq_enable(IrqLine::Global, Irq::Timeout);
source

pub const fn irq_enable_all(self, irq: Irq) -> CfgIrq

Enable an interrupt on all lines.

As far as I can tell with empirical testing all IRQ lines need to be enabled for the internal interrupt to be pending in the NVIC.

Example
use stm32wlxx_hal::subghz::{CfgIrq, Irq};

const IRQ_CFG: CfgIrq = CfgIrq::new()
    .irq_enable_all(Irq::TxDone)
    .irq_enable_all(Irq::Timeout);
source

pub const fn irq_disable(self, line: IrqLine, irq: Irq) -> CfgIrq

Disable an interrupt.

Example
use stm32wlxx_hal::subghz::{CfgIrq, Irq, IrqLine};

const IRQ_CFG: CfgIrq = CfgIrq::new()
    .irq_enable(IrqLine::Global, Irq::TxDone)
    .irq_enable(IrqLine::Global, Irq::Timeout)
    .irq_disable(IrqLine::Global, Irq::TxDone)
    .irq_disable(IrqLine::Global, Irq::Timeout);
source

pub const fn irq_disable_all(self, irq: Irq) -> CfgIrq

Disable an interrupt on all lines.

Example
use stm32wlxx_hal::subghz::{CfgIrq, Irq};

const IRQ_CFG: CfgIrq = CfgIrq::new()
    .irq_enable_all(Irq::TxDone)
    .irq_enable_all(Irq::Timeout)
    .irq_disable_all(Irq::TxDone)
    .irq_disable_all(Irq::Timeout);
source

pub const fn as_slice(&self) -> &[u8]

Extracts a slice containing the packet.

Example
use stm32wlxx_hal::subghz::{CfgIrq, Irq};

const IRQ_CFG: CfgIrq = CfgIrq::new()
    .irq_enable_all(Irq::TxDone)
    .irq_enable_all(Irq::Timeout);

assert_eq!(
    IRQ_CFG.as_slice(),
    &[0x08, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01]
);

Trait Implementations§

source§

impl Clone for CfgIrq

source§

fn clone(&self) -> CfgIrq

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CfgIrq

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for CfgIrq

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl PartialEq for CfgIrq

source§

fn eq(&self, other: &CfgIrq) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for CfgIrq

source§

impl Eq for CfgIrq

source§

impl StructuralEq for CfgIrq

source§

impl StructuralPartialEq for CfgIrq

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

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, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.