GNRC LoRaWAN API definition. More...

Detailed Description

GNRC LoRaWAN API definition.

Author
José Ignacio Alamos jose..nosp@m.alam.nosp@m.os@ha.nosp@m.w-ha.nosp@m.mburg.nosp@m..de
Francisco Molina femol.nosp@m.ina@.nosp@m.uc.cl

Definition in file lorawan.h.

+ Include dependency graph for lorawan.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  mlme_mib_t
 MAC Information Base descriptor for MLME Request-Confirm. More...
 
struct  mlme_request_t
 MAC (sub) Layer Management Entity (MLME) request representation. More...
 
struct  mcps_request_t
 Mac Common Part Sublayer (MCPS) request representation. More...
 
struct  mlme_confirm_t
 MAC (sub) Layer Management Entity (MLME) confirm representation. More...
 
struct  mcps_confirm_t
 Mac Common Part Sublayer (MCPS) confirm representation. More...
 
struct  mcps_indication_t
 Mac Common Part Sublayer (MCPS) indication representation. More...
 
struct  mlme_indication_t
 MAC (sub) Layer Management Entity (MLME) indication representation. More...
 

Macros

#define CONFIG_GNRC_LORAWAN_TIMER_DRIFT   10
 maximum timer drift in per mille More...
 
#define CONFIG_GNRC_LORAWAN_MIN_SYMBOLS_TIMEOUT   30
 the minimum symbols to detect a LoRa preamble
 
#define GNRC_LORAWAN_REQ_STATUS_SUCCESS   (0)
 MLME or MCPS request successful status.
 
#define GNRC_LORAWAN_REQ_STATUS_DEFERRED   (1)
 the MLME or MCPS confirm message is asynchronous
 

Enumerations

enum  mcps_event_t { MCPS_EVENT_RX, MCPS_EVENT_NO_RX, MCPS_EVENT_ACK_TIMEOUT }
 MCPS events. More...
 
enum  mlme_activation_t { MLME_ACTIVATION_NONE, MLME_ACTIVATION_ABP, MLME_ACTIVATION_OTAA }
 LoRaWAN activation mechanism. More...
 
enum  mlme_mib_type_t { MIB_ACTIVATION_METHOD, MIB_DEV_ADDR, MIB_RX2_DR }
 MAC Information Base attributes. More...
 
enum  mlme_type_t {
  MLME_JOIN, MLME_LINK_CHECK, MLME_RESET, MLME_SET,
  MLME_GET, MLME_SCHEDULE_UPLINK
}
 MLME primitive types. More...
 
enum  mcps_type_t { MCPS_CONFIRMED, MCPS_UNCONFIRMED }
 MCPS primitive types. More...
 

Functions

void gnrc_lorawan_event_timeout (gnrc_lorawan_t *mac)
 Indicate the MAC layer there was a timeout event. More...
 
void gnrc_lorawan_event_tx_complete (gnrc_lorawan_t *mac)
 Indicate the MAC layer when the transmission finished. More...
 
void gnrc_lorawan_init (gnrc_lorawan_t *mac, uint8_t *nwkskey, uint8_t *appskey)
 Init GNRC LoRaWAN. More...
 
void gnrc_lorawan_mlme_request (gnrc_lorawan_t *mac, const mlme_request_t *mlme_request, mlme_confirm_t *mlme_confirm)
 Perform a MLME request. More...
 
void gnrc_lorawan_mcps_request (gnrc_lorawan_t *mac, const mcps_request_t *mcps_request, mcps_confirm_t *mcps_confirm)
 Perform a MCPS request. More...
 
void gnrc_lorawan_recv (gnrc_lorawan_t *mac)
 Fetch a LoRaWAN packet from the radio. More...
 
void gnrc_lorawan_mcps_indication (gnrc_lorawan_t *mac, mcps_indication_t *ind)
 MCPS indication callback. More...
 
void gnrc_lorawan_mlme_indication (gnrc_lorawan_t *mac, mlme_indication_t *ind)
 MLME indication callback. More...
 
void gnrc_lorawan_mcps_confirm (gnrc_lorawan_t *mac, mcps_confirm_t *confirm)
 MCPS Confirm callback. More...
 
void gnrc_lorawan_mlme_confirm (gnrc_lorawan_t *mac, mlme_confirm_t *confirm)
 MLME confirm callback. More...
 
netdev_tgnrc_lorawan_get_netdev (gnrc_lorawan_t *mac)
 Get netdev pointer from mac descriptor. More...