LoRaMAC  4.6.0
Documentation of the API
LoRaMacTypes.h File Reference

LoRa MAC layer internal types definition. Please do not include in application sources. More...

#include <stdint.h>
#include <stdbool.h>
#include "timer.h"
#include "systime.h"

Go to the source code of this file.

Data Structures

struct  McRxParams_t
 
struct  McChannelParams_t
 
union  McChannelParams_t::uMcKeys
 
struct  MulticastCtx_t
 
struct  Band_t
 
union  DrRange_t
 
struct  DrRange_t::sFields
 
struct  ChannelParams_t
 
union  McRxParams_t.Params
 
struct  McRxParams_t.Params.ClassB
 
struct  McRxParams_t.Params.ClassC
 
struct  McChannelParams_t::uMcKeys.Session
 
#define LORAMAC_CRYPTO_UNICAST_KEYS   0
 
#define LORAMAC_CRYPTO_MULTICAST_KEYS   127
 
#define LORAMAC_MAX_MC_CTX   4
 
#define DR_0   0
 
#define DR_1   1
 
#define DR_2   2
 
#define DR_3   3
 
#define DR_4   4
 
#define DR_5   5
 
#define DR_6   6
 
#define DR_7   7
 
#define DR_8   8
 
#define DR_9   9
 
#define DR_10   10
 
#define DR_11   11
 
#define DR_12   12
 
#define DR_13   13
 
#define DR_14   14
 
#define DR_15   15
 
#define TX_POWER_0   0
 
#define TX_POWER_1   1
 
#define TX_POWER_2   2
 
#define TX_POWER_3   3
 
#define TX_POWER_4   4
 
#define TX_POWER_5   5
 
#define TX_POWER_6   6
 
#define TX_POWER_7   7
 
#define TX_POWER_8   8
 
#define TX_POWER_9   9
 
#define TX_POWER_10   10
 
#define TX_POWER_11   11
 
#define TX_POWER_12   12
 
#define TX_POWER_13   13
 
#define TX_POWER_14   14
 
#define TX_POWER_15   15
 
enum  DeviceClass_t { CLASS_A = 0x00, CLASS_B = 0x01, CLASS_C = 0x02 }
 
enum  FType_t { FRAME_TYPE_A, FRAME_TYPE_B, FRAME_TYPE_C, FRAME_TYPE_D }
 
enum  FCntIdentifier_t {
  FCNT_UP = 0, N_FCNT_DOWN, A_FCNT_DOWN, FCNT_DOWN,
  MC_FCNT_DOWN_0, MC_FCNT_DOWN_1, MC_FCNT_DOWN_2, MC_FCNT_DOWN_3,
  RJ_COUNT_0, RJ_COUNT_1
}
 
enum  KeyIdentifier_t {
  APP_KEY = 0, NWK_KEY, J_S_INT_KEY, J_S_ENC_KEY,
  F_NWK_S_INT_KEY, S_NWK_S_INT_KEY, NWK_S_ENC_KEY, APP_S_KEY,
  MC_ROOT_KEY, MC_KE_KEY = LORAMAC_CRYPTO_MULTICAST_KEYS, MC_KEY_0, MC_APP_S_KEY_0,
  MC_NWK_S_KEY_0, MC_KEY_1, MC_APP_S_KEY_1, MC_NWK_S_KEY_1,
  MC_KEY_2, MC_APP_S_KEY_2, MC_NWK_S_KEY_2, MC_KEY_3,
  MC_APP_S_KEY_3, MC_NWK_S_KEY_3, SLOT_RAND_ZERO_KEY, NO_KEY
}
 
enum  AddressIdentifier_t {
  MULTICAST_0_ADDR = 0, MULTICAST_1_ADDR = 1, MULTICAST_2_ADDR = 2, MULTICAST_3_ADDR = 3,
  UNICAST_DEV_ADDR = 4
}
 
enum  JoinReqIdentifier_t { REJOIN_REQ_0 = 0x00, REJOIN_REQ_1 = 0x01, REJOIN_REQ_2 = 0x02, JOIN_REQ = 0xFF }
 
