LoRaMAC  4.4.6
Documentation of the API
LoRaMacMessageTypes.h
Go to the documentation of this file.
1 
37 #ifndef __LORAMAC_MESSAGE_TYPES_H__
38 #define __LORAMAC_MESSAGE_TYPES_H__
39 
40 #ifdef __cplusplus
41 extern "C"
42 {
43 #endif
44 
45 #include <stdint.h>
46 #include "LoRaMacHeaderTypes.h"
47 
51 typedef struct sLoRaMacMessageJoinRequest
52 {
56  uint8_t* Buffer;
60  uint8_t BufSize;
68  uint8_t JoinEUI[LORAMAC_JOIN_EUI_FIELD_SIZE];
72  uint8_t DevEUI[LORAMAC_DEV_EUI_FIELD_SIZE];
76  uint16_t DevNonce;
80  uint32_t MIC;
82 
86 typedef struct sLoRaMacMessageReJoinType1
87 {
91  uint8_t* Buffer;
95  uint8_t BufSize;
103  uint8_t ReJoinType;
107  uint8_t JoinEUI[LORAMAC_JOIN_EUI_FIELD_SIZE];
111  uint8_t DevEUI[LORAMAC_DEV_EUI_FIELD_SIZE];
115  uint16_t RJcount1;
119  uint32_t MIC;
121 
125 typedef struct sLoRaMacMessageReJoinType0or2
126 {
130  uint8_t* Buffer;
134  uint8_t BufSize;
142  uint8_t ReJoinType;
150  uint8_t DevEUI[LORAMAC_DEV_EUI_FIELD_SIZE];
154  uint16_t RJcount0;
158  uint32_t MIC;
160 
164 typedef struct sLoRaMacMessageJoinAccept
165 {
169  uint8_t* Buffer;
173  uint8_t BufSize;
181  uint8_t JoinNonce[LORAMAC_JOIN_NONCE_FIELD_SIZE];
189  uint32_t DevAddr;
197  uint8_t RxDelay;
201  uint8_t CFList[16];
205  uint32_t MIC;
207 
208 
213 typedef struct sLoRaMacMessageData
214 {
218  uint8_t* Buffer;
222  uint8_t BufSize;
234  uint8_t FPort;
238  uint8_t* FRMPayload;
242  uint8_t FRMPayloadSize;
246  uint32_t MIC;
248 
252 typedef enum eLoRaMacMessageType
253 {
279 
283 typedef struct sLoRaMacMessage
284 {
286  union uMessage
287  {
291  LoRaMacMessageJoinAccept_t JoinAccept;
293  }Message;
295 
298 #ifdef __cplusplus
299 }
300 #endif
301 
302 #endif // __LORAMAC_MESSAGE_TYPES_H__
LoRaMacMessageJoinRequest_t::BufSize
uint8_t BufSize
Definition: LoRaMacMessageTypes.h:60
LORAMAC_MSG_TYPE_JOIN_ACCEPT
Definition: LoRaMacMessageTypes.h:269
LoRaMacHeaderTypes.h
LoRa MAC layer header type definitions.
LoRaMacMessageReJoinType0or2_t
Definition: LoRaMacMessageTypes.h:125
LORAMAC_NET_ID_FIELD_SIZE
#define LORAMAC_NET_ID_FIELD_SIZE
Definition: LoRaMacHeaderTypes.h:72
LoRaMacMessageJoinRequest_t::MHDR
LoRaMacHeader_t MHDR
Definition: LoRaMacMessageTypes.h:64
LORAMAC_MSG_TYPE_RE_JOIN_0_2
Definition: LoRaMacMessageTypes.h:265
LORAMAC_JOIN_EUI_FIELD_SIZE
#define LORAMAC_JOIN_EUI_FIELD_SIZE
Definition: LoRaMacHeaderTypes.h:54
LoRaMacMessageJoinRequest_t::Buffer
uint8_t * Buffer
Definition: LoRaMacMessageTypes.h:56
LoRaMacMessageData_t::FHDR
LoRaMacFrameHeader_t FHDR
Definition: LoRaMacMessageTypes.h:230
LORAMAC_MSG_TYPE_JOIN_REQUEST
Definition: LoRaMacMessageTypes.h:257
LoRaMacDLSettings_t
Definition: LoRaMacHeaderTypes.h:200
LoRaMacMessageReJoinType1_t::ReJoinType
uint8_t ReJoinType
Definition: LoRaMacMessageTypes.h:103
LORAMAC_DEV_EUI_FIELD_SIZE
#define LORAMAC_DEV_EUI_FIELD_SIZE
Definition: LoRaMacHeaderTypes.h:57
LoRaMacMessageReJoinType1_t
Definition: LoRaMacMessageTypes.h:86
LoRaMacFrameHeader_t
Definition: LoRaMacHeaderTypes.h:301
LoRaMacMessageJoinAccept_t::DLSettings
LoRaMacDLSettings_t DLSettings
Definition: LoRaMacMessageTypes.h:193
LORAMAC_MSG_TYPE_UNDEF
Definition: LoRaMacMessageTypes.h:277
LoRaMacMessageJoinRequest_t::DevNonce
uint16_t DevNonce
Definition: LoRaMacMessageTypes.h:76
LoRaMacHeader_t
Definition: LoRaMacHeaderTypes.h:231
LoRaMacMessageJoinRequest_t
Definition: LoRaMacMessageTypes.h:51
LoRaMacMessageData_t::FRMPayload
uint8_t * FRMPayload
Definition: LoRaMacMessageTypes.h:238
LoRaMacMessageReJoinType0or2_t::RJcount0
uint16_t RJcount0
Definition: LoRaMacMessageTypes.h:154
LoRaMacMessageData_t
Definition: LoRaMacMessageTypes.h:213
LORAMAC_MSG_TYPE_DATA
Definition: LoRaMacMessageTypes.h:273
LoRaMacMessageData_t::FRMPayloadSize
uint8_t FRMPayloadSize
Definition: LoRaMacMessageTypes.h:242
LoRaMacMessageType_t
LoRaMacMessageType_t
Definition: LoRaMacMessageTypes.h:252
LORAMAC_JOIN_NONCE_FIELD_SIZE
#define LORAMAC_JOIN_NONCE_FIELD_SIZE
Definition: LoRaMacHeaderTypes.h:63
LoRaMacMessageData_t::FPort
uint8_t FPort
Definition: LoRaMacMessageTypes.h:234
LoRaMacMessageReJoinType1_t::RJcount1
uint16_t RJcount1
Definition: LoRaMacMessageTypes.h:115
LORAMAC_MSG_TYPE_RE_JOIN_1
Definition: LoRaMacMessageTypes.h:261
LoRaMacMessageJoinRequest_t::MIC
uint32_t MIC
Definition: LoRaMacMessageTypes.h:80
LoRaMacMessage_t::uMessage
Definition: LoRaMacMessageTypes.h:286
LoRaMacMessageJoinAccept_t::DevAddr
uint32_t DevAddr
Definition: LoRaMacMessageTypes.h:189
LoRaMacMessageJoinAccept_t
Definition: LoRaMacMessageTypes.h:164
LoRaMacMessage_t
Definition: LoRaMacMessageTypes.h:283
LoRaMacMessageJoinAccept_t::RxDelay
uint8_t RxDelay
Definition: LoRaMacMessageTypes.h:197