[−][src]Module lorawan::parser
Provides types and methods for parsing LoRaWAN payloads.
Examples
let mut data = vec![0x40, 0x04, 0x03, 0x02, 0x01, 0x80, 0x01, 0x00, 0x01, 0xa6, 0x94, 0x64, 0x26, 0x15, 0xd6, 0xc3, 0xb5, 0x82]; if let Ok(lorawan::parser::PhyPayload::DataPayload( lorawan::parser::PhyDataPayload::EncryptedData(phy))) = lorawan::parser::parse(data) { let key = lorawan::keys::AES128([1; 16]); let decrypted = phy.decrypt(None, Some(&key), 1).unwrap(); if let Ok(lorawan::parser::FRMPayload::Data(data_payload)) = decrypted.frm_payload() { println!("{}", String::from_utf8_lossy(data_payload.0)); } } else { panic!("failed to parse data payload"); }
Structs
AppNonce | AppNonce represents a 24 bit network server nonce. |
DataPayload | DataPayload represents a data MacPayload. |
DecryptedPhyDataPayload | DecryptedPhyDataPayload represents a decrypted DataPayload. |
DecryptedPhyJoinAcceptPayload | DecryptedPhyJoinAcceptPayload represents a decrypted JoinAccept. |
DevAddr | DevAddr represents a 32 bit device address. |
DevNonce | DevNonce represents a 16 bit device nonce. |
EUI64 | EUI64 represents a 64 bit EUI. |
EncryptedPhyDataPayload | EncryptedPhyDataPayload represents an encrypted data payload. |
EncryptedPhyJoinAcceptPayload | EncryptedPhyJoinAcceptPayload represents an encrypted JoinAccept. |
FCtrl | FCtrl represents the FCtrl from FHDR. |
FHDR | FHDR represents FHDR from DataPayload. |
FRMDataPayload | FRMDataPayload represents the application data. |
FRMMacCommands | FRMMacCommands represents the mac commands. |
MHDR | MHDR represents LoRaWAN MHDR. |
NwkAddr | NwkAddr represents a 24 bit network address. |
PhyJoinRequestPayload | PhyJoinAcceptPayload represents a JoinRequest. |
Enums
FRMPayload | FRMPayload represents the FRMPayload that can either be the application data or mac commands. |
MType | MType gives the possible message types of the PhyPayload. |
Major | Major gives the supported LoRaWAN payload formats. |
PhyDataPayload | PhyDataPayload is a type that represents a ConfirmedDataUp, ConfirmedDataDown, UnconfirmedDataUp or UnconfirmedDataDown. |
PhyJoinAcceptPayload | PhyJoinAcceptPayload is a type that represents a JoinAccept. |
PhyPayload | PhyPayload is a type that represents a physical LoRaWAN payload. |
Functions
parse | Parses a payload as LoRaWAN physical payload. |