enum  LoRaMacMoteCmd_t {
  MOTE_MAC_RESET_IND = 0x01, MOTE_MAC_LINK_CHECK_REQ = 0x02, MOTE_MAC_LINK_ADR_ANS = 0x03, MOTE_MAC_DUTY_CYCLE_ANS = 0x04,
  MOTE_MAC_RX_PARAM_SETUP_ANS = 0x05, MOTE_MAC_DEV_STATUS_ANS = 0x06, MOTE_MAC_NEW_CHANNEL_ANS = 0x07, MOTE_MAC_RX_TIMING_SETUP_ANS = 0x08,
  MOTE_MAC_TX_PARAM_SETUP_ANS = 0x09, MOTE_MAC_DL_CHANNEL_ANS = 0x0A, MOTE_MAC_REKEY_IND = 0x0B, MOTE_MAC_DEVICE_TIME_REQ = 0x0D,
  MOTE_MAC_ADR_PARAM_SETUP_ANS = 0x0C, MOTE_MAC_REJOIN_PARAM_ANS = 0x0F, MOTE_MAC_DEVICE_MODE_IND = 0x20, MOTE_MAC_PING_SLOT_INFO_REQ = 0x10,
  MOTE_MAC_PING_SLOT_CHANNEL_ANS = 0x11, MOTE_MAC_BEACON_TIMING_REQ = 0x12, MOTE_MAC_BEACON_FREQ_ANS = 0x13
}
 
enum  LoRaMacSrvCmd_t {
  SRV_MAC_RESET_CONF = 0x01, SRV_MAC_LINK_CHECK_ANS = 0x02, SRV_MAC_LINK_ADR_REQ = 0x03, SRV_MAC_DUTY_CYCLE_REQ = 0x04,
  SRV_MAC_RX_PARAM_SETUP_REQ = 0x05, SRV_MAC_DEV_STATUS_REQ = 0x06, SRV_MAC_NEW_CHANNEL_REQ = 0x07, SRV_MAC_RX_TIMING_SETUP_REQ = 0x08,
  SRV_MAC_TX_PARAM_SETUP_REQ = 0x09, SRV_MAC_DL_CHANNEL_REQ = 0x0A, SRV_MAC_REKEY_CONF = 0x0B, SRV_MAC_ADR_PARAM_SETUP_REQ = 0x0C,
  SRV_MAC_FORCE_REJOIN_REQ = 0x0E, SRV_MAC_REJOIN_PARAM_REQ = 0x0F, SRV_MAC_DEVICE_MODE_CONF = 0x20, SRV_MAC_DEVICE_TIME_ANS = 0x0D,
  SRV_MAC_PING_SLOT_INFO_ANS = 0x10, SRV_MAC_PING_SLOT_CHANNEL_REQ = 0x11, SRV_MAC_BEACON_TIMING_ANS = 0x12, SRV_MAC_BEACON_FREQ_REQ = 0x13
}
 
enum  LoRaMacFrameType_t {
  FRAME_TYPE_JOIN_REQ = 0x00, FRAME_TYPE_JOIN_ACCEPT = 0x01, FRAME_TYPE_DATA_UNCONFIRMED_UP = 0x02, FRAME_TYPE_DATA_UNCONFIRMED_DOWN = 0x03,
  FRAME_TYPE_DATA_CONFIRMED_UP = 0x04, FRAME_TYPE_DATA_CONFIRMED_DOWN = 0x05, FRAME_TYPE_REJOIN = 0x06, FRAME_TYPE_PROPRIETARY = 0x07
}
 
enum  LoRaMacBatteryLevel_t { BAT_LEVEL_EXT_SRC = 0x00, BAT_LEVEL_EMPTY = 0x01, BAT_LEVEL_FULL = 0xFE, BAT_LEVEL_NO_MEASURE = 0xFF }
 

Detailed Description

LoRa MAC layer internal types definition. Please do not include in application sources.

