LoRaMAC
4.5.2
Documentation of the API
|
LoRa MAC layer implementation. More...
#include <stdint.h>
#include <stdbool.h>
#include "timer.h"
#include "systime.h"
#include "LoRaMacTypes.h"
#include "RegionNvm.h"
#include "LoRaMacCryptoNvm.h"
#include "secure-element-nvm.h"
#include "LoRaMacClassBNvm.h"
Go to the source code of this file.
Data Structures | |
struct | RxChannelParams_t |
struct | LoRaMacParams_t |
union | PingSlotInfo_t |
struct | PingSlotInfo_t::sInfoFields |
struct | BeaconInfo_t |
struct | BeaconInfo_t::sGwSpecific |
union | LoRaMacFlags_t |
struct | LoRaMacFlags_t::sMacFlagBits |
struct | LoRaMacNvmDataGroup1_t |
struct | LoRaMacNvmDataGroup2_t |
struct | LoRaMacNvmData_t |
struct | RequestReturnParam_t |
struct | McpsReqUnconfirmed_t |
struct | McpsReqConfirmed_t |
struct | McpsReqProprietary_t |
struct | McpsReq_t |
union | McpsReq_t::uMcpsParam |
struct | McpsConfirm_t |
struct | McpsIndication_t |
struct | MlmeReqJoin_t |
struct | MlmeReqTxCw_t |
struct | MlmeReqPingSlotInfo_t |
struct | MlmeReqDeriveMcKEKey_t |
struct | MlmeReqDeriveMcSessionKeyPair_t |
struct | MlmeReq_t |
union | MlmeReq_t::uMlmeParam |
struct | MlmeConfirm_t |
struct | MlmeIndication_t |
union | MibParam_t |
struct | MibParam_t::sLrWanVersion |
struct | MibRequestConfirm_t |
struct | LoRaMacTxInfo_t |
struct | LoRaMacPrimitives_t |
struct | LoRaMacCallback_t |
Macros | |
#define | MAX_ACK_RETRIES 8 |
#define | UP_LINK 0 |
#define | DOWN_LINK 1 |
#define | LORA_MAC_MLME_CONFIRM_QUEUE_LEN 5 |
#define | LORAMAC_CRYPTO_MULTICAST_KEYS 127 |
#define | LORA_MAC_COMMAND_MAX_LENGTH 128 |
#define | LORAMAC_NVM_NOTIFY_FLAG_NONE 0x00 |
#define | LORAMAC_NVM_NOTIFY_FLAG_CRYPTO 0x01 |
#define | LORAMAC_NVM_NOTIFY_FLAG_MAC_GROUP1 0x02 |
#define | LORAMAC_NVM_NOTIFY_FLAG_MAC_GROUP2 0x04 |
#define | LORAMAC_NVM_NOTIFY_FLAG_SECURE_ELEMENT 0x08 |
#define | LORAMAC_NVM_NOTIFY_FLAG_REGION_GROUP1 0x10 |
#define | LORAMAC_NVM_NOTIFY_FLAG_REGION_GROUP2 0x20 |
#define | LORAMAC_NVM_NOTIFY_FLAG_CLASS_B 0x40 |
#define | LORAMAC_CERT_FPORT 224 |
Functions | |
LoRaMacStatus_t | LoRaMacInitialization (LoRaMacPrimitives_t *primitives, LoRaMacCallback_t *callbacks, LoRaMacRegion_t region) |
LoRaMAC layer initialization. More... | |
LoRaMacStatus_t | LoRaMacStart (void) |
Starts LoRaMAC layer. More... | |
LoRaMacStatus_t | LoRaMacStop (void) |
Stops LoRaMAC layer. More... | |
bool | LoRaMacIsBusy (void) |
Returns a value indicating if the MAC layer is busy or not. More... | |
void | LoRaMacProcess (void) |
LoRaMacStatus_t | LoRaMacQueryTxPossible (uint8_t size, LoRaMacTxInfo_t *txInfo) |
Queries the LoRaMAC if it is possible to send the next frame with a given application data payload size. The LoRaMAC takes scheduled MAC commands into account and reports, when the frame can be send or not. More... | |
LoRaMacStatus_t | LoRaMacChannelAdd (uint8_t id, ChannelParams_t params) |
LoRaMAC channel add service. More... | |
LoRaMacStatus_t | LoRaMacChannelRemove (uint8_t id) |
LoRaMAC channel remove service. More... | |
LoRaMacStatus_t | LoRaMacMcChannelSetup (McChannelParams_t *channel) |
LoRaMAC multicast channel setup service. More... | |
LoRaMacStatus_t | LoRaMacMcChannelDelete (AddressIdentifier_t groupID) |
LoRaMAC multicast channel removal service. More... | |
uint8_t | LoRaMacMcChannelGetGroupId (uint32_t mcAddress) |
LoRaMAC multicast channel get groupId from MC address. More... | |
LoRaMacStatus_t | LoRaMacMcChannelSetupRxParams (AddressIdentifier_t groupID, McRxParams_t *rxParams, uint8_t *status) |
LoRaMAC multicast channel Rx parameters setup service. More... | |
LoRaMacStatus_t | LoRaMacMibGetRequestConfirm (MibRequestConfirm_t *mibGet) |
LoRaMAC MIB-Get. More... | |
LoRaMacStatus_t | LoRaMacMibSetRequestConfirm (MibRequestConfirm_t *mibSet) |
LoRaMAC MIB-Set. More... | |
LoRaMacStatus_t | LoRaMacMlmeRequest (MlmeReq_t *mlmeRequest) |
LoRaMAC MLME-Request. More... | |
LoRaMacStatus_t | LoRaMacMcpsRequest (McpsReq_t *mcpsRequest) |
LoRaMAC MCPS-Request. More... | |
LoRaMacStatus_t | LoRaMacDeInitialization (void) |
LoRaMAC deinitialization. More... | |
LoRa MAC layer implementation.
struct PingSlotInfo_t::sInfoFields |
struct BeaconInfo_t::sGwSpecific |
struct LoRaMacFlags_t::sMacFlagBits |
Structure containing single access to bits
union McpsReq_t::uMcpsParam |
MCPS-Request parameters
Data Fields | ||
---|---|---|
McpsReqUnconfirmed_t | Unconfirmed |
MCPS-Request parameters for an unconfirmed frame |
McpsReqConfirmed_t | Confirmed |
MCPS-Request parameters for a confirmed frame |
McpsReqProprietary_t | Proprietary |
MCPS-Request parameters for a proprietary frame |
union MlmeReq_t::uMlmeParam |
MLME-Request parameters
Data Fields | ||
---|---|---|
MlmeReqJoin_t | Join |
MLME-Request parameters for a join request |
MlmeReqTxCw_t | TxCw |
MLME-Request parameters for Tx continuous mode request |
MlmeReqPingSlotInfo_t | PingSlotInfo |
MLME-Request parameters for a ping slot info request |
MlmeReqDeriveMcKEKey_t | DeriveMcKEKey |
MLME-Request to derive the McKEKey from the AppKey or NwkKey |
MlmeReqDeriveMcSessionKeyPair_t | DeriveMcSessionKeyPair |
MLME-Request to derive a Multicast group key pair ( McAppSKey, McNwkSKey ) from McKey |