SX126x-Arduino  1.3.0
LoRaMac.h
Go to the documentation of this file.
1 
41 #ifndef __LORAMAC_H__
42 #define __LORAMAC_H__
43 
44 extern "C"
45 {
46 
50 #define MAC_STATE_CHECK_TIMEOUT 1000
51 
55 #define MAX_ACK_RETRIES 8
56 
60 #define UP_LINK 0
61 
65 #define DOWN_LINK 1
66 
71 #define LORAMAC_MFR_LEN 4
72 
78 #define LORA_MAC_FRMPAYLOAD_OVERHEAD 13 // MHDR(1) + FHDR(7) + Port(1) + MIC(4)
79 
85  typedef enum eDeviceClass
86  {
106 
110  typedef union uDrRange {
114  int8_t Value;
118  struct sFields
119  {
127  int8_t Min : 4;
135  int8_t Max : 4;
138 
142  typedef struct sBand
143  {
147  uint16_t DCycle;
151  int8_t TxMaxPower;
165 
169  typedef struct sChannelParams
170  {
174  uint32_t Frequency;
178  uint32_t Rx1Frequency;
186  uint8_t Band;
188 
192  typedef struct sRx2ChannelParams
193  {
197  uint32_t Frequency;
205  uint8_t Datarate;
207 
211  typedef struct sLoRaMacParams
212  {
231  uint8_t MinRxSymbols;
235  uint32_t MaxRxWindow;
239  uint32_t ReceiveDelay1;
243  uint32_t ReceiveDelay2;
255  uint8_t ChannelsNbRep;
259  uint8_t Rx1DrOffset;
275  float MaxEirp;
279  float AntennaGain;
281 
285  typedef struct sMulticastParams
286  {
290  uint32_t Address;
294  uint8_t NwkSKey[16];
298  uint8_t AppSKey[16];
302  uint32_t DownLinkCounter;
308 
314  typedef enum eLoRaMacFrameType
315  {
349 
355  typedef enum eLoRaMacMoteCmd
356  {
394 
400  typedef enum eLoRaMacSrvCmd
401  {
439 
443  typedef enum eLoRaMacBatteryLevel
444  {
462 
468  typedef union uLoRaMacHeader {
472  uint8_t Value;
476  struct sHdrBits
477  {
481  uint8_t Major : 2;
485  uint8_t RFU : 3;
489  uint8_t MType : 3;
490  } Bits;
492 
498  typedef union uLoRaMacFrameCtrl {
502  uint8_t Value;
506  struct sCtrlBits
507  {
511  uint8_t FOptsLen : 4;
515  uint8_t FPending : 1;
519  uint8_t Ack : 1;
523  uint8_t AdrAckReq : 1;
527  uint8_t Adr : 1;
528  } Bits;
530 
535  {
592 
596  typedef union eLoRaMacFlags_t {
600  uint8_t Value;
605  {
609  uint8_t McpsReq : 1;
613  uint8_t McpsInd : 1;
617  uint8_t McpsIndSkip : 1;
621  uint8_t MlmeReq : 1;
625  uint8_t MacDone : 1;
626  } Bits;
628 
652  typedef enum eMcps
653  {
671 
675  typedef struct sMcpsReqUnconfirmed
676  {
683  uint8_t fPort;
687  void *fBuffer;
691  uint16_t fBufferSize;
695  int8_t Datarate;
697 
701  typedef struct sMcpsReqConfirmed
702  {
709  uint8_t fPort;
713  void *fBuffer;
717  uint16_t fBufferSize;
721  int8_t Datarate;
742  uint8_t NbTrials;
744 
748  typedef struct sMcpsReqProprietary
749  {
753  void *fBuffer;
757  uint16_t fBufferSize;
761  int8_t Datarate;
763 
767  typedef struct sMcpsReq
768  {
773 
777  union uMcpsParam {
790  } Req;
792 
796  typedef struct sMcpsConfirm
797  {
809  uint8_t Datarate;
813  int8_t TxPower;
821  uint8_t NbRetries;
829  uint32_t UpLinkCounter;
833  uint32_t UpLinkFrequency;
835 
839  typedef struct sMcpsIndication
840  {
852  uint8_t Multicast;
856  uint8_t Port;
860  uint8_t RxDatarate;
864  uint8_t FramePending;
868  uint8_t *Buffer;
872  uint8_t BufferSize;
876  bool RxData;
880  int16_t Rssi;
884  uint8_t Snr;
890  uint8_t RxSlot;
898  uint32_t DownLinkCounter;
900 
921  typedef enum eMlme
922  {
948 
952  typedef struct sMlmeReqJoin
953  {
959  uint8_t *DevEui;
965  uint8_t *AppEui;
971  uint8_t *AppKey;
975  uint8_t NbTrials;
977 
981  typedef struct sMlmeReqTxCw
982  {
986  uint16_t Timeout;
990  uint32_t Frequency;
994  uint8_t Power;
996 
1000  typedef struct sMlmeReq
1001  {
1006 
1010  union uMlmeParam {
1019  } Req;
1021 
1025  typedef struct sMlmeConfirm
1026  {
1043  uint8_t DemodMargin;
1047  uint8_t NbGateways;
1051  uint8_t NbRetries;
1053 
1099  typedef enum eMib
1100  {
1298 
1302  typedef union uMibParam {
1326  uint32_t NetID;
1332  uint32_t DevAddr;
1338  uint8_t *NwkSKey;
1344  uint8_t *AppSKey;
1380  uint16_t *ChannelsMask;
1392  uint8_t ChannelNbRep;
1398  uint32_t MaxRxWindow;
1404  uint32_t ReceiveDelay1;
1410  uint32_t ReceiveDelay2;
1452  uint32_t UpLinkCounter;
1476  uint8_t MinRxSymbols;
1484 
1488  typedef struct eMibRequestConfirm
1489  {
1494 
1500 
1504  typedef struct sLoRaMacTxInfo
1505  {
1515 
1519  typedef enum eLoRaMacStatus
1520  {
1567 
1571  typedef enum eLoRaMacRegion_t
1572  {
1614 
1619  typedef struct sLoRaMacPrimitives
1620  {
1640 
1644  typedef struct sLoRaMacCallback
1645  {
1654  uint8_t (*GetBatteryLevel)(void);
1656 
1660  static const uint8_t LoRaMacMaxEirpTable[] = {8, 10, 12, 13, 14, 16, 18, 20, 21, 24, 26, 27, 29, 30, 33, 36};
1661 
1687 
1694  uint32_t LoRaMacGetOTAADevId(void);
1695 
1720 
1738 
1752 
1766 
1780 
1808 
1839 
1886 
1921 
1923 };
1924 #endif // __LORAMAC_H__
sLoRaMacTxInfo::MaxPossiblePayload
uint8_t MaxPossiblePayload
Definition: LoRaMac.h:1509
LORAMAC_STATUS_NO_NETWORK_JOINED
@ LORAMAC_STATUS_NO_NETWORK_JOINED
Definition: LoRaMac.h:1552
sMcpsIndication::RxDatarate
uint8_t RxDatarate
Definition: LoRaMac.h:860
uLoRaMacHeader
Definition: LoRaMac.h:468
eMibRequestConfirm::Param
MibParam_t Param
Definition: LoRaMac.h:1498
sMlmeReq::Req
union sMlmeReq::uMlmeParam Req
MIB_DEV_ADDR
@ MIB_DEV_ADDR
Definition: LoRaMac.h:1132
sMcpsReqConfirmed
Definition: LoRaMac.h:702
BAT_LEVEL_FULL
@ BAT_LEVEL_FULL
Definition: LoRaMac.h:456
eLoRaMacFlags_t::Value
uint8_t Value
Definition: LoRaMac.h:600
sLoRaMacParams::SystemMaxRxError
uint32_t SystemMaxRxError
Definition: LoRaMac.h:226
sMlmeReq::uMlmeParam::Join
MlmeReqJoin_t Join
Definition: LoRaMac.h:1014
sLoRaMacParams::UplinkDwellTime
uint8_t UplinkDwellTime
Definition: LoRaMac.h:267
sBand
Definition: LoRaMac.h:143
LORAMAC_STATUS_BUSY
@ LORAMAC_STATUS_BUSY
Definition: LoRaMac.h:1528
sMcpsReq::uMcpsParam
Definition: LoRaMac.h:777
sLoRaMacParams::DownlinkDwellTime
uint8_t DownlinkDwellTime
Definition: LoRaMac.h:271
sLoRaMacTxInfo::CurrentPayloadSize
uint8_t CurrentPayloadSize
Definition: LoRaMac.h:1513
uMibParam::AdrEnable
bool AdrEnable
Definition: LoRaMac.h:1320
MOTE_MAC_RX_TIMING_SETUP_ANS
@ MOTE_MAC_RX_TIMING_SETUP_ANS
Definition: LoRaMac.h:384
FRAME_TYPE_DATA_CONFIRMED_UP
@ FRAME_TYPE_DATA_CONFIRMED_UP
Definition: LoRaMac.h:335
uMibParam
Definition: LoRaMac.h:1302
MOTE_MAC_TX_PARAM_SETUP_ANS
@ MOTE_MAC_TX_PARAM_SETUP_ANS
Definition: LoRaMac.h:388
MulticastParams_t
struct sMulticastParams MulticastParams_t
sMcpsConfirm::AckReceived
bool AckReceived
Definition: LoRaMac.h:817
sMcpsReqConfirmed::fBuffer
void * fBuffer
Definition: LoRaMac.h:713
MLME_JOIN
@ MLME_JOIN
Definition: LoRaMac.h:928
LoRaMacMcpsRequest
LoRaMacStatus_t LoRaMacMcpsRequest(McpsReq_t *mcpsRequest)
LoRaMAC MCPS-Request.
Definition: LoRaMac.cpp:3288
FRAME_TYPE_DATA_UNCONFIRMED_DOWN
@ FRAME_TYPE_DATA_UNCONFIRMED_DOWN
Definition: LoRaMac.h:331
uMibParam::DevAddr
uint32_t DevAddr
Definition: LoRaMac.h:1332
uLoRaMacHeader::Bits
struct uLoRaMacHeader::sHdrBits Bits
LoRaMacStatus_t
enum eLoRaMacStatus LoRaMacStatus_t
MIB_CHANNELS_MASK
@ MIB_CHANNELS_MASK
Definition: LoRaMac.h:1186
sMcpsReq::uMcpsParam::Unconfirmed
McpsReqUnconfirmed_t Unconfirmed
Definition: LoRaMac.h:781
MlmeConfirm_t
struct sMlmeConfirm MlmeConfirm_t
Rx2ChannelParams_t
struct sRx2ChannelParams Rx2ChannelParams_t
uMibParam::AntennaGain
float AntennaGain
Definition: LoRaMac.h:1482
uLoRaMacFrameCtrl::Bits
struct uLoRaMacFrameCtrl::sCtrlBits Bits
LoRaMacFrameCtrl_t
union uLoRaMacFrameCtrl LoRaMacFrameCtrl_t
sBand::LastJoinTxDoneTime
TimerTime_t LastJoinTxDoneTime
Definition: LoRaMac.h:155
LORAMAC_EVENT_INFO_STATUS_ERROR
@ LORAMAC_EVENT_INFO_STATUS_ERROR
Definition: LoRaMac.h:543
sBand::TimeOff
TimerTime_t TimeOff
Definition: LoRaMac.h:163
sLoRaMacParams::JoinAcceptDelay2
uint32_t JoinAcceptDelay2
Definition: LoRaMac.h:251
sMlmeReqTxCw
Definition: LoRaMac.h:982
sMcpsReqUnconfirmed::Datarate
int8_t Datarate
Definition: LoRaMac.h:695
MlmeConfirm
static MlmeConfirm_t MlmeConfirm
Definition: LoRaMac.cpp:400
MIB_ANTENNA_GAIN
@ MIB_ANTENNA_GAIN
Definition: LoRaMac.h:1296
sMcpsReq::Req
union sMcpsReq::uMcpsParam Req
LORAMAC_STATUS_PARAMETER_INVALID
@ LORAMAC_STATUS_PARAMETER_INVALID
Definition: LoRaMac.h:1536
uMibParam::UpLinkCounter
uint32_t UpLinkCounter
Definition: LoRaMac.h:1452
sLoRaMacPrimitives
Definition: LoRaMac.h:1620
sLoRaMacParams::ReceiveDelay2
uint32_t ReceiveDelay2
Definition: LoRaMac.h:243
eMlme
eMlme
LoRaMAC management services.
Definition: LoRaMac.h:922
uDrRange::sFields::Min
int8_t Min
Definition: LoRaMac.h:127
uDrRange::sFields::Max
int8_t Max
Definition: LoRaMac.h:135
MIB_SYSTEM_MAX_RX_ERROR
@ MIB_SYSTEM_MAX_RX_ERROR
Definition: LoRaMac.h:1284
sMlmeReqJoin::NbTrials
uint8_t NbTrials
Definition: LoRaMac.h:975
sLoRaMacCallback::GetBatteryLevel
uint8_t(* GetBatteryLevel)(void)
Measures the battery level.
Definition: LoRaMac.h:1654
McpsIndication_t
struct sMcpsIndication McpsIndication_t
eLoRaMacFlags_t::sMacFlagBits::MacDone
uint8_t MacDone
Definition: LoRaMac.h:625
MIB_PUBLIC_NETWORK
@ MIB_PUBLIC_NETWORK
Definition: LoRaMac.h:1152
SRV_MAC_LINK_CHECK_ANS
@ SRV_MAC_LINK_CHECK_ANS
Definition: LoRaMac.h:405
uLoRaMacFrameCtrl::sCtrlBits::FPending
uint8_t FPending
Definition: LoRaMac.h:515
McpsReqConfirmed_t
struct sMcpsReqConfirmed McpsReqConfirmed_t
LORAMAC_EVENT_INFO_STATUS_RX2_ERROR
@ LORAMAC_EVENT_INFO_STATUS_RX2_ERROR
Definition: LoRaMac.h:563
MIB_NET_ID
@ MIB_NET_ID
Definition: LoRaMac.h:1126
eMibRequestConfirm::Type
Mib_t Type
Definition: LoRaMac.h:1493
FRAME_TYPE_PROPRIETARY
@ FRAME_TYPE_PROPRIETARY
Definition: LoRaMac.h:347
MIB_CHANNELS_NB_REP
@ MIB_CHANNELS_NB_REP
Definition: LoRaMac.h:1198
sLoRaMacParams::ChannelsTxPower
int8_t ChannelsTxPower
Definition: LoRaMac.h:216
McpsReqUnconfirmed_t
struct sMcpsReqUnconfirmed McpsReqUnconfirmed_t
MOTE_MAC_DUTY_CYCLE_ANS
@ MOTE_MAC_DUTY_CYCLE_ANS
Definition: LoRaMac.h:368
MOTE_MAC_LINK_ADR_ANS
@ MOTE_MAC_LINK_ADR_ANS
Definition: LoRaMac.h:364
uMibParam::MaxRxWindow
uint32_t MaxRxWindow
Definition: LoRaMac.h:1398
LORAMAC_EVENT_INFO_STATUS_TX_TIMEOUT
@ LORAMAC_EVENT_INFO_STATUS_TX_TIMEOUT
Definition: LoRaMac.h:547
sMlmeConfirm
Definition: LoRaMac.h:1026
MIB_MAX_RX_WINDOW_DURATION
@ MIB_MAX_RX_WINDOW_DURATION
Definition: LoRaMac.h:1204
eLoRaMacEventInfoStatus
eLoRaMacEventInfoStatus
Definition: LoRaMac.h:535
sChannelParams
Definition: LoRaMac.h:170
LoRaMacHeader_t
union uLoRaMacHeader LoRaMacHeader_t
sLoRaMacParams::MinRxSymbols
uint8_t MinRxSymbols
Definition: LoRaMac.h:231
ChannelParams_t
struct sChannelParams ChannelParams_t
LoRaMacGetOTAADevId
uint32_t LoRaMacGetOTAADevId(void)
Returns the Device Address set by the LoRaWan server after OTAA join was successful.
Definition: LoRaMac.cpp:3433
sBand::LastTxDoneTime
TimerTime_t LastTxDoneTime
Definition: LoRaMac.h:159
CLASS_C
@ CLASS_C
Definition: LoRaMac.h:104
sMlmeReq::uMlmeParam
Definition: LoRaMac.h:1010
sMlmeConfirm::NbGateways
uint8_t NbGateways
Definition: LoRaMac.h:1047
uMibParam::ReceiveDelay2
uint32_t ReceiveDelay2
Definition: LoRaMac.h:1410
uLoRaMacFrameCtrl::sCtrlBits::Ack
uint8_t Ack
Definition: LoRaMac.h:519
LoRaMacFlags_t
union eLoRaMacFlags_t LoRaMacFlags_t
McpsConfirm_t
struct sMcpsConfirm McpsConfirm_t
sMcpsIndication::FramePending
uint8_t FramePending
Definition: LoRaMac.h:864
LORAMAC_STATUS_SERVICE_UNKNOWN
@ LORAMAC_STATUS_SERVICE_UNKNOWN
Definition: LoRaMac.h:1532
sMcpsIndication::Rssi
int16_t Rssi
Definition: LoRaMac.h:880
SRV_MAC_RX_TIMING_SETUP_REQ
@ SRV_MAC_RX_TIMING_SETUP_REQ
Definition: LoRaMac.h:429
MOTE_MAC_RX_PARAM_SETUP_ANS
@ MOTE_MAC_RX_PARAM_SETUP_ANS
Definition: LoRaMac.h:372
LORAMAC_REGION_CN470
@ LORAMAC_REGION_CN470
Definition: LoRaMac.h:1584
LoRaMacPrimitives_t
struct sLoRaMacPrimitives LoRaMacPrimitives_t
MIB_DOWNLINK_COUNTER
@ MIB_DOWNLINK_COUNTER
Definition: LoRaMac.h:1272
uLoRaMacFrameCtrl::sCtrlBits::Adr
uint8_t Adr
Definition: LoRaMac.h:527
eLoRaMacFlags_t::sMacFlagBits::McpsIndSkip
uint8_t McpsIndSkip
Definition: LoRaMac.h:617
MIB_MULTICAST_CHANNEL
@ MIB_MULTICAST_CHANNEL
Definition: LoRaMac.h:1278
uMibParam::AppSKey
uint8_t * AppSKey
Definition: LoRaMac.h:1344
uMibParam::ChannelsDatarate
int8_t ChannelsDatarate
Definition: LoRaMac.h:1434
MlmeReqJoin_t
struct sMlmeReqJoin MlmeReqJoin_t
eLoRaMacFlags_t
Definition: LoRaMac.h:596
LoRaMacChannelRemove
LoRaMacStatus_t LoRaMacChannelRemove(uint8_t id)
LoRaMAC channel remove service.
Definition: LoRaMac.cpp:3083
sMcpsIndication::Multicast
uint8_t Multicast
Definition: LoRaMac.h:852
MIB_JOIN_ACCEPT_DELAY_2
@ MIB_JOIN_ACCEPT_DELAY_2
Definition: LoRaMac.h:1228
uLoRaMacHeader::sHdrBits
Definition: LoRaMac.h:477
LoRaMacSrvCmd_t
enum eLoRaMacSrvCmd LoRaMacSrvCmd_t
sMcpsConfirm::TxTimeOnAir
TimerTime_t TxTimeOnAir
Definition: LoRaMac.h:825
MIB_CHANNELS_DEFAULT_MASK
@ MIB_CHANNELS_DEFAULT_MASK
Definition: LoRaMac.h:1192
eLoRaMacFlags_t::sMacFlagBits::MlmeReq
uint8_t MlmeReq
Definition: LoRaMac.h:621
LORAMAC_EVENT_INFO_STATUS_RX1_TIMEOUT
@ LORAMAC_EVENT_INFO_STATUS_RX1_TIMEOUT
Definition: LoRaMac.h:551
uLoRaMacHeader::sHdrBits::RFU
uint8_t RFU
Definition: LoRaMac.h:485
LORAMAC_REGION_KR920
@ LORAMAC_REGION_KR920
Definition: LoRaMac.h:1600
MIB_CHANNELS_DEFAULT_TX_POWER
@ MIB_CHANNELS_DEFAULT_TX_POWER
Definition: LoRaMac.h:1260
BAT_LEVEL_EXT_SRC
@ BAT_LEVEL_EXT_SRC
Definition: LoRaMac.h:448
sMcpsConfirm::UpLinkFrequency
uint32_t UpLinkFrequency
Definition: LoRaMac.h:833
sMcpsReqProprietary::Datarate
int8_t Datarate
Definition: LoRaMac.h:761
McpsReqProprietary_t
struct sMcpsReqProprietary McpsReqProprietary_t
sMcpsConfirm::TxPower
int8_t TxPower
Definition: LoRaMac.h:813
sMlmeReqJoin::AppEui
uint8_t * AppEui
Definition: LoRaMac.h:965
uMibParam::ChannelsTxPower
int8_t ChannelsTxPower
Definition: LoRaMac.h:1446
uMibParam::IsNetworkJoined
bool IsNetworkJoined
Definition: LoRaMac.h:1314
sLoRaMacCallback
Definition: LoRaMac.h:1645
LoRaMacMaxEirpTable
static const uint8_t LoRaMacMaxEirpTable[]
Definition: LoRaMac.h:1660
sMlmeConfirm::MlmeRequest
Mlme_t MlmeRequest
Definition: LoRaMac.h:1030
LORAMAC_REGION_US915_HYBRID
@ LORAMAC_REGION_US915_HYBRID
Definition: LoRaMac.h:1612
Band_t
struct sBand Band_t
uMibParam::ChannelsDefaultTxPower
int8_t ChannelsDefaultTxPower
Definition: LoRaMac.h:1440
eLoRaMacStatus
eLoRaMacStatus
Definition: LoRaMac.h:1520
uMibParam::ChannelsMask
uint16_t * ChannelsMask
Definition: LoRaMac.h:1380
sMcpsReqConfirmed::NbTrials
uint8_t NbTrials
Definition: LoRaMac.h:742
MIB_UPLINK_COUNTER
@ MIB_UPLINK_COUNTER
Definition: LoRaMac.h:1266
sMlmeReq::Type
Mlme_t Type
Definition: LoRaMac.h:1005
sChannelParams::Frequency
uint32_t Frequency
Definition: LoRaMac.h:174
LoRaMacTxInfo_t
struct sLoRaMacTxInfo LoRaMacTxInfo_t
MIB_CHANNELS
@ MIB_CHANNELS
Definition: LoRaMac.h:1168
LORAMAC_REGION_AU915
@ LORAMAC_REGION_AU915
Definition: LoRaMac.h:1580
sChannelParams::Band
uint8_t Band
Definition: LoRaMac.h:186
eLoRaMacFrameType
eLoRaMacFrameType
Definition: LoRaMac.h:315
FRAME_TYPE_JOIN_ACCEPT
@ FRAME_TYPE_JOIN_ACCEPT
Definition: LoRaMac.h:323
MCPS_UNCONFIRMED
@ MCPS_UNCONFIRMED
Definition: LoRaMac.h:657
sLoRaMacParams::ChannelsDatarate
int8_t ChannelsDatarate
Definition: LoRaMac.h:220
sMcpsConfirm::UpLinkCounter
uint32_t UpLinkCounter
Definition: LoRaMac.h:829
MIB_CHANNELS_TX_POWER
@ MIB_CHANNELS_TX_POWER
Definition: LoRaMac.h:1252
eLoRaMacFlags_t::sMacFlagBits::McpsReq
uint8_t McpsReq
Definition: LoRaMac.h:609
sLoRaMacPrimitives::MacMcpsIndication
void(* MacMcpsIndication)(McpsIndication_t *McpsIndication)
MCPS-Indication primitive.
Definition: LoRaMac.h:1632
eMibRequestConfirm
Definition: LoRaMac.h:1489
sLoRaMacParams::Rx1DrOffset
uint8_t Rx1DrOffset
Definition: LoRaMac.h:259
Mib_t
enum eMib Mib_t
LoRaMacCallback_t
struct sLoRaMacCallback LoRaMacCallback_t
uMibParam::ChannelsDefaultDatarate
int8_t ChannelsDefaultDatarate
Definition: LoRaMac.h:1428
MCPS_CONFIRMED
@ MCPS_CONFIRMED
Definition: LoRaMac.h:661
LORAMAC_EVENT_INFO_STATUS_RX1_ERROR
@ LORAMAC_EVENT_INFO_STATUS_RX1_ERROR
Definition: LoRaMac.h:559
uMibParam::ReceiveDelay1
uint32_t ReceiveDelay1
Definition: LoRaMac.h:1404
sMlmeReqTxCw::Frequency
uint32_t Frequency
Definition: LoRaMac.h:990
sLoRaMacParams::MaxRxWindow
uint32_t MaxRxWindow
Definition: LoRaMac.h:235
DeviceClass_t
enum eDeviceClass DeviceClass_t
MLME_LINK_CHECK
@ MLME_LINK_CHECK
Definition: LoRaMac.h:934
MOTE_MAC_DEV_STATUS_ANS
@ MOTE_MAC_DEV_STATUS_ANS
Definition: LoRaMac.h:376
McpsConfirm
static McpsConfirm_t McpsConfirm
Definition: LoRaMac.cpp:395
MIB_RECEIVE_DELAY_2
@ MIB_RECEIVE_DELAY_2
Definition: LoRaMac.h:1216
uLoRaMacFrameCtrl::sCtrlBits::AdrAckReq
uint8_t AdrAckReq
Definition: LoRaMac.h:523
LORAMAC_EVENT_INFO_STATUS_DOWNLINK_TOO_MANY_FRAMES_LOSS
@ LORAMAC_EVENT_INFO_STATUS_DOWNLINK_TOO_MANY_FRAMES_LOSS
Definition: LoRaMac.h:582
eMib
eMib
Definition: LoRaMac.h:1100
SRV_MAC_DUTY_CYCLE_REQ
@ SRV_MAC_DUTY_CYCLE_REQ
Definition: LoRaMac.h:413
eLoRaMacMoteCmd
eLoRaMacMoteCmd
Definition: LoRaMac.h:356
uLoRaMacFrameCtrl::sCtrlBits::FOptsLen
uint8_t FOptsLen
Definition: LoRaMac.h:511
sMulticastParams::Address
uint32_t Address
Definition: LoRaMac.h:290
MIB_RECEIVE_DELAY_1
@ MIB_RECEIVE_DELAY_1
Definition: LoRaMac.h:1210
LoRaMacBatteryLevel_t
enum eLoRaMacBatteryLevel LoRaMacBatteryLevel_t
LORAMAC_EVENT_INFO_STATUS_OK
@ LORAMAC_EVENT_INFO_STATUS_OK
Definition: LoRaMac.h:539
eLoRaMacRegion_t
eLoRaMacRegion_t
Definition: LoRaMac.h:1572
sRx2ChannelParams
Definition: LoRaMac.h:193
LoRaMacMulticastChannelLink
LoRaMacStatus_t LoRaMacMulticastChannelLink(MulticastParams_t *channelParam)
LoRaMAC multicast channel link service.
Definition: LoRaMac.cpp:3104
LORAMAC_STATUS_DATARATE_INVALID
@ LORAMAC_STATUS_DATARATE_INVALID
Definition: LoRaMac.h:1544
sLoRaMacParams::MaxEirp
float MaxEirp
Definition: LoRaMac.h:275
sLoRaMacParams
Definition: LoRaMac.h:212
uLoRaMacFrameCtrl
Definition: LoRaMac.h:498
LORAMAC_STATUS_DEVICE_OFF
@ LORAMAC_STATUS_DEVICE_OFF
Definition: LoRaMac.h:1560
CLASS_A
@ CLASS_A
Definition: LoRaMac.h:92
MIB_JOIN_ACCEPT_DELAY_1
@ MIB_JOIN_ACCEPT_DELAY_1
Definition: LoRaMac.h:1222
uDrRange::Fields
struct uDrRange::sFields Fields
MibRequestConfirm_t
struct eMibRequestConfirm MibRequestConfirm_t
FRAME_TYPE_DATA_CONFIRMED_DOWN
@ FRAME_TYPE_DATA_CONFIRMED_DOWN
Definition: LoRaMac.h:339
eDeviceClass
eDeviceClass
Definition: LoRaMac.h:86
MIB_RX2_DEFAULT_CHANNEL
@ MIB_RX2_DEFAULT_CHANNEL
Definition: LoRaMac.h:1180
LoRaMacEventInfoStatus_t
enum eLoRaMacEventInfoStatus LoRaMacEventInfoStatus_t
LORAMAC_REGION_CN779
@ LORAMAC_REGION_CN779
Definition: LoRaMac.h:1588
sMcpsIndication::AckReceived
bool AckReceived
Definition: LoRaMac.h:894
sMcpsIndication::DownLinkCounter
uint32_t DownLinkCounter
Definition: LoRaMac.h:898
eLoRaMacSrvCmd
eLoRaMacSrvCmd
Definition: LoRaMac.h:401
LORAMAC_REGION_EU868
@ LORAMAC_REGION_EU868
Definition: LoRaMac.h:1596
LoRaMacMoteCmd_t
enum eLoRaMacMoteCmd LoRaMacMoteCmd_t
SRV_MAC_RX_PARAM_SETUP_REQ
@ SRV_MAC_RX_PARAM_SETUP_REQ
Definition: LoRaMac.h:417
uMibParam::Rx2DefaultChannel
Rx2ChannelParams_t Rx2DefaultChannel
Definition: LoRaMac.h:1374
eLoRaMacFlags_t::sMacFlagBits::McpsInd
uint8_t McpsInd
Definition: LoRaMac.h:613
SRV_MAC_DL_CHANNEL_REQ
@ SRV_MAC_DL_CHANNEL_REQ
Definition: LoRaMac.h:437
MIB_RX2_CHANNEL
@ MIB_RX2_CHANNEL
Definition: LoRaMac.h:1174
sLoRaMacParams::JoinAcceptDelay1
uint32_t JoinAcceptDelay1
Definition: LoRaMac.h:247
MCPS_MULTICAST
@ MCPS_MULTICAST
Definition: LoRaMac.h:665
sMcpsIndication::Port
uint8_t Port
Definition: LoRaMac.h:856
sLoRaMacPrimitives::MacMcpsConfirm
void(* MacMcpsConfirm)(McpsConfirm_t *McpsConfirm)
MCPS-Confirm primitive.
Definition: LoRaMac.h:1626
MLME_TXCW
@ MLME_TXCW
Definition: LoRaMac.h:940
sMlmeReqJoin::AppKey
uint8_t * AppKey
Definition: LoRaMac.h:971
FRAME_TYPE_DATA_UNCONFIRMED_UP
@ FRAME_TYPE_DATA_UNCONFIRMED_UP
Definition: LoRaMac.h:327
eLoRaMacFlags_t::Bits
struct eLoRaMacFlags_t::sMacFlagBits Bits
LORAMAC_REGION_AS923
@ LORAMAC_REGION_AS923
Definition: LoRaMac.h:1576
eLoRaMacFlags_t::sMacFlagBits
Definition: LoRaMac.h:605
sBand::TxMaxPower
int8_t TxMaxPower
Definition: LoRaMac.h:151
sMcpsIndication::Snr
uint8_t Snr
Definition: LoRaMac.h:884
SRV_MAC_DEV_STATUS_REQ
@ SRV_MAC_DEV_STATUS_REQ
Definition: LoRaMac.h:421
sMcpsReqProprietary
Definition: LoRaMac.h:749
sMulticastParams::Next
struct sMulticastParams * Next
Definition: LoRaMac.h:306
MLME_TXCW_1
@ MLME_TXCW_1
Definition: LoRaMac.h:946
LORAMAC_EVENT_INFO_STATUS_DOWNLINK_REPEATED
@ LORAMAC_EVENT_INFO_STATUS_DOWNLINK_REPEATED
Definition: LoRaMac.h:573
LoRaMacChannelAdd
LoRaMacStatus_t LoRaMacChannelAdd(uint8_t id, ChannelParams_t params)
LoRaMAC channel add service.
Definition: LoRaMac.cpp:3064
MIB_NWK_SKEY
@ MIB_NWK_SKEY
Definition: LoRaMac.h:1138
sMcpsIndication::RxSlot
uint8_t RxSlot
Definition: LoRaMac.h:890
LORAMAC_EVENT_INFO_STATUS_ADDRESS_FAIL
@ LORAMAC_EVENT_INFO_STATUS_ADDRESS_FAIL
Definition: LoRaMac.h:586
uDrRange::Value
int8_t Value
Definition: LoRaMac.h:114
sMcpsReqUnconfirmed
Definition: LoRaMac.h:676
LoRaMacInitialization
LoRaMacStatus_t LoRaMacInitialization(LoRaMacPrimitives_t *primitives, LoRaMacCallback_t *callbacks, LoRaMacRegion_t region, eDeviceClass nodeClass=CLASS_A)
LoRaMAC layer initialization.
Definition: LoRaMac.cpp:2360
MOTE_MAC_LINK_CHECK_REQ
@ MOTE_MAC_LINK_CHECK_REQ
Definition: LoRaMac.h:360
LoRaMacParams_t
struct sLoRaMacParams LoRaMacParams_t
BAT_LEVEL_NO_MEASURE
@ BAT_LEVEL_NO_MEASURE
Definition: LoRaMac.h:460
LORAMAC_EVENT_INFO_STATUS_RX2_TIMEOUT
@ LORAMAC_EVENT_INFO_STATUS_RX2_TIMEOUT
Definition: LoRaMac.h:555
uMibParam::ChannelNbRep
uint8_t ChannelNbRep
Definition: LoRaMac.h:1392
Mcps_t
enum eMcps Mcps_t
LoRaMAC data services.
MOTE_MAC_DL_CHANNEL_ANS
@ MOTE_MAC_DL_CHANNEL_ANS
Definition: LoRaMac.h:392
sMcpsConfirm::Datarate
uint8_t Datarate
Definition: LoRaMac.h:809
eMcps
eMcps
LoRaMAC data services.
Definition: LoRaMac.h:653
sMulticastParams::DownLinkCounter
uint32_t DownLinkCounter
Definition: LoRaMac.h:302
uMibParam::JoinAcceptDelay2
uint32_t JoinAcceptDelay2
Definition: LoRaMac.h:1422
uMibParam::Rx2Channel
Rx2ChannelParams_t Rx2Channel
Definition: LoRaMac.h:1368
sChannelParams::Rx1Frequency
uint32_t Rx1Frequency
Definition: LoRaMac.h:178
uMibParam::JoinAcceptDelay1
uint32_t JoinAcceptDelay1
Definition: LoRaMac.h:1416
sMcpsReq::uMcpsParam::Proprietary
McpsReqProprietary_t Proprietary
Definition: LoRaMac.h:789
sBand::DCycle
uint16_t DCycle
Definition: LoRaMac.h:147
CLASS_B
@ CLASS_B
Definition: LoRaMac.h:98
LORAMAC_STATUS_OK
@ LORAMAC_STATUS_OK
Definition: LoRaMac.h:1524
LORAMAC_STATUS_FREQUENCY_INVALID
@ LORAMAC_STATUS_FREQUENCY_INVALID
Definition: LoRaMac.h:1540
sMlmeReqJoin::DevEui
uint8_t * DevEui
Definition: LoRaMac.h:959
sMcpsReqConfirmed::Datarate
int8_t Datarate
Definition: LoRaMac.h:721
sMcpsIndication::BufferSize
uint8_t BufferSize
Definition: LoRaMac.h:872
uLoRaMacHeader::sHdrBits::MType
uint8_t MType
Definition: LoRaMac.h:489
MIB_REPEATER_SUPPORT
@ MIB_REPEATER_SUPPORT
Definition: LoRaMac.h:1160
LORAMAC_REGION_IN865
@ LORAMAC_REGION_IN865
Definition: LoRaMac.h:1604
sMulticastParams::AppSKey
uint8_t AppSKey[16]
Definition: LoRaMac.h:298
BAT_LEVEL_EMPTY
@ BAT_LEVEL_EMPTY
Definition: LoRaMac.h:452
LoRaMacQueryTxPossible
LoRaMacStatus_t LoRaMacQueryTxPossible(uint8_t size, LoRaMacTxInfo_t *txInfo)
Queries the LoRaMAC if it is possible to send the next frame with a given payload size....
Definition: LoRaMac.cpp:2508
MOTE_MAC_NEW_CHANNEL_ANS
@ MOTE_MAC_NEW_CHANNEL_ANS
Definition: LoRaMac.h:380
sMcpsReqUnconfirmed::fBuffer
void * fBuffer
Definition: LoRaMac.h:687
sMcpsReqConfirmed::fBufferSize
uint16_t fBufferSize
Definition: LoRaMac.h:717
sMcpsReqUnconfirmed::fPort
uint8_t fPort
Definition: LoRaMac.h:683
sMcpsIndication::RxData
bool RxData
Definition: LoRaMac.h:876
sMlmeReqTxCw::Timeout
uint16_t Timeout
Definition: LoRaMac.h:986
uLoRaMacHeader::sHdrBits::Major
uint8_t Major
Definition: LoRaMac.h:481
sLoRaMacParams::AntennaGain
float AntennaGain
Definition: LoRaMac.h:279
sMcpsReqProprietary::fBufferSize
uint16_t fBufferSize
Definition: LoRaMac.h:757
SRV_MAC_TX_PARAM_SETUP_REQ
@ SRV_MAC_TX_PARAM_SETUP_REQ
Definition: LoRaMac.h:433
sMcpsConfirm::Status
LoRaMacEventInfoStatus_t Status
Definition: LoRaMac.h:805
LoRaMacMlmeRequest
LoRaMacStatus_t LoRaMacMlmeRequest(MlmeReq_t *mlmeRequest)
LoRaMAC MLME-Request.
Definition: LoRaMac.cpp:3178
SRV_MAC_NEW_CHANNEL_REQ
@ SRV_MAC_NEW_CHANNEL_REQ
Definition: LoRaMac.h:425
SRV_MAC_LINK_ADR_REQ
@ SRV_MAC_LINK_ADR_REQ
Definition: LoRaMac.h:409
sMlmeReq::uMlmeParam::TxCw
MlmeReqTxCw_t TxCw
Definition: LoRaMac.h:1018
uMibParam::ChannelList
ChannelParams_t * ChannelList
Definition: LoRaMac.h:1362
uMibParam::NetID
uint32_t NetID
Definition: LoRaMac.h:1326
McpsIndication
static McpsIndication_t McpsIndication
Definition: LoRaMac.cpp:390
FRAME_TYPE_JOIN_REQ
@ FRAME_TYPE_JOIN_REQ
Definition: LoRaMac.h:319
LoRaMacMulticastChannelUnlink
LoRaMacStatus_t LoRaMacMulticastChannelUnlink(MulticastParams_t *channelParam)
LoRaMAC multicast channel unlink service.
Definition: LoRaMac.cpp:3139
MibParam_t
union uMibParam MibParam_t
sLoRaMacTxInfo
Definition: LoRaMac.h:1505
sMcpsConfirm
Definition: LoRaMac.h:797
sMlmeConfirm::TxTimeOnAir
TimerTime_t TxTimeOnAir
Definition: LoRaMac.h:1038
LORAMAC_STATUS_FREQ_AND_DR_INVALID
@ LORAMAC_STATUS_FREQ_AND_DR_INVALID
Definition: LoRaMac.h:1548
uMibParam::EnablePublicNetwork
bool EnablePublicNetwork
Definition: LoRaMac.h:1350
uDrRange::sFields
Definition: LoRaMac.h:119
uLoRaMacFrameCtrl::Value
uint8_t Value
Definition: LoRaMac.h:502
sMulticastParams
Definition: LoRaMac.h:286
LORAMAC_EVENT_INFO_STATUS_JOIN_FAIL
@ LORAMAC_EVENT_INFO_STATUS_JOIN_FAIL
Definition: LoRaMac.h:567
uMibParam::MulticastList
MulticastParams_t * MulticastList
Definition: LoRaMac.h:1464
LORAMAC_EVENT_INFO_STATUS_TX_DR_PAYLOAD_SIZE_ERROR
@ LORAMAC_EVENT_INFO_STATUS_TX_DR_PAYLOAD_SIZE_ERROR
Definition: LoRaMac.h:578
eLoRaMacBatteryLevel
eLoRaMacBatteryLevel
Definition: LoRaMac.h:444
sLoRaMacParams::Rx2Channel
Rx2ChannelParams_t Rx2Channel
Definition: LoRaMac.h:263
MlmeReqTxCw_t
struct sMlmeReqTxCw MlmeReqTxCw_t
uDrRange
Definition: LoRaMac.h:110
uMibParam::EnableRepeaterSupport
bool EnableRepeaterSupport
Definition: LoRaMac.h:1356
uLoRaMacHeader::Value
uint8_t Value
Definition: LoRaMac.h:472
sMulticastParams::NwkSKey
uint8_t NwkSKey[16]
Definition: LoRaMac.h:294
sMcpsReqProprietary::fBuffer
void * fBuffer
Definition: LoRaMac.h:753
FRAME_TYPE_RFU
@ FRAME_TYPE_RFU
Definition: LoRaMac.h:343
MIB_DEVICE_CLASS
@ MIB_DEVICE_CLASS
Definition: LoRaMac.h:1106
LORAMAC_EVENT_INFO_STATUS_MIC_FAIL
@ LORAMAC_EVENT_INFO_STATUS_MIC_FAIL
Definition: LoRaMac.h:590
LORAMAC_REGION_US915
@ LORAMAC_REGION_US915
Definition: LoRaMac.h:1608
uMibParam::Class
DeviceClass_t Class
Definition: LoRaMac.h:1308
LoRaMacMibGetRequestConfirm
LoRaMacStatus_t LoRaMacMibGetRequestConfirm(MibRequestConfirm_t *mibGet)
LoRaMAC MIB-Get.
Definition: LoRaMac.cpp:2577
sMlmeConfirm::NbRetries
uint8_t NbRetries
Definition: LoRaMac.h:1051
sMcpsReqUnconfirmed::fBufferSize
uint16_t fBufferSize
Definition: LoRaMac.h:691
sMcpsReqConfirmed::fPort
uint8_t fPort
Definition: LoRaMac.h:709
sMcpsIndication::Status
LoRaMacEventInfoStatus_t Status
Definition: LoRaMac.h:848
MIB_ADR
@ MIB_ADR
Definition: LoRaMac.h:1120
MIB_APP_SKEY
@ MIB_APP_SKEY
Definition: LoRaMac.h:1144
uMibParam::NwkSKey
uint8_t * NwkSKey
Definition: LoRaMac.h:1338
sMlmeConfirm::DemodMargin
uint8_t DemodMargin
Definition: LoRaMac.h:1043
MIB_CHANNELS_DATARATE
@ MIB_CHANNELS_DATARATE
Definition: LoRaMac.h:1244
sMlmeReqTxCw::Power
uint8_t Power
Definition: LoRaMac.h:994
sChannelParams::DrRange
DrRange_t DrRange
Definition: LoRaMac.h:182
sMcpsReq
Definition: LoRaMac.h:768
sMcpsConfirm::NbRetries
uint8_t NbRetries
Definition: LoRaMac.h:821
sRx2ChannelParams::Frequency
uint32_t Frequency
Definition: LoRaMac.h:197
LORAMAC_REGION_EU433
@ LORAMAC_REGION_EU433
Definition: LoRaMac.h:1592
uMibParam::MinRxSymbols
uint8_t MinRxSymbols
Definition: LoRaMac.h:1476
uMibParam::SystemMaxRxError
uint32_t SystemMaxRxError
Definition: LoRaMac.h:1470
MIB_NETWORK_JOINED
@ MIB_NETWORK_JOINED
Definition: LoRaMac.h:1112
MCPS_PROPRIETARY
@ MCPS_PROPRIETARY
Definition: LoRaMac.h:669
sMcpsReq::uMcpsParam::Confirmed
McpsReqConfirmed_t Confirmed
Definition: LoRaMac.h:785
uLoRaMacFrameCtrl::sCtrlBits
Definition: LoRaMac.h:507
McpsReq_t
struct sMcpsReq McpsReq_t
sLoRaMacPrimitives::MacMlmeConfirm
void(* MacMlmeConfirm)(MlmeConfirm_t *MlmeConfirm)
MLME-Confirm primitive.
Definition: LoRaMac.h:1638
uMibParam::ChannelsDefaultMask
uint16_t * ChannelsDefaultMask
Definition: LoRaMac.h:1386
sLoRaMacParams::ReceiveDelay1
uint32_t ReceiveDelay1
Definition: LoRaMac.h:239
DrRange_t
union uDrRange DrRange_t
sMlmeReqJoin
Definition: LoRaMac.h:953
MIB_CHANNELS_DEFAULT_DATARATE
@ MIB_CHANNELS_DEFAULT_DATARATE
Definition: LoRaMac.h:1236
TimerTime_t
uint32_t TimerTime_t
Timer time variable definition.
Definition: timer.h:68
sMlmeConfirm::Status
LoRaMacEventInfoStatus_t Status
Definition: LoRaMac.h:1034
MlmeReq_t
struct sMlmeReq MlmeReq_t
sRx2ChannelParams::Datarate
uint8_t Datarate
Definition: LoRaMac.h:205
sMcpsIndication
Definition: LoRaMac.h:840
LoRaMacRegion_t
enum eLoRaMacRegion_t LoRaMacRegion_t
MIB_MIN_RX_SYMBOLS
@ MIB_MIN_RX_SYMBOLS
Definition: LoRaMac.h:1289
LORAMAC_STATUS_REGION_NOT_SUPPORTED
@ LORAMAC_STATUS_REGION_NOT_SUPPORTED
Definition: LoRaMac.h:1565
sMcpsReq::Type
Mcps_t Type
Definition: LoRaMac.h:772
Mlme_t
enum eMlme Mlme_t
LoRaMAC management services.
LORAMAC_STATUS_LENGTH_ERROR
@ LORAMAC_STATUS_LENGTH_ERROR
Definition: LoRaMac.h:1556
sMcpsIndication::McpsIndication
Mcps_t McpsIndication
Definition: LoRaMac.h:844
uMibParam::DownLinkCounter
uint32_t DownLinkCounter
Definition: LoRaMac.h:1458
sMcpsConfirm::McpsRequest
Mcps_t McpsRequest
Definition: LoRaMac.h:801
LoRaMacMibSetRequestConfirm
LoRaMacStatus_t LoRaMacMibSetRequestConfirm(MibRequestConfirm_t *mibSet)
LoRaMAC MIB-Set.
Definition: LoRaMac.cpp:2757
sMlmeReq
Definition: LoRaMac.h:1001
sLoRaMacParams::ChannelsNbRep
uint8_t ChannelsNbRep
Definition: LoRaMac.h:255
LoRaMacFrameType_t
enum eLoRaMacFrameType LoRaMacFrameType_t
sMcpsIndication::Buffer
uint8_t * Buffer
Definition: LoRaMac.h:868