Embedded System Design 2 - Project
lora.h
Go to the documentation of this file.
1 /* ____ ____ _ __ __ ____ ___
2  * | _ \| _ \ / \ | \/ |/ ___/ _ \
3  * | | | | |_) | / _ \ | |\/| | | | | | |
4  * | |_| | _ < / ___ \| | | | |__| |_| |
5  * |____/|_| \_\/_/ \_\_| |_|\____\___/
6  * research group
7  * dramco.be/
8  *
9  * KU Leuven - Technology Campus Gent,
10  * Gebroeders De Smetstraat 1,
11  * B-9000 Gent, Belgium
12  *
13  * File: lora.h
14  * Created: 2018-03-21
15  * Author: Geoffrey Ottoy
16  *
17  * Description: Header file for lora.c
18  */
19 
20 #ifndef _LORA_H_
21 #define _LORA_H_
22 
23 #define LORA_UNCONFIMED false
24 #define LORA_CONFIRMED true
25 
26 #define LORA_EUI_LENGTH 16
27 #define LORA_KEY_LENGTH 32
28 #define LORA_DEVICE_ADDRESS_LENGTH 8
29 
30 #include <em_device.h>
31 #include "lpp.h"
32 
33 typedef enum lora_statuses{
37 } LoRaStatus_t;
38 
39 typedef enum activation_methods{
43 
44 // EU data rates
45 typedef enum data_rates{
49  SF9_BW125 = 3,
50  SF8_BW125 = 4,
53 
54 typedef struct{
57  char deviceEUI[LORA_EUI_LENGTH+1];
58  char applicationEUI[LORA_EUI_LENGTH+1];
59  char applicationKey[LORA_KEY_LENGTH+1];
60  char deviceAddress[LORA_DEVICE_ADDRESS_LENGTH+1];
61  char networkSessionKey[LORA_KEY_LENGTH+1];
62  char applicationSessionKey[LORA_KEY_LENGTH+1];
64 
66 
68 
69 void LoRa_Sleep(uint32_t durationMs, volatile bool * wakeUp);
71 
72 #endif /* _LORA_H_ */
activation_methods
Definition: lora.h:39
Definition: lora.h:36
LoRaStatus_t LoRa_WakeUp(void)
Definition: lora.c:80
enum activation_methods LoRaActivationMethod_t
#define LORA_KEY_LENGTH
Definition: lora.h:27
enum lora_statuses LoRaStatus_t
Basic Low Power Payload (LPP) functionality.
#define LORA_EUI_LENGTH
Definition: lora.h:26
lora_statuses
Definition: lora.h:33
Definition: lpp.h:38
Definition: lora.h:51
Definition: lora.h:34
Definition: lora.h:50
LoRaStatus_t LoRa_Init(LoRaSettings_t init)
Definition: lora.c:37
ADC_Init_TypeDef init
Definition: adc.c:71
Definition: lora.h:49
#define LORA_DEVICE_ADDRESS_LENGTH
Definition: lora.h:28
LoRaStatus_t LoRa_SendLppBuffer(LPP_Buffer_t b, bool ackNoAck)
Definition: lora.c:61
Definition: lora.h:35
Definition: lora.h:41
Definition: lora.h:40
data_rates
Definition: lora.h:45
LoRaActivationMethod_t activationMethod
Definition: lora.h:55
LoRaDataRate_t dataRate
Definition: lora.h:56
enum data_rates LoRaDataRate_t
void LoRa_Sleep(uint32_t durationMs, volatile bool *wakeUp)
Definition: lora.c:76