44 #ifndef ARDUINO_WIMOD_SAP_LORAWAN_IDS_H_ 45 #define ARDUINO_WIMOD_SAP_LORAWAN_IDS_H_ 53 #include "utils/WMDefs.h" 62 #define LORAWAN_SAP_ID 0x10 75 #define LORAWAN_STATUS_OK 0x00 //Operation successful 76 #define LORAWAN_STATUS_ERROR 0x01 //Operation failed 77 #define LORAWAN_STATUS_CMD_NOT_SUPPORTED 0x02 //Command is not supported 78 #define LORAWAN_STATUS_WRONG_PARAMETER 0x03 //HCI message contains wrong parameter 79 #define LORAWAN_STATUS_WRONG_DEVICE_MODE 0x04 //Stack is running in a wrong mode 80 #define LORAWAN_STATUS_DEVICE_NOT_ACTIVATED 0x05 //Device is not activated 81 #define LORAWAN_STATUS_DEVICE_BUSY 0x06 //Device is busy, command rejected 82 #define LORAWAN_STATUS_QUEUE_FULL 0x07 //Message queue is full, command rejected 83 #define LORAWAN_STATUS_LENGTH_ERROR 0x08 //HCI message length is invalid or radio payload size is too large 84 #define LORAWAN_STATUS_NO_FACTORY_SETTINGS 0x09 //Factory Settings EEPROM block missing 85 #define LORAWAN_STATUS_CHANNEL_BLOCKED 0x0A //Channel blocked by Duty Cycle 86 #define LORAWAN_STATUS_CHANNEL_NOT AVAILABLE 0x0B //No channel available (e.g. no channel defined for the configured spreading factor) 111 #define LORAWAN_FORMAT_STATUS_JOIN_OK 0x00 112 #define LORAWAN_FORMAT_STATUS_JOIN_OK_EXT_HCI 0x01 117 #define LORAWAN_FORMAT_OK 0x00 118 #define LORAWAN_FORMAT_EXT_HCI_OUT_ACTIVE 0x01 119 #define LORAWAN_FORMAT_ACK_RECEIVED 0x02 120 #define LORAWAN_FORMAT_FP_RECEIVED 0x04 123 #define LORAWAN_MSG_ACTIVATE_DEVICE_REQ 0x01 124 #define LORAWAN_MSG_ACTIVATE_DEVICE_RSP 0x02 125 #define LORAWAN_MSG_SET_JOIN_PARAM_REQ 0x05 126 #define LORAWAN_MSG_SET_JOIN_PARAM_RSP 0x06 127 #define LORAWAN_MSG_JOIN_NETWORK_REQ 0x09 128 #define LORAWAN_MSG_JOIN_NETWORK_RSP 0x0A 129 #define LORAWAN_MSG_JOIN_NETWORK_TX_IND 0x0B 130 #define LORAWAN_MSG_JOIN_NETWORK_IND 0x0C 131 #define LORAWAN_MSG_SEND_UDATA_REQ 0x0D 132 #define LORAWAN_MSG_SEND_UDATA_RSP 0x0E 133 #define LORAWAN_MSG_SEND_UDATA_TX_IND 0x0F 134 #define LORAWAN_MSG_RECV_UDATA_IND 0x10 135 #define LORAWAN_MSG_SEND_CDATA_REQ 0x11 136 #define LORAWAN_MSG_SEND_CDATA_RSP 0x12 137 #define LORAWAN_MSG_SEND_CDATA_TX_IND 0x13 138 #define LORAWAN_MSG_RECV_CDATA_IND 0x14 139 #define LORAWAN_MSG_RECV_ACK_IND 0x15 140 #define LORAWAN_MSG_RECV_NO_DATA_IND 0x16 141 #define LORAWAN_MSG_SET_RSTACK_CONFIG_REQ 0x19 142 #define LORAWAN_MSG_SET_RSTACK_CONFIG_RSP 0x1A 143 #define LORAWAN_MSG_GET_RSTACK_CONFIG_REQ 0x1B 144 #define LORAWAN_MSG_GET_RSTACK_CONFIG_RSP 0x1C 145 #define LORAWAN_MSG_REACTIVATE_DEVICE_REQ 0x1D 146 #define LORAWAN_MSG_REACTIVATE_DEVICE_RSP 0x1E 147 #define LORAWAN_MSG_DEACTIVATE_DEVICE_REQ 0x21 148 #define LORAWAN_MSG_DEACTIVATE_DEVICE_RSP 0x22 149 #define LORAWAN_MSG_FACTORY_RESET_REQ 0x23 150 #define LORAWAN_MSG_FACTORY_RESET_RSP 0x24 151 #define LORAWAN_MSG_SET_DEVICE_EUI_REQ 0x25 152 #define LORAWAN_MSG_SET_DEVICE_EUI_RSP 0x26 153 #define LORAWAN_MSG_GET_DEVICE_EUI_REQ 0x27 154 #define LORAWAN_MSG_GET_DEVICE_EUI_RSP 0x28 155 #define LORAWAN_MSG_GET_NWK_STATUS_REQ 0x29 156 #define LORAWAN_MSG_GET_NWK_STATUS_RSP 0x2A 157 #define LORAWAN_MSG_SEND_MAC_CMD_REQ 0x2B 158 #define LORAWAN_MSG_SEND_MAC_CMD_RSP 0x2C 159 #define LORAWAN_MSG_RECV_MAC_CMD_IND 0x2D 160 #define LORAWAN_MSG_SET_CUSTOM_CFG_REQ 0x31 161 #define LORAWAN_MSG_SET_CUSTOM_CFG_RSP 0x32 162 #define LORAWAN_MSG_GET_CUSTOM_CFG_REQ 0x33 163 #define LORAWAN_MSG_GET_CUSTOM_CFG_RSP 0x34 169 #define LORAWAN_STK_OPTION_ADR (0x01 << 0) 170 #define LORAWAN_STK_OPTION_DUTY_CYCLE_CTRL (0x01 << 1) 171 #define LORAWAN_STK_OPTION_DEV_CLASS_C (0x01 << 2) 172 #define LORAWAN_STK_OPTION_EXT_PKT_FORMAT (0x01 << 6) 173 #define LORAWAN_STK_OPTION_MAC_CMD (0x01 << 7) 178 #define LORAWAN_DATA_RATE_LORA_SF12_125KHZ 0 179 #define LORAWAN_DATA_RATE_LORA_SF11_125KHZ 1 180 #define LORAWAN_DATA_RATE_LORA_SF10_125KHZ 2 181 #define LORAWAN_DATA_RATE_LORA_SF9_125KHZ 3 182 #define LORAWAN_DATA_RATE_LORA_SF8_125KHZ 4 183 #define LORAWAN_DATA_RATE_LORA_SF7_125KHZ 5 184 #define LORAWAN_DATA_RATE_LORA_SF7_250KHZ 6 185 #define LORAWAN_DATA_RATE_LORA_FSK 7 187 #define IS_LORAWAN_DATA_RATE(x) ( ((x) >= LORAWAN_DATA_RATE_LORA_SF12_125KHZ) && \ 188 ((X) <= LORAWAN_DATA_RATE_LORA_FSK) ) 211 #define LORAWAN_CH_EU_868_1_MHZ 0 212 #define LORAWAN_CH_EU_868_3_MHZ 1 213 #define LORAWAN_CH_EU_868_5_MHZ 2 214 #define LORAWAN_CH_EU_869_525_MHZ 128 216 #define IS_LORAWAN_CH_EU(x) ( ((x) == LORAWAN_CH_EU_868_1_MHZ) || \ 217 ((x) == LORAWAN_CH_EU_868_3_MHZ) || \ 218 ((x) == LORAWAN_CH_EU_868_5_MHZ) || \ 219 ((x) == LORAWAN_CH_EU_869_525_MHZ) ) 239 #define LORAWAN_CH_IN_865_062_5_MHZ 0 240 #define LORAWAN_CH_IN_865_402_5_MHZ 1 241 #define LORAWAN_CH_IN_868_5_MHZ 2 242 #define LORAWAN_CH_IN_866_550_MHZ 128 244 #define IS_LORAWAN_CH_IN(x) ( ((x) == LORAWAN_CH_IN_865_062_5_MHZ) || \ 245 ((x) == LORAWAN_CH_IN_865_402_5_MHZ) || \ 246 ((x) == LORAWAN_CH_IN_868_5_MHZ) || \ 247 ((x) == LORAWAN_CH_IN_866_550_MHZ) ) 369 #define LORAWAN_BAND_EU_868 1 370 #define LORAWAN_BAND_RESERVED 2 371 #define LORAWAN_BAND_IN_865 3 374 #define LORAWAN_BAND_EU_868_RX2_SF9 129 376 #define IS_LORAWAN_BAND(x) ( ((x) == LORAWAN_BAND_EU_868) || \ 377 ((x) == LORAWAN_BAND_IN_865) || \ 378 ((x) == LORAWAN_BAND_NZ_865) || \ 379 ((x) == LORAWAN_BAND_SG_923) || \ 380 ((x) == LORAWAN_BAND_EU_868_RX2_SF9) ) 400 #define LORAWAN_TX_POWER_LEVEL_MIN 0 401 #define LORAWAN_TX_POWER_LEVEL_MAX 20 403 #define IS_LORAWAN_TX_POWER_LEVEL(x) ( ((x) >= LORAWAN_TX_POWER_LEVEL_MIN) && \ 404 ((X) <= LORAWAN_TX_POWER_LEVEL_MAX) ) 409 #define LORAWAN_POWER_SAVING_MODE_OFF 0 410 #define LORAWAN_POWER_SAVING_MODE_AUTO 1 427 #define LORAWAN_NWK_SATUS_INACTIVE 0 428 #define LORAWAN_NWK_STATUS_ACTIVE_ABP 1 429 #define LORAWAN_NWK_STATUS_ACTIVE_OTAA 2 430 #define LORAWAN_NWK_STATUS_JOINING_OTAA 3 449 #define LORAWAN_MAC_DATA_SERVICE_TYPE_U_DATA 0 450 #define LORAWAN_MAC_DATA_SERVICE_TYPE_C_DATA 1 461 #define WiMODLORAWAN_NWK_SESSION_KEY_LEN 16 // 128 bit 462 #define WiMODLORAWAN_APP_SESSION_KEY_LEN 16 // 128 bit 464 #define WiMODLORAWAN_DEV_EUI_LEN 8 // 64 bit 465 #define WiMODLORAWAN_APP_EUI_LEN 8 // 64 bit 466 #define WiMODLORAWAN_APP_KEY_LEN 16 // 128 bit 468 #define WiMODLORAWAN_MAC_CMD_PAYLOAD_LENGTH 30 484 UINT8
NwkSKey[WiMODLORAWAN_NWK_SESSION_KEY_LEN];
485 UINT8
AppSKey[WiMODLORAWAN_NWK_SESSION_KEY_LEN];
494 UINT8 AppEUI[WiMODLORAWAN_APP_EUI_LEN];
495 UINT8 AppKey[WiMODLORAWAN_APP_KEY_LEN];
538 #define WiMODLORAWAN_APP_PAYLOAD_LEN 128 548 UINT8 Payload[WiMODLORAWAN_APP_PAYLOAD_LEN];
560 UINT8 Payload[WiMODLORAWAN_APP_PAYLOAD_LEN];
578 UINT8 MacCmdData[WiMODLORAWAN_APP_PAYLOAD_LEN];
626 UINT8 Payload[WiMODLORAWAN_MAC_CMD_PAYLOAD_LENGTH];
TLoRaWANStatus
Status code enumeration for LoRaWAN SAP of the WiMOD EndNode Modem firmware.
Definition: WiMOD_SAP_LORAWAN_IDs.h:93
UINT8 PowerLevel
Definition: WiMOD_SAP_LORAWAN_IDs.h:656
Structure containing data of the joined network indication.
Definition: WiMOD_SAP_LORAWAN_IDs.h:592
Definition: WiMOD_SAP_LORAWAN_IDs.h:199
Activation data structure for LoRa network activation.
Definition: WiMOD_SAP_LORAWAN_IDs.h:481
Definition: WiMOD_SAP_LORAWAN_IDs.h:200
UINT8 Length
Definition: WiMOD_SAP_LORAWAN_IDs.h:627
bool OptionalInfoAvaiable
Definition: WiMOD_SAP_LORAWAN_IDs.h:603
UINT8 Options
Definition: WiMOD_SAP_LORAWAN_IDs.h:613
Definition: WiMOD_SAP_LORAWAN_IDs.h:441
UINT8 DataRateIndex
Definition: WiMOD_SAP_LORAWAN_IDs.h:582
Structure containing a received MAC command.
Definition: WiMOD_SAP_LORAWAN_IDs.h:575
UINT32 DeviceAddress
Definition: WiMOD_SAP_LORAWAN_IDs.h:483
UINT8 PowerLevel
Definition: WiMOD_SAP_LORAWAN_IDs.h:526
Definition: WiMOD_SAP_LORAWAN_IDs.h:197
Definition: WiMOD_SAP_LORAWAN_IDs.h:390
Definition: WiMOD_SAP_LORAWAN_IDs.h:230
TWiMOD_OptIndInfos
Optional TX information flag.
Definition: WiMOD_SAP_LORAWAN_IDs.h:502
Definition: WiMOD_SAP_LORAWAN_IDs.h:106
Definition: WiMOD_SAP_LORAWAN_IDs.h:102
struct TWiMODLORAWAN_TxIndData TWiMODLORAWAN_TxIndData
Activation data structure for LoRa network activation.
UINT8 ChannelIndex
Definition: WiMOD_SAP_LORAWAN_IDs.h:520
Definition: WiMOD_SAP_LORAWAN_IDs.h:98
INT8 RSSI
Definition: WiMOD_SAP_LORAWAN_IDs.h:641
INT8 RSSI
Definition: WiMOD_SAP_LORAWAN_IDs.h:565
Definition: WiMOD_SAP_LORAWAN_IDs.h:99
Definition: WiMOD_SAP_LORAWAN_IDs.h:389
struct TWiMODLORAWAN_JoinParams TWiMODLORAWAN_JoinParams
JOIN data structure for LoRa network activation.
UINT32 DeviceAddress
Definition: WiMOD_SAP_LORAWAN_IDs.h:595
UINT8 DataRateIndex
Definition: WiMOD_SAP_LORAWAN_IDs.h:611
UINT8 RxSlot
Definition: WiMOD_SAP_LORAWAN_IDs.h:567
TLoRaWAN_PowerSaving
Power Saving modes.
Definition: WiMOD_SAP_LORAWAN_IDs.h:417
UINT8 PowerSavingMode
Definition: WiMOD_SAP_LORAWAN_IDs.h:614
Definition: WiMOD_SAP_LORAWAN_IDs.h:229
Definition: WiMOD_SAP_LORAWAN_IDs.h:198
struct TWiMODLORAWAN_RX_ACK_Data TWiMODLORAWAN_RX_ACK_Data
Data structure for received Acknowledgment data.
TLoRaWAN_FreqBand
Channel definition for New Zealand.
Definition: WiMOD_SAP_LORAWAN_IDs.h:386
Definition: WiMOD_SAP_LORAWAN_IDs.h:204
struct TWiMODLORAWAN_ActivateDeviceData TWiMODLORAWAN_ActivateDeviceData
Activation data structure for LoRa network activation.
Definition: WiMOD_SAP_LORAWAN_IDs.h:100
UINT8 DataRateIndex
Definition: WiMOD_SAP_LORAWAN_IDs.h:564
Definition: WiMOD_SAP_LORAWAN_IDs.h:259
UINT8 AppSKey[WiMODLORAWAN_NWK_SESSION_KEY_LEN]
Definition: WiMOD_SAP_LORAWAN_IDs.h:485
UINT8 Length
Definition: WiMOD_SAP_LORAWAN_IDs.h:577
struct TWiMODLORAWAN_RX_JoinedNwkData TWiMODLORAWAN_RX_JoinedNwkData
Structure containing data of the joined network indication.
TLoRaWANDataRate
LoRa data rate definitions.
Definition: WiMOD_SAP_LORAWAN_IDs.h:195
UINT8 ChannelIndex
Definition: WiMOD_SAP_LORAWAN_IDs.h:598
UINT8 RxSlot
Definition: WiMOD_SAP_LORAWAN_IDs.h:643
INT8 SNR
Definition: WiMOD_SAP_LORAWAN_IDs.h:584
Definition: WiMOD_SAP_LORAWAN_IDs.h:506
UINT8 StatusFormat
Definition: WiMOD_SAP_LORAWAN_IDs.h:518
UINT8 DataServiceType
Definition: WiMOD_SAP_LORAWAN_IDs.h:624
UINT8 NumTxPackets
Definition: WiMOD_SAP_LORAWAN_IDs.h:524
UINT32 DeviceAddress
Definition: WiMOD_SAP_LORAWAN_IDs.h:654
UINT8 ChannelIndex
Definition: WiMOD_SAP_LORAWAN_IDs.h:563
Definition: WiMOD_SAP_LORAWAN_IDs.h:393
INT8 RSSI
Definition: WiMOD_SAP_LORAWAN_IDs.h:583
struct TWiMODLORAWAN_RX_MacCmdData TWiMODLORAWAN_RX_MacCmdData
Structure containing a received MAC command.
UINT8 TXPowerLevel
Definition: WiMOD_SAP_LORAWAN_IDs.h:612
Definition: WiMOD_SAP_LORAWAN_IDs.h:440
UINT8 BandIndex
Definition: WiMOD_SAP_LORAWAN_IDs.h:616
UINT8 DataRateIndex
Definition: WiMOD_SAP_LORAWAN_IDs.h:640
Definition: WiMOD_SAP_LORAWAN_IDs.h:105
UINT8 Port
Definition: WiMOD_SAP_LORAWAN_IDs.h:546
bool OptionalInfoAvaiable
Definition: WiMOD_SAP_LORAWAN_IDs.h:568
Definition: WiMOD_SAP_LORAWAN_IDs.h:202
UINT8 DataRateIndex
Definition: WiMOD_SAP_LORAWAN_IDs.h:599
UINT8 DataRateIndex
Definition: WiMOD_SAP_LORAWAN_IDs.h:655
UINT8 Length
Definition: WiMOD_SAP_LORAWAN_IDs.h:559
Definition: WiMOD_SAP_LORAWAN_IDs.h:256
UINT8 NetworkStatus
Definition: WiMOD_SAP_LORAWAN_IDs.h:653
Definition: WiMOD_SAP_LORAWAN_IDs.h:504
TLoRaWAN_Channel_India
Channel definition for India.
Definition: WiMOD_SAP_LORAWAN_IDs.h:254
UINT32 RfMsgAirtime
Definition: WiMOD_SAP_LORAWAN_IDs.h:528
UINT8 RxSlot
Definition: WiMOD_SAP_LORAWAN_IDs.h:585
UINT8 MacCmdID
Definition: WiMOD_SAP_LORAWAN_IDs.h:625
Definition: WiMOD_SAP_LORAWAN_IDs.h:201
JOIN data structure for LoRa network activation.
Definition: WiMOD_SAP_LORAWAN_IDs.h:492
Definition: WiMOD_SAP_LORAWAN_IDs.h:101
Definition: WiMOD_SAP_LORAWAN_IDs.h:96
struct TWiMODLORAWAN_RX_Data TWiMODLORAWAN_RX_Data
Structure containing RX (user) payload data.
TLoRaWAN_NwkStatus
Network Status Status defines.
Definition: WiMOD_SAP_LORAWAN_IDs.h:437
INT8 SNR
Definition: WiMOD_SAP_LORAWAN_IDs.h:642
UINT8 MaxPayloadSize
Definition: WiMOD_SAP_LORAWAN_IDs.h:657
Definition: WiMOD_SAP_LORAWAN_IDs.h:442
Definition: WiMOD_SAP_LORAWAN_IDs.h:257
INT8 RSSI
Definition: WiMOD_SAP_LORAWAN_IDs.h:600
INT8 SNR
Definition: WiMOD_SAP_LORAWAN_IDs.h:566
UINT8 NwkSKey[WiMODLORAWAN_NWK_SESSION_KEY_LEN]
Definition: WiMOD_SAP_LORAWAN_IDs.h:484
Data structure for received Acknowledgment data.
Definition: WiMOD_SAP_LORAWAN_IDs.h:634
Definition: WiMOD_SAP_LORAWAN_IDs.h:104
UINT8 StatusFormat
Definition: WiMOD_SAP_LORAWAN_IDs.h:594
bool OptionalInfoAvaiable
Definition: WiMOD_SAP_LORAWAN_IDs.h:586
Definition: WiMOD_SAP_LORAWAN_IDs.h:258
struct TWiMODLORAWAN_NwkStatus_Data TWiMODLORAWAN_NwkStatus_Data
Structure containing all data about LoRaWAN network status.
Definition: WiMOD_SAP_LORAWAN_IDs.h:420
Definition: WiMOD_SAP_LORAWAN_IDs.h:203
struct TWiMODLORAWAN_RadioStackConfig TWiMODLORAWAN_RadioStackConfig
Radio stack configuration related to to LoRaWAN specific options.
UINT8 ChannelIndex
Definition: WiMOD_SAP_LORAWAN_IDs.h:581
Definition: WiMOD_SAP_LORAWAN_IDs.h:419
UINT8 Length
Definition: WiMOD_SAP_LORAWAN_IDs.h:547
Definition: WiMOD_SAP_LORAWAN_IDs.h:97
INT8 SNR
Definition: WiMOD_SAP_LORAWAN_IDs.h:601
UINT8 StatusFormat
Definition: WiMOD_SAP_LORAWAN_IDs.h:557
UINT8 DataRateIndex
Definition: WiMOD_SAP_LORAWAN_IDs.h:522
Definition: WiMOD_SAP_LORAWAN_IDs.h:231
UINT8 Retransmissions
Definition: WiMOD_SAP_LORAWAN_IDs.h:615
Definition: WiMOD_SAP_LORAWAN_IDs.h:388
UINT8 StatusFormat
Definition: WiMOD_SAP_LORAWAN_IDs.h:636
struct TWiMODLORAWAN_TX_Data TWiMODLORAWAN_TX_Data
Structure containing all data necessary to transmitting a data message.
Definition: WiMOD_SAP_LORAWAN_IDs.h:505
Activation data structure for LoRa network activation.
Definition: WiMOD_SAP_LORAWAN_IDs.h:514
LoRaWAN MAC command structure.
Definition: WiMOD_SAP_LORAWAN_IDs.h:622
Radio stack configuration related to to LoRaWAN specific options.
Definition: WiMOD_SAP_LORAWAN_IDs.h:609
Definition: WiMOD_SAP_LORAWAN_IDs.h:439
TWiMOD_OptIndInfos FieldAvailability
Definition: WiMOD_SAP_LORAWAN_IDs.h:516
struct TWiMODLORAWAN_MacCmd TWiMODLORAWAN_MacCmd
LoRaWAN MAC command structure.
UINT8 RxSlot
Definition: WiMOD_SAP_LORAWAN_IDs.h:602
TLoRaWAN_Channel_EU
Channel definition for EU 868MHz Band.
Definition: WiMOD_SAP_LORAWAN_IDs.h:226
bool OptionalInfoAvaiable
Definition: WiMOD_SAP_LORAWAN_IDs.h:644
Structure containing all data about LoRaWAN network status.
Definition: WiMOD_SAP_LORAWAN_IDs.h:651
Definition: WiMOD_SAP_LORAWAN_IDs.h:95
Definition: WiMOD_SAP_LORAWAN_IDs.h:103
Structure containing all data necessary to transmitting a data message.
Definition: WiMOD_SAP_LORAWAN_IDs.h:544
Definition: WiMOD_SAP_LORAWAN_IDs.h:228
UINT8 Port
Definition: WiMOD_SAP_LORAWAN_IDs.h:558
Structure containing RX (user) payload data.
Definition: WiMOD_SAP_LORAWAN_IDs.h:555
UINT8 ChannelIndex
Definition: WiMOD_SAP_LORAWAN_IDs.h:639