LoRaMAC
4.4.6
Documentation of the API
|
LoRa MAC layer header type definitions. More...
#include <stdint.h>
Go to the source code of this file.
Data Structures | |
union | LoRaMacDLSettings_t |
struct | LoRaMacDLSettings_t::sDLSettingsBits |
union | LoRaMacHeader_t |
struct | LoRaMacHeader_t::sMacHeaderBits |
union | LoRaMacFrameCtrl_t |
struct | LoRaMacFrameCtrl_t::sCtrlBits |
struct | LoRaMacFrameHeader_t |
LoRa MAC layer header type definitions.
addtogroup LORAMAC
union LoRaMacDLSettings_t |
LoRaMAC field definition of DLSettings
LoRaWAN Specification V1.0.2, chapter 5.4
Data Fields | ||
---|---|---|
uint8_t | Value |
Byte-access to the bits |
struct sDLSettingsBits | Bits |
struct LoRaMacDLSettings_t::sDLSettingsBits |
Structure containing single access to header bits
union LoRaMacHeader_t |
LoRaMAC header field definition (MHDR field)
LoRaWAN Specification V1.0.2, chapter 4.2
Data Fields | ||
---|---|---|
uint8_t | Value |
Byte-access to the bits |
struct sMacHeaderBits | Bits |
struct LoRaMacHeader_t::sMacHeaderBits |
union LoRaMacFrameCtrl_t |
LoRaMAC frame control field definition (FCtrl)
LoRaWAN Specification V1.0.2, chapter 4.3.1
Data Fields | ||
---|---|---|
uint8_t | Value |
Byte-access to the bits |
struct sCtrlBits | Bits |
struct LoRaMacFrameCtrl_t::sCtrlBits |
struct LoRaMacFrameHeader_t |
LoRaMac Frame header (FHDR)
LoRaWAN Specification V1.0.2, chapter 4.3.1
Data Fields | ||
---|---|---|
uint32_t | DevAddr |
Device address |
LoRaMacFrameCtrl_t | FCtrl |
Frame control field |
uint16_t | FCnt |
Frame counter |
uint8_t | FOpts[LORAMAC_FHDR_F_OPTS_MAX_FIELD_SIZE] |
FOpts field may transport MAC commands (opt. 0-15 Bytes) |
#define LORAMAC_MHDR_FIELD_SIZE 1 |
MAC header field size
#define LORAMAC_JOIN_TYPE_FIELD_SIZE 1 |
ReJoinType field size
#define LORAMAC_JOIN_EUI_FIELD_SIZE 8 |
Join EUI field size
#define LORAMAC_DEV_EUI_FIELD_SIZE 8 |
Device EUI field size
#define LORAMAC_DEV_NONCE_FIELD_SIZE 2 |
End-device nonce field size
#define LORAMAC_JOIN_NONCE_FIELD_SIZE 3 |
Join-server nonce field size
#define LORAMAC_RJCOUNT_0_FIELD_SIZE 2 |
RJcount0 field size
#define LORAMAC_RJCOUNT_1_FIELD_SIZE 2 |
RJcount1 field size
#define LORAMAC_NET_ID_FIELD_SIZE 3 |
Network ID field size
#define LORAMAC_DEV_ADDR_FIELD_SIZE 4 |
Device address field size
#define LORAMAC_DL_SETTINGS_FIELD_SIZE 1 |
DLSettings field size
#define LORAMAC_RX_DELAY_FIELD_SIZE 1 |
RxDelay field size
#define LORAMAC_CF_LIST_FIELD_SIZE 16 |
CFList field size
#define LORAMAC_FHDR_DEV_ADDR_FIELD_SIZE LORAMAC_DEV_ADDR_FIELD_SIZE |
FHDR Device address field size
#define LORAMAC_FHDR_F_CTRL_FIELD_SIZE 1 |
FHDR Frame control field size
#define LORAMAC_FHDR_F_CNT_FIELD_SIZE 2 |
FHDR Frame control field size
#define LORAMAC_FHDR_F_OPTS_MAX_FIELD_SIZE 15 |
FOpts maximum field size
#define LORAMAC_F_PORT_FIELD_SIZE 1 |
Port field size
#define LORAMAC_MAC_PAYLOAD_FIELD_MAX_SIZE 242 |
Port field size
#define LORAMAC_MIC_FIELD_SIZE 4 |
MIC field size
#define LORAMAC_JOIN_REQ_MSG_SIZE |
JoinRequest frame size
MHDR(1) + JoinEUI(8) + DevEUI(8) + DevNonce(2) + MIC(4)
#define LORAMAC_RE_JOIN_1_MSG_SIZE |
ReJoinRequest type 1 frame size
MHDR(1) + ReJoinType(1) + JoinEUI(8) + DevEUI(8) + RJcount1(2) + MIC(4)
#define LORAMAC_RE_JOIN_0_2_MSG_SIZE |
ReJoinRequest type 0 or 2 frame size
MHDR(1) + ReJoinType(1) + NetID(3) + DevEUI(8) + RJcount0(2) + MIC(4)
#define LORAMAC_JOIN_ACCEPT_FRAME_MIN_SIZE |
JoinAccept frame minimum size
MHDR(1) + AppNonce(3) + NetID(3) + DevAddr(4) + DLSettings(1) + RxDelay(1) + MIC(4)
#define LORAMAC_JOIN_ACCEPT_FRAME_MAX_SIZE |
JoinAccept frame maximum size
MHDR(1) + AppNonce(3) + NetID(3) + DevAddr(4) + DLSettings(1) + RxDelay(1) + CFList(16) + MIC(4)
#define JOIN_ACCEPT_MIC_COMPUTATION_OFFSET |
MIC computation offset
#define LORAMAC_FRAME_PAYLOAD_OVERHEAD_SIZE |
FRMPayload overhead to be used when setting the Radio.SetMaxPayloadLength
Overhead to be used when setting the Radio.SetMaxPayloadLength in RxWindowSetup function.
MHDR(1) + FHDR(7) + Port(1) + MIC(4)
Maximum PHYPayload = MaxPayloadOfDatarate + LORAMAC_FRAME_PAYLOAD_OVERHEAD_SIZE
#define LORAMAC_FRAME_PAYLOAD_MIN_SIZE |
FRMPayload minimum size
MHDR(1) + FHDR(7) + MIC(4)
#define LORAMAC_FRAME_PAYLOAD_MAX_SIZE |
FRMPayload maximum possible size
MHDR(1) + FHDR(7) + Port(1) + MACPayload(242) + MIC(4)