Struct stm32wlxx_hal::subghz::LoRaPacketParams
source · pub struct LoRaPacketParams { /* private fields */ }
Expand description
Packet parameters for set_lora_packet_params
.
Implementations§
source§impl LoRaPacketParams
impl LoRaPacketParams
sourcepub const fn new() -> LoRaPacketParams
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());
sourcepub const fn set_preamble_len(self, len: u16) -> LoRaPacketParams
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);
sourcepub const fn set_header_type(self, header_type: HeaderType) -> LoRaPacketParams
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);
sourcepub const fn set_payload_len(self, len: u8) -> LoRaPacketParams
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);
sourcepub const fn set_crc_en(self, en: bool) -> LoRaPacketParams
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);
sourcepub const fn set_invert_iq(self, invert: bool) -> LoRaPacketParams
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);
sourcepub const fn as_slice(&self) -> &[u8]
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
impl Clone for LoRaPacketParams
source§fn clone(&self) -> LoRaPacketParams
fn clone(&self) -> LoRaPacketParams
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for LoRaPacketParams
impl Debug for LoRaPacketParams
source§impl Default for LoRaPacketParams
impl Default for LoRaPacketParams
source§impl PartialEq for LoRaPacketParams
impl PartialEq for LoRaPacketParams
source§fn eq(&self, other: &LoRaPacketParams) -> bool
fn eq(&self, other: &LoRaPacketParams) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Copy for LoRaPacketParams
impl Eq for LoRaPacketParams
impl StructuralEq for LoRaPacketParams
impl StructuralPartialEq for LoRaPacketParams
Auto Trait Implementations§
impl RefUnwindSafe for LoRaPacketParams
impl Send for LoRaPacketParams
impl Sync for LoRaPacketParams
impl Unpin for LoRaPacketParams
impl UnwindSafe for LoRaPacketParams
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more