![]()  | 
  
    LoRaMAC
    4.4.6
    
   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 | 
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  |