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

Packet parameters for set_lora_packet_params.

Implementations§

source§

impl LoRaPacketParams

source

pub const fn new() -> LoRaPacketParams

Create a new GenericPacketParams.

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

Example
use stm32wlxx_hal::subghz::LoRaPacketParams;

const PKT_PARAMS: LoRaPacketParams = LoRaPacketParams::new();
assert_eq!(PKT_PARAMS, LoRaPacketParams::default());
source

pub const fn set_preamble_len(self, len: u16) -> LoRaPacketParams

Preamble length in number of symbols.

Values of zero are invalid, and will automatically be set to 1.

Example
use stm32wlxx_hal::subghz::LoRaPacketParams;

const PKT_PARAMS: LoRaPacketParams = LoRaPacketParams::new().set_preamble_len(0x1234);
source

pub const fn set_header_type(self, header_type: HeaderType) -> LoRaPacketParams

Header type (fixed or variable).

Example

Set the payload type to a fixed length.

use stm32wlxx_hal::subghz::{HeaderType, LoRaPacketParams};

const PKT_PARAMS: LoRaPacketParams = LoRaPacketParams::new().set_header_type(HeaderType::Fixed);
source

pub const fn set_payload_len(self, len: u8) -> LoRaPacketParams

Set the payload length in bytes.

Example
use stm32wlxx_hal::subghz::LoRaPacketParams;

const PKT_PARAMS: LoRaPacketParams = LoRaPacketParams::new().set_payload_len(12);
source

pub const fn set_crc_en(self, en: bool) -> LoRaPacketParams

CRC enable.

Example

Enable CRC.

use stm32wlxx_hal::subghz::LoRaPacketParams;

const PKT_PARAMS: LoRaPacketParams = LoRaPacketParams::new().set_crc_en(true);
source

pub const fn set_invert_iq(self, invert: bool) -> LoRaPacketParams

IQ setup.

Example

Use an inverted IQ setup.

use stm32wlxx_hal::subghz::LoRaPacketParams;

const PKT_PARAMS: LoRaPacketParams = LoRaPacketParams::new().set_invert_iq(true);
source

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

Extracts a slice containing the packet.

Example
use stm32wlxx_hal::subghz::{HeaderType, LoRaPacketParams};

const PKT_PARAMS: LoRaPacketParams = LoRaPacketParams::new()
    .set_preamble_len(5 * 8)
    .set_header_type(HeaderType::Fixed)
    .set_payload_len(64)
    .set_crc_en(true)
    .set_invert_iq(true);

assert_eq!(
    PKT_PARAMS.as_slice(),
    &[0x8C, 0x00, 0x28, 0x01, 0x40, 0x01, 0x01]
);

Trait Implementations§

source§

impl Clone for LoRaPacketParams

source§

fn clone(&self) -> LoRaPacketParams

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 LoRaPacketParams

source§

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

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

impl Default for LoRaPacketParams

source§

fn default() -> Self

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

impl PartialEq for LoRaPacketParams

source§

fn eq(&self, other: &LoRaPacketParams) -> 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 LoRaPacketParams

source§

impl Eq for LoRaPacketParams

source§

impl StructuralEq for LoRaPacketParams

source§

impl StructuralPartialEq for LoRaPacketParams

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.