InterfaceVariant

Trait InterfaceVariant 

Source
pub trait InterfaceVariant {
    // Required methods
    async fn reset(
        &mut self,
        delay: &mut impl DelayNs,
    ) -> Result<(), RadioError>;
    async fn wait_on_busy(&mut self) -> Result<(), RadioError>;
    async fn await_irq(&mut self) -> Result<(), RadioError>;
    async fn enable_rf_switch_rx(&mut self) -> Result<(), RadioError>;
    async fn enable_rf_switch_tx(&mut self) -> Result<(), RadioError>;
    async fn disable_rf_switch(&mut self) -> Result<(), RadioError>;
}
Expand description

Functions implemented for an embedded framework for an MCU/LoRa chip combination to allow this crate to control the LoRa chip.

Required Methods§

Source

async fn reset(&mut self, delay: &mut impl DelayNs) -> Result<(), RadioError>

Reset the LoRa chip

Source

async fn wait_on_busy(&mut self) -> Result<(), RadioError>

Wait for the LoRa chip to become available for an operation

Source

async fn await_irq(&mut self) -> Result<(), RadioError>

Wait for the LoRa chip to indicate an event has occurred

Source

async fn enable_rf_switch_rx(&mut self) -> Result<(), RadioError>

Enable an antenna used for receive operations, disabling other antennas

Source

async fn enable_rf_switch_tx(&mut self) -> Result<(), RadioError>

Enable an antenna used for send operations, disabling other antennas

Source

async fn disable_rf_switch(&mut self) -> Result<(), RadioError>

Disable all antennas

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<CTRL, WAIT> InterfaceVariant for GenericSx126xInterfaceVariant<CTRL, WAIT>
where CTRL: OutputPin, WAIT: Wait,

Source§

impl<CTRL, WAIT> InterfaceVariant for GenericSx127xInterfaceVariant<CTRL, WAIT>
where CTRL: OutputPin, WAIT: Wait,