|  | LoRaMAC
    4.4.5
    Documentation of the API | 
LoRa MAC layer implementation. More...
#include <stdint.h>#include <stdbool.h>#include "utilities.h"#include "timer.h"#include "systime.h"#include "radio.h"#include "LoRaMacTypes.h"#include "region/Region.h"Go to the source code of this file.
| Data Structures | |
| union | DrRange_t | 
| struct | DrRange_t::sFields | 
| struct | ChannelParams_t | 
| struct | RxChannelParams_t | 
| struct | LoRaMacCtxs_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 | 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 | 
| 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 DrRange_t::sFields | 
Structure to store the minimum and the maximum datarate
| Data Fields | ||
|---|---|---|
| int8_t | Min: 4 | Minimum data rate LoRaWAN Regional Parameters V1.0.2rB The allowed ranges are region specific. Please refer to DR_0 to DR_15 for details. | 
| int8_t | Max: 4 | Maximum data rate LoRaWAN Regional Parameters V1.0.2rB The allowed ranges are region specific. Please refer to DR_0 to DR_15 for details. | 
| 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 |