Loading...
Searching...
No Matches

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 "gnrc_lorawan_internal.h"
#include "assert.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_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 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_radio_rx_timeout_cb (gnrc_lorawan_t *mac)
 Indicate the MAC layer there was a timeout event.
 
void gnrc_lorawan_radio_tx_done_cb (gnrc_lorawan_t *mac)
 Indicate the MAC layer when the transmission finished.
 
static void gnrc_lorawan_radio_rx_error_cb (gnrc_lorawan_t *mac)
 Indicate the MAC layer reception of a frame went wrong.
 
void gnrc_lorawan_timeout_cb (gnrc_lorawan_t *mac)
 Indicate the MAC layer that the timer was fired.
 
void gnrc_lorawan_init (gnrc_lorawan_t *mac, uint8_t *joineui, const gnrc_lorawan_key_ctx_t *ctx)
 Init GNRC LoRaWAN.
 
void gnrc_lorawan_mlme_request (gnrc_lorawan_t *mac, const mlme_request_t *mlme_request, mlme_confirm_t *mlme_confirm)
 Perform a MLME request.
 
void gnrc_lorawan_mcps_request (gnrc_lorawan_t *mac, const mcps_request_t *mcps_request, mcps_confirm_t *mcps_confirm)
 Perform a MCPS request.
 
void gnrc_lorawan_radio_rx_done_cb (gnrc_lorawan_t *mac, uint8_t *data, size_t size)
 Fetch a LoRaWAN packet from the radio.
 
void gnrc_lorawan_mcps_indication (gnrc_lorawan_t *mac, mcps_indication_t *ind)
 MCPS indication callback.
 
void gnrc_lorawan_mlme_indication (gnrc_lorawan_t *mac, mlme_indication_t *ind)
 MLME indication callback.
 
void gnrc_lorawan_mcps_confirm (gnrc_lorawan_t *mac, mcps_confirm_t *confirm)
 MCPS Confirm callback.
 
void gnrc_lorawan_mlme_confirm (gnrc_lorawan_t *mac, mlme_confirm_t *confirm)
 MLME confirm callback.
 
netdev_tgnrc_lorawan_get_netdev (gnrc_lorawan_t *mac)
 Get netdev pointer from mac descriptor.
 
int gnrc_lorawan_phy_set_channel_mask (gnrc_lorawan_t *mac, uint16_t channel_mask)
 Set the channel mask in order to enable or disable LoRaWAN channels.
 
void gnrc_lorawan_set_timer (gnrc_lorawan_t *mac, uint32_t us)
 Set a timer with the given time.
 
void gnrc_lorawan_remove_timer (gnrc_lorawan_t *mac)
 Remove the current timer.
 
static void gnrc_lorawan_set_uncnf_redundancy (gnrc_lorawan_t *mac, uint8_t redundancy)
 Set unconfirmed uplink redundancy.