______ _
/ _____) _ | |
( (____ _____ ____ _| |_ _____ ____| |__
\____ \| ___ | (_ _) ___ |/ ___) _ \
_____) ) ____| | | || |_| ____( (___| | | |
(______/|_____)_|_|_| \__)_____)\____)_| |_|
(C)2013 Semtech
___ _____ _ ___ _ _____ ___ ___ ___ ___
/ __|_ _/_\ / __| |/ / __/ _ \| _ \/ __| __|
\__ \ | |/ _ \ (__| ' <| _| (_) | / (__| _|
|___/ |_/_/ \_\___|_|\_\_| \___/|_|_\\___|___|
embedded.connectivity.solutions===============
Author
Miguel Luis ( Semtech )
Daniel Jaeckle ( STACKFORCE )
Johannes Bruder ( STACKFORCE )

addtogroup LORAMAC


Data Structure Documentation

◆ McRxParams_t

struct McRxParams_t
Data Fields
DeviceClass_t Class

Multicats channel LoRaWAN class B or C

union McRxParams_t Params

◆ McChannelParams_t

struct McChannelParams_t

Multicast channel

Data Fields
bool IsRemotelySetup

Indicate if the multicast channel is being setup remotely or locally. Indicates which set of keys are to be used. uMcKeys

bool IsEnabled

True if the entry is active

AddressIdentifier_t GroupID
uint32_t Address

Address

union uMcKeys McKeys
uint32_t FCountMin

Minimum multicast frame counter value

uint32_t FCountMax

Maximum multicast frame counter value

McRxParams_t RxParams

Multicast reception parameters

◆ McChannelParams_t::uMcKeys

union McChannelParams_t::uMcKeys

Multicast keys

Data Fields
uint8_t * McKeyE

Encrypted multicast key - Used when IsRemotelySetup equals true. MC_KEY is decrypted and then the session keys ar derived.

struct uMcKeys Session

Multicast Session keys - Used when IsRemotelySetup equals false

◆ MulticastCtx_t

struct MulticastCtx_t

Multicast context

Data Fields
McChannelParams_t ChannelParams

Multicast channel parameters

uint32_t * DownLinkCounter

Downlink counter

uint8_t PingNb

Number of multicast slots. The variable can be calculated as follows: PingNb = 128 / ( 1 << periodicity ), where 0 <= periodicity <= 7

uint16_t PingPeriod

Period of the multicast slots. The variable can be calculated as follows: PingPeriod = 4096 / PingNb

uint16_t PingOffset

Ping offset of the multicast channel for Class B

uint8_t FPendingSet

Set to 1, if the FPending bit is set

◆ Band_t

struct Band_t

LoRaMAC band parameters definition

Data Fields
uint16_t DCycle

Duty cycle

int8_t TxMaxPower

Maximum Tx power

TimerTime_t LastBandUpdateTime

The last time the band has been synchronized with the current time

TimerTime_t LastMaxCreditAssignTime

The last time we have assigned the max credits for the 24h interval.

TimerTime_t TimeCredits

Current time credits which are available. This is a value in ms

TimerTime_t MaxTimeCredits

Maximum time credits which are available. This is a value in ms

bool ReadyForTransmission

Set to true when the band is ready for use.

◆ DrRange_t

union DrRange_t

LoRaMAC channels parameters definition

Data Fields
int8_t Value

Byte-access to the bits

struct sFields Fields

◆ DrRange_t::sFields

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.

◆ ChannelParams_t

struct ChannelParams_t

LoRaMAC channel definition

Data Fields
uint32_t Frequency

Frequency in Hz

uint32_t Rx1Frequency

Alternative frequency for RX window 1

DrRange_t DrRange

Data rate definition

uint8_t Band

Band index

◆ McRxParams_t.Params

union McRxParams_t.Params
Data Fields
Params ClassB
Params ClassC

◆ McRxParams_t.Params.ClassB

struct McRxParams_t.Params.ClassB
Data Fields
uint32_t Frequency

Reception frequency of the ping slot windows

int8_t Datarate

Datarate of the ping slot

uint16_t Periodicity

This parameter is necessary for class B operation. It defines the periodicity of the multicast downlink slots

◆ McRxParams_t.Params.ClassC

struct McRxParams_t.Params.ClassC
Data Fields
uint32_t Frequency

Reception frequency of the ping slot windows

int8_t Datarate

Datarate of the ping slot

◆ McChannelParams_t::uMcKeys.Session

struct McChannelParams_t::uMcKeys.Session

Multicast Session keys - Used when IsRemotelySetup equals false

Data Fields
uint8_t * McAppSKey

Multicast application session key

uint8_t * McNwkSKey

Multicast network session key

Macro Definition Documentation

◆ LORAMAC_CRYPTO_UNICAST_KEYS

#define LORAMAC_CRYPTO_UNICAST_KEYS   0

Start value for unicast keys enumeration

◆ LORAMAC_CRYPTO_MULTICAST_KEYS

#define LORAMAC_CRYPTO_MULTICAST_KEYS   127

Start value for multicast keys enumeration

◆ LORAMAC_MAX_MC_CTX

#define LORAMAC_MAX_MC_CTX   4

Maximum number of multicast context

◆ DR_0

#define DR_0   0
Region SF
AS923 SF12 - BW125
AU915 SF10 - BW125
CN470 SF12 - BW125
CN779 SF12 - BW125
EU433 SF12 - BW125
EU868 SF12 - BW125
IN865 SF12 - BW125
KR920 SF12 - BW125
US915 SF10 - BW125
RU864 SF12 - BW125

◆ DR_1

#define DR_1   1
Region SF
AS923 SF11 - BW125
AU915 SF9 - BW125
CN470 SF11 - BW125
CN779 SF11 - BW125
EU433 SF11 - BW125
EU868 SF11 - BW125
IN865 SF11 - BW125
KR920 SF11 - BW125
US915 SF9 - BW125
RU864 SF11 - BW125

◆ DR_2

#define DR_2   2
Region SF
AS923 SF10 - BW125
AU915 SF8 - BW125
CN470 SF10 - BW125
CN779 SF10 - BW125
EU433 SF10 - BW125
EU868 SF10 - BW125
IN865 SF10 - BW125
KR920 SF10 - BW125
US915 SF8 - BW125
RU864 SF10 - BW125

◆ DR_3

#define DR_3   3
Region SF
AS923 SF9 - BW125
AU915 SF7 - BW125
CN470 SF9 - BW125
CN779 SF9 - BW125
EU433 SF9 - BW125
EU868 SF9 - BW125
IN865 SF9 - BW125
KR920 SF9 - BW125
US915 SF7 - BW125
RU864 SF9 - BW125

◆ DR_4

#define DR_4   4
Region SF
AS923 SF8 - BW125
AU915 SF8 - BW500
CN470 SF8 - BW125
CN779 SF8 - BW125
EU433 SF8 - BW125
EU868 SF8 - BW125
IN865 SF8 - BW125
KR920 SF8 - BW125
US915 SF8 - BW500
RU864 SF8 - BW125

◆ DR_5

#define DR_5   5
Region SF
AS923 SF7 - BW125
AU915 RFU
CN470 SF7 - BW125
CN779 SF7 - BW125
EU433 SF7 - BW125
EU868 SF7 - BW125
IN865 SF7 - BW125
KR920 SF7 - BW125
US915 RFU
RU864 SF7 - BW125

◆ DR_6

#define DR_6   6
Region SF
AS923 SF7 - BW250
AU915 RFU
CN470 SF12 - BW125
CN779 SF7 - BW250
EU433 SF7 - BW250
EU868 SF7 - BW250
IN865 SF7 - BW250
KR920 RFU
US915 RFU
RU864 SF7 - BW250

◆ DR_7

#define DR_7   7
Region SF
AS923 FSK
AU915 RFU
CN470 SF12 - BW125
CN779 FSK
EU433 FSK
EU868 FSK
IN865 FSK
KR920 RFU
US915 RFU
RU864 FSK

◆ DR_8

#define DR_8   8
Region SF
AS923 RFU
AU915 SF12 - BW500
CN470 RFU
CN779 RFU
EU433 RFU
EU868 RFU
IN865 RFU
KR920 RFU
US915 SF12 - BW500
RU864 RFU

◆ DR_9

#define DR_9   9
Region SF
AS923 RFU
AU915 SF11 - BW500
CN470 RFU
CN779 RFU
EU433 RFU
EU868 RFU
IN865 RFU
KR920 RFU
US915 SF11 - BW500
RU864 RFU

◆ DR_10

#define DR_10   10
Region SF
AS923 RFU
AU915 SF10 - BW500
CN470 RFU
CN779 RFU
EU433 RFU
EU868 RFU
IN865 RFU
KR920 RFU
US915 SF10 - BW500
RU864 RFU

◆ DR_11

#define DR_11   11
Region SF
AS923 RFU
AU915 SF9 - BW500
CN470 RFU
CN779 RFU
EU433 RFU
EU868 RFU
IN865 RFU
KR920 RFU
US915 SF9 - BW500
RU864 RFU

◆ DR_12

#define DR_12   12
Region SF
AS923 RFU
AU915 SF8 - BW500
CN470 RFU
CN779 RFU
EU433 RFU
EU868 RFU
IN865 RFU
KR920 RFU
US915 SF8 - BW500
RU864 RFU

◆ DR_13

#define DR_13   13
Region SF
AS923 RFU
AU915 SF7 - BW500
CN470 RFU
CN779 RFU
EU433 RFU
EU868 RFU
IN865 RFU
KR920 RFU
US915 SF7 - BW500
RU864 RFU

◆ DR_14

#define DR_14   14
Region SF
AS923 RFU
AU915 RFU
CN470 RFU
CN779 RFU
EU433 RFU
EU868 RFU
IN865 RFU
KR920 RFU
US915 RFU
RU864 RFU

◆ DR_15

#define DR_15   15
Region SF
AS923 RFU
AU915 RFU
CN470 RFU
CN779 RFU
EU433 RFU
EU868 RFU
IN865 RFU
KR920 RFU
US915 RFU
RU864 RFU

◆ TX_POWER_0

#define TX_POWER_0   0
Region dBM
AS923 Max EIRP
AU915 Max EIRP
CN470 Max EIRP
CN779 Max EIRP
EU433 Max EIRP
EU868 Max EIRP
IN865 Max EIRP
KR920 Max EIRP
US915 Max ERP
RU864 Max EIRP

◆ TX_POWER_1

#define TX_POWER_1   1
Region dBM
AS923 Max EIRP - 2
AU915 Max EIRP - 2
CN470 Max EIRP - 2
CN779 Max EIRP - 2
EU433 Max EIRP - 2
EU868 Max EIRP - 2
IN865 Max EIRP - 2
KR920 Max EIRP - 2
US915 Max ERP - 2
RU864 Max EIRP - 2

◆ TX_POWER_2

#define TX_POWER_2   2
Region dBM
AS923 Max EIRP - 4
AU915 Max EIRP - 4
CN470 Max EIRP - 4
CN779 Max EIRP - 4
EU433 Max EIRP - 4
EU868 Max EIRP - 4
IN865 Max EIRP - 4
KR920 Max EIRP - 4
US915 Max ERP - 4
RU864 Max EIRP - 4

◆ TX_POWER_3

#define TX_POWER_3   3
Region dBM
AS923 Max EIRP - 6
AU915 Max EIRP - 6
CN470 Max EIRP - 6
CN779 Max EIRP - 6
EU433 Max EIRP - 6
EU868 Max EIRP - 6
IN865 Max EIRP - 6
KR920 Max EIRP - 6
US915 Max ERP - 6
RU864 Max EIRP - 6

◆ TX_POWER_4

#define TX_POWER_4   4
Region dBM
AS923 Max EIRP - 8
AU915 Max EIRP - 8
CN470 Max EIRP - 8
CN779 Max EIRP - 8
EU433 Max EIRP - 8
EU868 Max EIRP - 8
IN865 Max EIRP - 8
KR920 Max EIRP - 8
US915 Max ERP - 8
RU864 Max EIRP - 8

◆ TX_POWER_5

#define TX_POWER_5   5
Region dBM
AS923 Max EIRP - 10
AU915 Max EIRP - 10
CN470 Max EIRP - 10
CN779 Max EIRP - 10
EU433 Max EIRP - 10
EU868 Max EIRP - 10
IN865 Max EIRP - 10
KR920 Max EIRP - 10
US915 Max ERP - 10
RU864 Max EIRP - 10
Examples
periodic-uplink-lpp/NAMote72/main.c.

◆ TX_POWER_6

#define TX_POWER_6   6
Region dBM
AS923 Max EIRP - 12
AU915 Max EIRP - 12
CN470 Max EIRP - 12
CN779 -
EU433 -
EU868 Max EIRP - 12
IN865 Max EIRP - 12
KR920 Max EIRP - 12
US915 Max ERP - 12
RU864 Max EIRP - 12

◆ TX_POWER_7

#define TX_POWER_7   7
Region dBM
AS923 Max EIRP - 14
AU915 Max EIRP - 14
CN470 Max EIRP - 14
CN779 -
EU433 -
EU868 Max EIRP - 14
IN865 Max EIRP - 14
KR920 Max EIRP - 14
US915 Max ERP - 14
RU864 Max EIRP - 14

◆ TX_POWER_8

#define TX_POWER_8   8
Region dBM
AS923 -
AU915 Max EIRP - 16
CN470 -
CN779 -
EU433 -
EU868 -
IN865 Max EIRP - 16
KR920 -
US915 Max ERP - 16
RU864 -

◆ TX_POWER_9

#define TX_POWER_9   9
Region dBM
AS923 -
AU915 Max EIRP - 18
CN470 -
CN779 -
EU433 -
EU868 -
IN865 Max EIRP - 18
KR920 -
US915 Max ERP - 18
RU864 -

◆ TX_POWER_10

#define TX_POWER_10   10
Region dBM
AS923 -
AU915 Max EIRP - 20
CN470 -
CN779 -
EU433 -
EU868 -
IN865 Max EIRP - 20
KR920 -
US915 Max ERP - 20
RU864 -

◆ TX_POWER_11

#define TX_POWER_11   11
Region dBM
AS923 -
AU915 Max EIRP - 22
CN470 -
CN779 -
EU433 -
EU868 -
IN865 -
KR920 -
US915 Max ERP - 22
RU864 -

◆ TX_POWER_12

#define TX_POWER_12   12
Region dBM
AS923 -
AU915 Max EIRP - 24
CN470 -
CN779 -
EU433 -
EU868 -
IN865 -
KR920 -
US915 Max ERP - 24
RU864 -

◆ TX_POWER_13

#define TX_POWER_13   13
Region dBM
AS923 -
AU915 Max EIRP - 26
CN470 -
CN779 -
EU433 -
EU868 -
IN865 -
KR920 -
US915 Max ERP - 26
RU864 -

◆ TX_POWER_14

#define TX_POWER_14   14
Region dBM
AS923 -
AU915 Max EIRP - 28
CN470 -
CN779 -
EU433 -
EU868 -
IN865 -
KR920 -
US915 Max ERP - 28
RU864 -

◆ TX_POWER_15

#define TX_POWER_15   15

RFU

Enumeration Type Documentation

◆ DeviceClass_t

LoRaWAN devices classes definition

LoRaWAN Specification V1.0.2, chapter 2.1

Enumerator
CLASS_A 

LoRaWAN device class A

LoRaWAN Specification V1.0.2, chapter 3

CLASS_B 

LoRaWAN device class B

LoRaWAN Specification V1.0.2, chapter 8

CLASS_C 

LoRaWAN device class C

LoRaWAN Specification V1.0.2, chapter 17

◆ FType_t

enum FType_t

LoRaWAN Frame type enumeration to differ between the possible data up/down frame configurations.

Note: The naming is implementation specific since there is no definition in the LoRaWAN specification included.

Enumerator
FRAME_TYPE_A 

Frame type A

FOptsLen > 0, Fopt present, FPort > 0, FRMPayload present

FRAME_TYPE_B 

Frame type B

FOptsLen > 0, Fopt present, FPort not present, FRMPayload not present

FRAME_TYPE_C 

Frame type C

FOptsLen = 0, Fopt not present, FPort = 0 , FRMPayload containing MAC commands

FRAME_TYPE_D 

Frame type D

FOptsLen = 0, Fopt not present, FPort > 0 , FRMPayload present

◆ FCntIdentifier_t

LoRaWAN Frame counter identifier.

Enumerator
FCNT_UP 

Uplink frame counter which is incremented with each uplink.

N_FCNT_DOWN 

Network downlink frame counter which is incremented with each downlink on FPort 0 or when the FPort field is missing.

A_FCNT_DOWN 

Application downlink frame counter which is incremented with each downlink on a port different than 0.

FCNT_DOWN 

In case if the device is connected to a LoRaWAN 1.0 Server, this counter is used for every kind of downlink frame.

MC_FCNT_DOWN_0 

Multicast downlink counter for index 0

MC_FCNT_DOWN_1 

Multicast downlink counter for index 1

MC_FCNT_DOWN_2 

Multicast downlink counter for index 2

MC_FCNT_DOWN_3 

Multicast downlink counter for index 3

RJ_COUNT_0 

RJcount1 is a counter incremented with every transmitted Type 1 Rejoin request.

RJ_COUNT_1 

RJcount0 is a counter incremented with every transmitted Type 0 or 2 Rejoin request.

◆ KeyIdentifier_t

LoRaMac Key identifier

Enumerator
APP_KEY 

Application root key

NWK_KEY 

Network root key

J_S_INT_KEY 

Join session integrity key

J_S_ENC_KEY 

Join session encryption key

F_NWK_S_INT_KEY 

Forwarding Network session integrity key

S_NWK_S_INT_KEY 

Serving Network session integrity key

NWK_S_ENC_KEY 

Network session encryption key

APP_S_KEY 

Application session key

MC_ROOT_KEY 

Multicast root key

MC_KE_KEY 

Multicast key encryption key

MC_KEY_0 

Multicast root key index 0

MC_APP_S_KEY_0 

Multicast Application session key index 0

MC_NWK_S_KEY_0 

Multicast Network session key index 0

MC_KEY_1 

Multicast root key index 1

MC_APP_S_KEY_1 

Multicast Application session key index 1

MC_NWK_S_KEY_1 

Multicast Network session key index 1

MC_KEY_2 

Multicast root key index 2

MC_APP_S_KEY_2 

Multicast Application session key index 2

MC_NWK_S_KEY_2 

Multicast Network session key index 2

MC_KEY_3 

Multicast root key index 3

MC_APP_S_KEY_3 

Multicast Application session key index 3

MC_NWK_S_KEY_3 

Multicast Network session key index 3

SLOT_RAND_ZERO_KEY 

Zero key for slot randomization in class B

NO_KEY 

No Key

◆ AddressIdentifier_t

LoRaMac Crypto address identifier

Enumerator
MULTICAST_0_ADDR 

Multicast Address for index 0

MULTICAST_1_ADDR 

Multicast Address for index 1

MULTICAST_2_ADDR 

Multicast Address for index 2

MULTICAST_3_ADDR 

Multicast Address for index 3

UNICAST_DEV_ADDR 

Unicast End-device address

◆ JoinReqIdentifier_t

LoRaMac join-request / rejoin type identifier

Enumerator
REJOIN_REQ_0 

Rejoin type 0

REJOIN_REQ_1 

Rejoin type 1

REJOIN_REQ_2 

Rejoin type 2

JOIN_REQ 

Join-request

◆ LoRaMacMoteCmd_t

LoRaMAC mote MAC commands

LoRaWAN Specification V1.1.0, chapter 5, table 4

Enumerator
MOTE_MAC_RESET_IND 

ResetInd

MOTE_MAC_LINK_CHECK_REQ 

LinkCheckReq

MOTE_MAC_LINK_ADR_ANS 

LinkADRAns

MOTE_MAC_DUTY_CYCLE_ANS 

DutyCycleAns

MOTE_MAC_RX_PARAM_SETUP_ANS 

RXParamSetupAns

MOTE_MAC_DEV_STATUS_ANS 

DevStatusAns

MOTE_MAC_NEW_CHANNEL_ANS 

NewChannelAns

MOTE_MAC_RX_TIMING_SETUP_ANS 

RXTimingSetupAns

MOTE_MAC_TX_PARAM_SETUP_ANS 

TXParamSetupAns

MOTE_MAC_DL_CHANNEL_ANS 

DlChannelAns

MOTE_MAC_REKEY_IND 

RekeyInd

MOTE_MAC_DEVICE_TIME_REQ 

DeviceTimeReq

MOTE_MAC_ADR_PARAM_SETUP_ANS 

ADRParamSetupAns

MOTE_MAC_REJOIN_PARAM_ANS 

RejoinParamSetupAns

MOTE_MAC_DEVICE_MODE_IND 

DeviceModeInd ( Class C only )

MOTE_MAC_PING_SLOT_INFO_REQ 

PingSlotInfoReq

MOTE_MAC_PING_SLOT_CHANNEL_ANS 

PingSlotFreqAns

MOTE_MAC_BEACON_TIMING_REQ 

BeaconTimingReq

MOTE_MAC_BEACON_FREQ_ANS 

BeaconFreqAns

◆ LoRaMacSrvCmd_t

LoRaMAC server MAC commands

LoRaWAN Specification V1.1.0 chapter 5, table 4

Enumerator
SRV_MAC_RESET_CONF 

ResetInd

SRV_MAC_LINK_CHECK_ANS 

LinkCheckAns

SRV_MAC_LINK_ADR_REQ 

LinkADRReq

SRV_MAC_DUTY_CYCLE_REQ 

DutyCycleReq

SRV_MAC_RX_PARAM_SETUP_REQ 

RXParamSetupReq

SRV_MAC_DEV_STATUS_REQ 

DevStatusReq

SRV_MAC_NEW_CHANNEL_REQ 

NewChannelReq

SRV_MAC_RX_TIMING_SETUP_REQ 

RXTimingSetupReq

SRV_MAC_TX_PARAM_SETUP_REQ 

NewChannelReq

SRV_MAC_DL_CHANNEL_REQ 

DlChannelReq

SRV_MAC_REKEY_CONF 

RekeyConf

SRV_MAC_ADR_PARAM_SETUP_REQ 

ADRParamSetupReq

SRV_MAC_FORCE_REJOIN_REQ 

ForceRejoinReq

SRV_MAC_REJOIN_PARAM_REQ 

RejoinParamSetupReq

SRV_MAC_DEVICE_MODE_CONF 

DeviceModeConf ( Class C only )

SRV_MAC_DEVICE_TIME_ANS 

DeviceTimeAns

SRV_MAC_PING_SLOT_INFO_ANS 

PingSlotInfoAns

SRV_MAC_PING_SLOT_CHANNEL_REQ 

PingSlotChannelReq

SRV_MAC_BEACON_TIMING_ANS 

BeaconTimingAns

SRV_MAC_BEACON_FREQ_REQ 

BeaconFreqReq

◆ LoRaMacFrameType_t

LoRaMAC frame types

LoRaWAN Specification V1.0.2, chapter 4.2.1, table 1

Enumerator
FRAME_TYPE_JOIN_REQ 

LoRaMAC join request frame

FRAME_TYPE_JOIN_ACCEPT 

LoRaMAC join accept frame

FRAME_TYPE_DATA_UNCONFIRMED_UP 

LoRaMAC unconfirmed up-link frame

FRAME_TYPE_DATA_UNCONFIRMED_DOWN 

LoRaMAC unconfirmed down-link frame

FRAME_TYPE_DATA_CONFIRMED_UP 

LoRaMAC confirmed up-link frame

FRAME_TYPE_DATA_CONFIRMED_DOWN 

LoRaMAC confirmed down-link frame

FRAME_TYPE_REJOIN 

LoRaMAC Rejoin Request

FRAME_TYPE_PROPRIETARY 

LoRaMAC proprietary frame

◆ LoRaMacBatteryLevel_t

LoRaMAC Battery level indicator

Enumerator
BAT_LEVEL_EXT_SRC 

External power source

BAT_LEVEL_EMPTY 

Battery level empty

BAT_LEVEL_FULL 

Battery level full

BAT_LEVEL_NO_MEASURE 

Battery level - no measurement available