LoRaWANCH341 Library
Loading...
Searching...
No Matches
Classes | Macros
LoRaWAN.hpp File Reference

Class declaration for LoRaWAN protocol communication. More...

#include <memory>
#include <vector>
#include <array>
#include <string>
#include <functional>
#include <chrono>
#include "SPIInterface.hpp"
Include dependency graph for LoRaWAN.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  LoRaWAN
 Class that provides LoRaWAN protocol implementation. More...
 
struct  LoRaWAN::Message
 Structure representing a LoRaWAN message. More...
 

Macros

#define MAC_LINK_CHECK_REQ   0x02
 
#define MAC_LINK_ADR_REQ   0x03
 
#define MAC_LINK_ADR_ANS   0x03
 
#define MAC_DUTY_CYCLE_REQ   0x04
 
#define MAC_DUTY_CYCLE_ANS   0x04
 
#define MAC_RX_PARAM_SETUP_REQ   0x05
 
#define MAC_RX_PARAM_SETUP_ANS   0x05
 
#define MAC_DEV_STATUS_REQ   0x06
 
#define MAC_DEV_STATUS_ANS   0x06
 
#define MAC_NEW_CHANNEL_REQ   0x07
 
#define MAC_NEW_CHANNEL_ANS   0x07
 
#define MAC_RX_TIMING_SETUP_REQ   0x08
 
#define MAC_RX_TIMING_SETUP_ANS   0x08
 
#define MAC_TX_PARAM_SETUP_REQ   0x09
 
#define MAC_TX_PARAM_SETUP_ANS   0x09
 
#define MAC_DL_CHANNEL_REQ   0x0A
 
#define MAC_DL_CHANNEL_ANS   0x0A
 
#define MAC_REKEY_CONF   0x0B
 
#define MAC_ADR_PARAM_SETUP_REQ   0x0C
 
#define MAC_ADR_PARAM_SETUP_ANS   0x0C
 
#define MAC_DEVICE_TIME_REQ   0x0D
 
#define MAC_DEVICE_TIME_ANS   0x0D
 
#define MAC_REJOIN_PARAM_REQ   0x0E
 
#define MAC_REJOIN_PARAM_ANS   0x0E
 
#define MAC_PING_SLOT_INFO_REQ   0x10
 
#define MAC_PING_SLOT_INFO_ANS   0x10
 
#define MAC_PING_SLOT_CHANNEL_REQ   0x11
 
#define MAC_PING_SLOT_FREQ_ANS   0x11
 
#define MAC_BEACON_TIMING_REQ   0x12
 
#define MAC_BEACON_TIMING_ANS   0x12
 
#define MAC_BEACON_FREQ_REQ   0x13
 
#define MAC_BEACON_FREQ_ANS   0x13
 
#define MAC_LINK_CHECK_ANS   0x02
 

Detailed Description

Class declaration for LoRaWAN protocol communication.

This header file defines the LoRaWAN class, which provides a complete implementation of the LoRaWAN protocol for communication with LoRaWAN networks.

The class supports both Over-The-Air Activation (OTAA) and Activation By Personalization (ABP), Class A and Class C device operation, and provides a comprehensive set of methods for sending and receiving messages, managing MAC commands, and controlling radio parameters.

Author
Sergio PĂ©rez
Date
2023/03/08
Version
1.0
See also
LoRaWAN.cpp for the implementation

Macro Definition Documentation

◆ MAC_ADR_PARAM_SETUP_ANS

#define MAC_ADR_PARAM_SETUP_ANS   0x0C

◆ MAC_ADR_PARAM_SETUP_REQ

#define MAC_ADR_PARAM_SETUP_REQ   0x0C

◆ MAC_BEACON_FREQ_ANS

#define MAC_BEACON_FREQ_ANS   0x13

◆ MAC_BEACON_FREQ_REQ

#define MAC_BEACON_FREQ_REQ   0x13

◆ MAC_BEACON_TIMING_ANS

#define MAC_BEACON_TIMING_ANS   0x12

◆ MAC_BEACON_TIMING_REQ

#define MAC_BEACON_TIMING_REQ   0x12

◆ MAC_DEV_STATUS_ANS

#define MAC_DEV_STATUS_ANS   0x06

◆ MAC_DEV_STATUS_REQ

#define MAC_DEV_STATUS_REQ   0x06

◆ MAC_DEVICE_TIME_ANS

#define MAC_DEVICE_TIME_ANS   0x0D

◆ MAC_DEVICE_TIME_REQ

#define MAC_DEVICE_TIME_REQ   0x0D

◆ MAC_DL_CHANNEL_ANS

#define MAC_DL_CHANNEL_ANS   0x0A

◆ MAC_DL_CHANNEL_REQ

#define MAC_DL_CHANNEL_REQ   0x0A

◆ MAC_DUTY_CYCLE_ANS

#define MAC_DUTY_CYCLE_ANS   0x04

◆ MAC_DUTY_CYCLE_REQ

#define MAC_DUTY_CYCLE_REQ   0x04

◆ MAC_LINK_ADR_ANS

#define MAC_LINK_ADR_ANS   0x03

◆ MAC_LINK_ADR_REQ

#define MAC_LINK_ADR_REQ   0x03

◆ MAC_LINK_CHECK_ANS

#define MAC_LINK_CHECK_ANS   0x02

◆ MAC_LINK_CHECK_REQ

#define MAC_LINK_CHECK_REQ   0x02

◆ MAC_NEW_CHANNEL_ANS

#define MAC_NEW_CHANNEL_ANS   0x07

◆ MAC_NEW_CHANNEL_REQ

#define MAC_NEW_CHANNEL_REQ   0x07

◆ MAC_PING_SLOT_CHANNEL_REQ

#define MAC_PING_SLOT_CHANNEL_REQ   0x11

◆ MAC_PING_SLOT_FREQ_ANS

#define MAC_PING_SLOT_FREQ_ANS   0x11

◆ MAC_PING_SLOT_INFO_ANS

#define MAC_PING_SLOT_INFO_ANS   0x10

◆ MAC_PING_SLOT_INFO_REQ

#define MAC_PING_SLOT_INFO_REQ   0x10

◆ MAC_REJOIN_PARAM_ANS

#define MAC_REJOIN_PARAM_ANS   0x0E

◆ MAC_REJOIN_PARAM_REQ

#define MAC_REJOIN_PARAM_REQ   0x0E

◆ MAC_REKEY_CONF

#define MAC_REKEY_CONF   0x0B

◆ MAC_RX_PARAM_SETUP_ANS

#define MAC_RX_PARAM_SETUP_ANS   0x05

◆ MAC_RX_PARAM_SETUP_REQ

#define MAC_RX_PARAM_SETUP_REQ   0x05

◆ MAC_RX_TIMING_SETUP_ANS

#define MAC_RX_TIMING_SETUP_ANS   0x08

◆ MAC_RX_TIMING_SETUP_REQ

#define MAC_RX_TIMING_SETUP_REQ   0x08

◆ MAC_TX_PARAM_SETUP_ANS

#define MAC_TX_PARAM_SETUP_ANS   0x09

◆ MAC_TX_PARAM_SETUP_REQ

#define MAC_TX_PARAM_SETUP_REQ   0x09