 |
IoT Drivers
v3.3.0 (S2022)
Engineering in Software Technology
|
Go to the documentation of this file.
35 #ifndef LORA_DRIVER_H_
36 #define LORA_DRIVER_H_
38 #include <ATMEGA_FreeRTOS.h>
39 #include <message_buffer.h>
43 #define LORA_MAX_PAYLOAD_LENGTH 20
enum lora_driver_adaptiveDataRateModes lora_driver_adaptiveDataRate_t
Adaptive data rates (ADR) modes.
#define LORA_MAX_PAYLOAD_LENGTH
Definition: lora_driver.h:43
@ LORA_FRAME_COUNTER_ERR_REJOIN_NEEDED
Definition: lora_driver.h:80
@ LORA_UNKNOWN
Definition: lora_driver.h:86
@ LORA_MAC_PAUSED
Definition: lora_driver.h:72
@ LORA_KEYS_NOT_INIT
Definition: lora_driver.h:68
void lora_driver_flushBuffers(void)
Flush the internal buffers in the driver.
@ LORA_ERROR
Definition: lora_driver.h:67
enum lora_driver_joinModes lora_driver_joinMode_t
Join modes.
lora_driver_returnCode_t lora_driver_join(lora_driver_joinMode_t mode)
Joins a LoRaWAN either with ABP or OTAA.
lora_driver_returnCode_t lora_driver_getAdaptiveDataRate(lora_driver_adaptiveDataRate_t *state)
Get adaptive data rate (ADR).
lora_driver_returnCode_t lora_driver_setLinkCheckInterval(uint16_t sec)
Set the delay each link check is performed.
lora_driver_returnCode_t lora_driver_setSpreadingFactor(uint8_t sf)
Set the spreading factor for the communication.
lora_driver_returnCode_t lora_driver_setDeviceIdentifier(const char devEUI[17])
Set the device EUI.
lora_driver_returnCode_t lora_driver_setReceiveDelay(uint16_t rxDelay1)
Set the delay between a transmission and the first receiver window.
void lora_driver_initialise(serial_comPort_t comPort, MessageBufferHandle_t downlinkMessageBuffer)
Initialise the LoRa driver..
enum Lora_driver_returnCodes lora_driver_returnCode_t
LoRA Driver return codes.
lora_driver_joinModes
Join modes.
Definition: lora_driver.h:93
lora_driver_returnCode_t lora_driver_pauseMac(void)
Pause the MAC layer in the RN2483 module.
lora_driver_automaticReplyModes
Automatic Reply (AR) modes.
Definition: lora_driver.h:111
@ LORA_NOT_JOINED
Definition: lora_driver.h:77
@ LORA_ON
Definition: lora_driver.h:104
lora_driver_returnCode_t lora_driver_setDeviceAddress(const char devAddr[9])
Set the Device address.
lora_driver_returnCode_t lora_driver_setNetworkSessionKey(const char nwkSKey[33])
Set the Network Session Key.
void lora_driver_resetRn2483(uint8_t state)
Controls the reset pin on the RN2483 Module.
lora_driver_returnCode_t lora_driver_configureToEu868(void)
Set the driver up to using EU868 standard.
lora_driver_adaptiveDataRateModes
Adaptive data rates (ADR) modes.
Definition: lora_driver.h:102
uint8_t len
Definition: lora_driver.h:53
lora_driver_returnCode_t lora_driver_getRn2483Hweui(char hwDevEUI[17])
Get the RN2483 factory set devEUI.
lora_driver_returnCode_t lora_driver_sendUploadMessage(bool confirmed, lora_driver_payload_t *payload)
Send a upload message to the LoRaWAN.
@ LORA_NO_FREE_CH
Definition: lora_driver.h:69
lora_driver_returnCode_t lora_driver_setApplicationSessionKey(const char appSKey[33])
Set the Application Session Key.
struct lora_driver_payload lora_driver_payload_t
Payload data structure.
lora_driver_returnCode_t lora_driver_setDataRate(uint8_t dr)
Set data rate.
@ LORA_SILENT
Definition: lora_driver.h:70
lora_driver_returnCode_t lora_driver_setAutomaticReply(lora_driver_automaticReplyMode_t ar)
Set automatic reply on down link messages.
lora_driver_returnCode_t lora_driver_getLinkCheckResult(uint8_t *no_gwys, uint8_t *margin)
Get the results of the latest received Link Check.
lora_driver_returnCode_t lora_driver_getDataRate(uint8_t *dr)
Get data rate.
@ LORA_BUSY
Definition: lora_driver.h:71
lora_driver_returnCode_t lora_driver_setApplicationKey(const char appKey[33])
Set the Application Key.
@ LORA_AR_ON
Definition: lora_driver.h:112
@ LORA_INVALID_DATA_LEN
Definition: lora_driver.h:78
@ LORA_OK
Definition: lora_driver.h:66
enum lora_driver_automaticReplyModes lora_driver_automaticReplyMode_t
Automatic Reply (AR) modes.
char * lora_driver_mapReturnCodeToText(lora_driver_returnCode_t returnCode)
Map a LoRa Driver return code into corresponding text.
lora_driver_returnCode_t lora_driver_rn2483Reboot(void)
Reset the RN2483 module.
@ LORA_OTAA
Definition: lora_driver.h:94
lora_driver_returnCode_t lora_driver_setOtaaIdentity(char appEUI[17], char appKEY[33], char devEUI[17])
Set identifiers and keys for a OTAA join.
@ LORA_MAC_RX
Definition: lora_driver.h:83
uint8_t bytes[LORA_MAX_PAYLOAD_LENGTH]
Definition: lora_driver.h:54
lora_driver_returnCode_t lora_driver_saveMac(void)
Save the set parameters into the EEPROM of the RN2483 module.
@ LORA_OFF
Definition: lora_driver.h:103
@ LORA_DENIED
Definition: lora_driver.h:73
@ LORA_MAC_ERROR
Definition: lora_driver.h:84
@ LORA_MAC_TX_OK
Definition: lora_driver.h:81
lora_driver_returnCode_t lora_driver_setApplicationIdentifier(const char appEUI[17])
Set the Application EUI.
@ LORA_ACCEPTED
Definition: lora_driver.h:75
@ LORA_INVALID_PARAM
Definition: lora_driver.h:76
lora_driver_returnCode_t lora_driver_setAbpIdentity(char nwkSKEY[33], char appSKEY[33], char devADD[9])
Set identifiers and keys for a ABP join.
lora_driver_returnCode_t lora_driver_rn2483GetVdd(char mv[5])
Get the RN2483 modules supply voltage VDD.
Payload data structure.
Definition: lora_driver.h:51
lora_driver_returnCode_t lora_driver_rn2483FactoryReset(void)
Reset the RN2483 module.
@ LORA_ABP
Definition: lora_driver.h:95
@ LORA_AR_OFF
Definition: lora_driver.h:113
uint8_t portNo
Definition: lora_driver.h:52
uint8_t lora_driver_getMaxPayloadSize(void)
Get max payload size in bytes.
Lora_driver_returnCodes
LoRA Driver return codes.
Definition: lora_driver.h:65
lora_driver_returnCode_t lora_driver_getAutomaticReply(lora_driver_automaticReplyMode_t *ar)
Get automatic reply setting for down link messages.
lora_driver_returnCode_t lora_driver_setAdaptiveDataRate(lora_driver_adaptiveDataRate_t state)
Set adaptive data rate (ADR).
lora_driver_returnCode_t lora_driver_resumeMac(void)
Resume the MAC layer in the RN2483 module.
lora_driver_returnCode_t lora_driver_sleep(uint32_t ms)
Set the RN2384 module in sleep mode for a given periode.