23 #ifndef LORAWANINTERFACE_H_    24 #define LORAWANINTERFACE_H_    26 #include "platform/Callback.h"    27 #include "platform/ScopedLock.h"    28 #include "events/EventQueue.h"    30 #include "LoRaRadio.h"   353     int16_t 
send(uint8_t port, 
const uint8_t *data, uint16_t length, 
int flags);
   389     int16_t 
receive(uint8_t port, uint8_t *data, uint16_t length, 
int flags);
   414     int16_t 
receive(uint8_t *data, uint16_t length, uint8_t &port, 
int &flags);
 
LoRaWANStack Class A controller layer for LoRaWAN MAC and PHY. 
lorawan_status_t disconnect()
Disconnect the current session. 
lorawan_status_t enable_adaptive_datarate()
Enables adaptive data rate (ADR) 
RAII-style mechanism for owning a lock of Lockable object for the duration of a scoped block...
lorawan_status_t set_datarate(uint8_t data_rate)
Sets up a particular data rate. 
lorawan_status_t set_confirmed_msg_retries(uint8_t count)
Sets up the retry counter for confirmed messages. 
device_class_t
LoRaWAN device classes definition. 
lorawan_status_t get_backoff_metadata(int &backoff)
Get hold of backoff time. 
lorawan_status_t remove_channel_plan()
Removes an active channel plan. 
LoRaWAN stack layer implementation. 
Contains data structures required by LoRaWANBase class. 
LoRaPHY Class Parent class for LoRa regional PHY implementations. 
lorawan_status_t set_device_class(device_class_t device_class)
Change device class. 
lorawan_status_t get_channel_plan(lorawan_channelplan_t &channel_plan)
Gets the channel plans from the LoRa stack. 
lorawan_status_t connect()
Connect OTAA or ABP using the Mbed OS config system. 
lorawan_status_t cancel_sending(void)
Cancel outgoing transmission. 
Stack level callback functions. 
enum lorawan_status lorawan_status_t
lorawan_status_t contains status codes in response to stack operations 
lorawan_connect_t structure 
void remove_link_check_request()
Removes link check request sticky MAC command. 
int16_t send(uint8_t port, const uint8_t *data, uint16_t length, int flags)
Send message to gateway. 
LoRaWANInterface Class A network interface for LoRaWAN. 
int16_t receive(uint8_t port, uint8_t *data, uint16_t length, int flags)
Receives a message from the Network Server on a specific port. 
lorawan_status_t disable_adaptive_datarate()
Disables adaptive data rate. 
lorawan_status_t add_app_callbacks(lorawan_app_callbacks_t *callbacks)
Add application callbacks to the stack. 
lorawan_status_t remove_channel(uint8_t index)
Removes a single channel. 
DO NOT MODIFY, WILL BREAK THE API! 
lorawan_status_t set_channel_plan(const lorawan_channelplan_t &channel_plan)
Sets the channel plan. 
lorawan_status_t get_rx_metadata(lorawan_rx_metadata &metadata)
Get hold of RX meta-data. 
lorawan_status_t initialize(events::EventQueue *queue)
Initialize the LoRa stack. 
void unlock(void)
Releases exclusive access to the stack. 
lorawan_status_t get_tx_metadata(lorawan_tx_metadata &metadata)
Get hold of TX meta-data. 
void lock(void)
Provides exclusive access to the stack. 
LoRaWANInterface(LoRaRadio &radio)
Constructs a LoRaWANInterface using the LoRaWANStack instance underneath. 
Interface for the radios, containing the main functions that a radio needs, and five callback functio...
lorawan_status_t add_link_check_request()
Validate the connectivity with the network.