GNRC LoRaWAN stack implementation. More...
GNRC LoRaWAN stack implementation.
Modules | |
| GNRC LoRaWAN compile configurations | |
Files | |
| file | region.h | 
| GNRC LoRaWAN region specific functions.  | |
| file | lorawan.h | 
| GNRC LoRaWAN API definition.  | |
| file | gnrc_lorawan_internal.h | 
| GNRC LoRaWAN internal header.  | |
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 | 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.  More... | |
| void | gnrc_lorawan_radio_tx_done_cb (gnrc_lorawan_t *mac) | 
| Indicate the MAC layer when the transmission finished.  More... | |
| static void | gnrc_lorawan_radio_rx_error_cb (gnrc_lorawan_t *mac) | 
| Indicate the MAC layer reception of a frame went wrong.  More... | |
| void | gnrc_lorawan_timeout_cb (gnrc_lorawan_t *mac) | 
| Indicate the MAC layer that the timer was fired.  More... | |
| void | gnrc_lorawan_init (gnrc_lorawan_t *mac, uint8_t *joineui, const gnrc_lorawan_key_ctx_t *ctx) | 
| 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_radio_rx_done_cb (gnrc_lorawan_t *mac, uint8_t *data, size_t size) | 
| 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_t * | gnrc_lorawan_get_netdev (gnrc_lorawan_t *mac) | 
| Get netdev pointer from mac descriptor.  More... | |
| 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.  More... | |
| void | gnrc_lorawan_set_timer (gnrc_lorawan_t *mac, uint32_t us) | 
| Set a timer with the given time.  More... | |
| void | gnrc_lorawan_remove_timer (gnrc_lorawan_t *mac) | 
| Remove the current timer.  More... | |
| static void | gnrc_lorawan_set_uncnf_redundancy (gnrc_lorawan_t *mac, uint8_t redundancy) | 
| Set unconfirmed uplink redundancy.  More... | |
| enum mcps_event_t | 
| enum mcps_type_t | 
| enum mlme_activation_t | 
| enum mlme_mib_type_t | 
| enum mlme_type_t | 
| netdev_t* gnrc_lorawan_get_netdev | ( | gnrc_lorawan_t * | mac | ) | 
Get netdev pointer from mac descriptor.
| [in] | mac | pointer to the MAC descriptor | 
| void gnrc_lorawan_init | ( | gnrc_lorawan_t * | mac, | 
| uint8_t * | joineui, | ||
| const gnrc_lorawan_key_ctx_t * | ctx | ||
| ) | 
Init GNRC LoRaWAN.
| [in] | mac | pointer to the MAC descriptor | 
| [in] | joineui | pointer to Join EUI | 
| [in] | ctx | pointer to LoRaWAN context | 
| void gnrc_lorawan_mcps_confirm | ( | gnrc_lorawan_t * | mac, | 
| mcps_confirm_t * | confirm | ||
| ) | 
MCPS Confirm callback.
| [in] | mac | pointer to the MAC descriptor | 
| [in] | confirm | pointer to the confirm (see mcps_confirm_t) | 
| void gnrc_lorawan_mcps_indication | ( | gnrc_lorawan_t * | mac, | 
| mcps_indication_t * | ind | ||
| ) | 
MCPS indication callback.
| [in] | mac | pointer to the MAC descriptor | 
| [in] | ind | pointer of the indication (see mcps_indication_t) | 
| void gnrc_lorawan_mcps_request | ( | gnrc_lorawan_t * | mac, | 
| const mcps_request_t * | mcps_request, | ||
| mcps_confirm_t * | mcps_confirm | ||
| ) | 
Perform a MCPS request.
| [in] | mac | pointer to the MAC descriptor | 
| [in] | mcps_request | the MCPS request | 
| [out] | mcps_confirm | the MCPS confirm. mlme_confirm->status could either be GNRC_LORAWAN_REQ_STATUS_SUCCESS if the request was OK, GNRC_LORAWAN_REQ_STATUS_DEFERRED if the confirmation is deferred or an standard error number  | 
| void gnrc_lorawan_mlme_confirm | ( | gnrc_lorawan_t * | mac, | 
| mlme_confirm_t * | confirm | ||
| ) | 
MLME confirm callback.
| [in] | mac | pointer to the MAC descriptor | 
| [in] | confirm | pointer to the confirm (see mlme_confirm_t) | 
| void gnrc_lorawan_mlme_indication | ( | gnrc_lorawan_t * | mac, | 
| mlme_indication_t * | ind | ||
| ) | 
MLME indication callback.
| [in] | mac | pointer to the MAC descriptor | 
| [in] | ind | pointer of the indication (see mlme_indication_t) | 
| void gnrc_lorawan_mlme_request | ( | gnrc_lorawan_t * | mac, | 
| const mlme_request_t * | mlme_request, | ||
| mlme_confirm_t * | mlme_confirm | ||
| ) | 
Perform a MLME request.
| [in] | mac | pointer to the MAC descriptor | 
| [in] | mlme_request | the MLME request | 
| [out] | mlme_confirm | the MLME confirm. mlme_confirm->status could either be GNRC_LORAWAN_REQ_STATUS_SUCCESS if the request was OK, GNRC_LORAWAN_REQ_STATUS_DEFERRED if the confirmation is deferred or an standard error number  | 
| 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.
| [in] | mac | pointer to the MAC descriptor | 
| [in] | channel_mask | the channel mask. LSB maps to channel 0 | 
channel_mask is zero or if the channel mask tries to enable an undefined channel | void gnrc_lorawan_radio_rx_done_cb | ( | gnrc_lorawan_t * | mac, | 
| uint8_t * | data, | ||
| size_t | size | ||
| ) | 
Fetch a LoRaWAN packet from the radio.
To be called on radio RX done event.
| [in] | mac | pointer to the MAC descriptor | 
| [in] | data | pointer to the psdu. Must not be NULL. Use gnrc_lorawan_radio_rx_error_cb instead if the reception was not successful. | 
| [in] | size | size of the PSDU | 
      
  | 
  inlinestatic | 
| void gnrc_lorawan_radio_rx_timeout_cb | ( | gnrc_lorawan_t * | mac | ) | 
Indicate the MAC layer there was a timeout event.
| [in] | mac | pointer to the MAC descriptor | 
| void gnrc_lorawan_radio_tx_done_cb | ( | gnrc_lorawan_t * | mac | ) | 
Indicate the MAC layer when the transmission finished.
| [in] | mac | pointer to the MAC descriptor | 
| void gnrc_lorawan_remove_timer | ( | gnrc_lorawan_t * | mac | ) | 
Remove the current timer.
| [in] | mac | pointer to the MAC descriptor | 
| void gnrc_lorawan_set_timer | ( | gnrc_lorawan_t * | mac, | 
| uint32_t | us | ||
| ) | 
Set a timer with the given time.
| [in] | mac | pointer to the MAC descriptor | 
| us | timeout microseconds | 
      
  | 
  inlinestatic | 
| void gnrc_lorawan_timeout_cb | ( | gnrc_lorawan_t * | mac | ) | 
Indicate the MAC layer that the timer was fired.
| [in] | mac | pointer to the MAC descriptor |