Struct stm32wlxx_hal::subghz::GenericPacketParams
source · pub struct GenericPacketParams { /* private fields */ }
Expand description
Packet parameters for set_packet_params
.
Implementations§
source§impl GenericPacketParams
impl GenericPacketParams
sourcepub const fn new() -> GenericPacketParams
pub const fn new() -> GenericPacketParams
Create a new GenericPacketParams
.
This is the same as default
, but in a const
function.
Example
use stm32wlxx_hal::subghz::GenericPacketParams;
const PKT_PARAMS: GenericPacketParams = GenericPacketParams::new();
assert_eq!(PKT_PARAMS, GenericPacketParams::default());
sourcepub const fn set_preamble_len(self, len: u16) -> GenericPacketParams
pub const fn set_preamble_len(self, len: u16) -> GenericPacketParams
Preamble length in number of symbols.
Values of zero are invalid, and will automatically be set to 1.
Example
use stm32wlxx_hal::subghz::GenericPacketParams;
const PKT_PARAMS: GenericPacketParams = GenericPacketParams::new().set_preamble_len(0x1234);
sourcepub const fn set_preamble_detection(
self,
pb_det: PreambleDetection
) -> GenericPacketParams
pub const fn set_preamble_detection( self, pb_det: PreambleDetection ) -> GenericPacketParams
Preamble detection length in number of bit symbols.
Example
use stm32wlxx_hal::subghz::{GenericPacketParams, PreambleDetection};
const PKT_PARAMS: GenericPacketParams =
GenericPacketParams::new().set_preamble_detection(PreambleDetection::Bit8);
sourcepub const fn set_sync_word_len(self, len: u8) -> GenericPacketParams
pub const fn set_sync_word_len(self, len: u8) -> GenericPacketParams
Sync word length in number of bit symbols.
Valid values are 0x00
- 0x40
for 0 to 64-bits respectively.
Values that exceed the maximum will saturate at 0x40
.
Example
Set the sync word length to 4 bytes (16 bits).
use stm32wlxx_hal::subghz::GenericPacketParams;
const PKT_PARAMS: GenericPacketParams = GenericPacketParams::new().set_sync_word_len(16);
sourcepub const fn set_addr_comp(self, addr_comp: AddrComp) -> GenericPacketParams
pub const fn set_addr_comp(self, addr_comp: AddrComp) -> GenericPacketParams
Address comparison/filtering.
Example
Enable address on the node address.
use stm32wlxx_hal::subghz::{AddrComp, GenericPacketParams};
const PKT_PARAMS: GenericPacketParams =
GenericPacketParams::new().set_addr_comp(AddrComp::Node);
sourcepub const fn set_header_type(
self,
header_type: HeaderType
) -> GenericPacketParams
pub const fn set_header_type( self, header_type: HeaderType ) -> GenericPacketParams
Header type definition.
Note: The reference manual calls this packet type, but that results in a conflicting variable name for the modulation scheme, which the reference manual also calls packet type.
Example
Set the header type to a variable length.
use stm32wlxx_hal::subghz::{GenericPacketParams, HeaderType};
const PKT_PARAMS: GenericPacketParams =
GenericPacketParams::new().set_header_type(HeaderType::Variable);
sourcepub const fn set_payload_len(self, len: u8) -> GenericPacketParams
pub const fn set_payload_len(self, len: u8) -> GenericPacketParams
Set the payload length in bytes.
Example
use stm32wlxx_hal::subghz::GenericPacketParams;
const PKT_PARAMS: GenericPacketParams = GenericPacketParams::new().set_payload_len(12);
sourcepub const fn set_crc_type(self, crc_type: CrcType) -> GenericPacketParams
pub const fn set_crc_type(self, crc_type: CrcType) -> GenericPacketParams
CRC type definition.
Example
use stm32wlxx_hal::subghz::{CrcType, GenericPacketParams};
const PKT_PARAMS: GenericPacketParams =
GenericPacketParams::new().set_crc_type(CrcType::Byte2Inverted);
sourcepub const fn set_whitening_enable(self, en: bool) -> GenericPacketParams
pub const fn set_whitening_enable(self, en: bool) -> GenericPacketParams
Whitening enable.
Example
Enable whitening.
use stm32wlxx_hal::subghz::GenericPacketParams;
const PKT_PARAMS: GenericPacketParams = GenericPacketParams::new().set_whitening_enable(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::{
AddrComp, CrcType, GenericPacketParams, HeaderType, PreambleDetection,
};
const PKT_PARAMS: GenericPacketParams = GenericPacketParams::new()
.set_preamble_len(8)
.set_preamble_detection(PreambleDetection::Disabled)
.set_sync_word_len(2)
.set_addr_comp(AddrComp::Disabled)
.set_header_type(HeaderType::Fixed)
.set_payload_len(128)
.set_crc_type(CrcType::Byte2)
.set_whitening_enable(true);
assert_eq!(
PKT_PARAMS.as_slice(),
&[0x8C, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, 0x80, 0x02, 0x01]
);
Trait Implementations§
source§impl Clone for GenericPacketParams
impl Clone for GenericPacketParams
source§fn clone(&self) -> GenericPacketParams
fn clone(&self) -> GenericPacketParams
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for GenericPacketParams
impl Debug for GenericPacketParams
source§impl Default for GenericPacketParams
impl Default for GenericPacketParams
source§impl PartialEq for GenericPacketParams
impl PartialEq for GenericPacketParams
source§fn eq(&self, other: &GenericPacketParams) -> bool
fn eq(&self, other: &GenericPacketParams) -> bool
self
and other
values to be equal, and is used
by ==
.