GNRC LoRaWAN stack implementation.
More...
GNRC LoRaWAN stack implementation.
|
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...
|
|
|
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...
|
|
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_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...
|
|
◆ mcps_event_t
MCPS events.
Enumerator |
---|
MCPS_EVENT_RX | MCPS RX event.
|
MCPS_EVENT_NO_RX | MCPS no RX event.
|
Definition at line 63 of file lorawan.h.
◆ mcps_type_t
MCPS primitive types.
Enumerator |
---|
MCPS_CONFIRMED | confirmed data
|
MCPS_UNCONFIRMED | unconfirmed data
|
Definition at line 101 of file lorawan.h.
◆ mlme_activation_t
LoRaWAN activation mechanism.
Enumerator |
---|
MLME_ACTIVATION_NONE | MAC layer is not activated.
|
MLME_ACTIVATION_ABP | MAC layer activated by ABP.
|
MLME_ACTIVATION_OTAA | MAC layer activated by OTAA.
|
Definition at line 71 of file lorawan.h.
◆ mlme_mib_type_t
MAC Information Base attributes.
Enumerator |
---|
MIB_ACTIVATION_METHOD | type is activation method
|
MIB_DEV_ADDR | type is dev addr
|
MIB_RX2_DR | type is rx2 DR
|
Definition at line 80 of file lorawan.h.
◆ mlme_type_t
MLME primitive types.
Enumerator |
---|
MLME_JOIN | join a LoRaWAN network
|
MLME_LINK_CHECK | perform a Link Check
|
MLME_RESET | reset the MAC layer
|
MLME_SET | set the MIB
|
MLME_GET | get the MIB
|
MLME_SCHEDULE_UPLINK | schedule uplink indication
|
Definition at line 89 of file lorawan.h.
◆ gnrc_lorawan_get_netdev()
Get netdev pointer from mac descriptor.
- Note
- Supposed to be implemented by the user of GNRC LoRaWAN
- Parameters
-
[in] | mac | pointer to the MAC descriptor |
- Returns
- pointer to the netdev_t structure
◆ gnrc_lorawan_init()
void gnrc_lorawan_init |
( |
gnrc_lorawan_t * |
mac, |
|
|
uint8_t * |
nwkskey, |
|
|
uint8_t * |
appskey |
|
) |
| |
Init GNRC LoRaWAN.
- Parameters
-
[in] | mac | pointer to the MAC descriptor |
[in] | nwkskey | buffer to store the NwkSKey. Should be at least 16 bytes long |
[in] | appskey | buffer to store the AppsKey. Should be at least 16 bytes long |
◆ gnrc_lorawan_mcps_confirm()
MCPS Confirm callback.
- Note
- Supposed to be implemented by the user of GNRC LoRaWAN
- Parameters
-
[in] | mac | pointer to the MAC descriptor |
[in] | confirm | pointer to the confirm (see mcps_confirm_t) |
◆ gnrc_lorawan_mcps_indication()
MCPS indication callback.
- Note
- Supposed to be implemented by the user of GNRC LoRaWAN
- Parameters
-
[in] | mac | pointer to the MAC descriptor |
[in] | ind | pointer of the indication (see mcps_indication_t) |
◆ gnrc_lorawan_mcps_request()
Perform a MCPS request.
- Parameters
-
[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 |
◆ gnrc_lorawan_mlme_confirm()
MLME confirm callback.
- Note
- Supposed to be implemented by the user of GNRC LoRaWAN
- Parameters
-
[in] | mac | pointer to the MAC descriptor |
[in] | confirm | pointer to the confirm (see mlme_confirm_t) |
◆ gnrc_lorawan_mlme_indication()
MLME indication callback.
- Note
- Supposed to be implemented by the user of GNRC LoRaWAN
- Parameters
-
[in] | mac | pointer to the MAC descriptor |
[in] | ind | pointer of the indication (see mlme_indication_t) |
◆ gnrc_lorawan_mlme_request()
Perform a MLME request.
- Parameters
-
[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 |
◆ gnrc_lorawan_radio_rx_done_cb()
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.
- Parameters
-
[in] | mac | pointer to the MAC descriptor |
[in] | data | pointer to the psdu. Pass NULL if the packet was wrong (or allocation failed) |
[in] | size | size of the PSDU |
◆ gnrc_lorawan_radio_rx_timeout_cb()
Indicate the MAC layer there was a timeout event.
- Parameters
-
[in] | mac | pointer to the MAC descriptor |
◆ gnrc_lorawan_radio_tx_done_cb()
Indicate the MAC layer when the transmission finished.
- Parameters
-
[in] | mac | pointer to the MAC descriptor |