Embedded System Design 2 - Project
rn2483.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: rn2483.h
14  * Created: 2018-01-18
15  * Author: Guus Leenders - Modified by Brecht Van Eeckhoudt
16  *
17  * Description: Header file for rn2483.c
18  */
19 
20 #ifndef _RN2483_H_
21 #define _RN2483_H_
22 
23 #include <stdint.h> /* (u)intXX_t */
24 #include "lora.h" /* LoRa functionality */
25 
26 #define RN2483_COMMANDBUFFER_SIZE 160 // Was "80" before but gave problems with long LoRaWAN packets to send
27 #define RN2483_POWER_14DBM 1
28 #define RN2483_POWER_11DBM 2
29 #define RN2483_POWER_8DBM 3
30 #define RN2483_POWER_4DBM 4
31 #define RN2483_POWER_2DBM 5
32 
33 typedef enum rn2483_statuses{
55 
56 void RN2483_Init(void);
57 RN2483_Status_t RN2483_MacReset(char * receiveBuffer, uint8_t bufferSize);
58 
59 RN2483_Status_t RN2483_GetHardwareEUI(char * receiveBuffer, uint8_t bufferSize);
60 RN2483_Status_t RN2483_GetSystemVersion(char * receiveBuffer, uint8_t bufferSize);
61 RN2483_Status_t RN2483_GetApplicationEUI(char * receiveBuffer, uint8_t bufferSize);
62 RN2483_Status_t RN2483_SetDeviceEUI(char * eui, char * receiveBuffer, uint8_t bufferSize);
63 RN2483_Status_t RN2483_SetApplicationEUI(char * eui, char * receiveBuffer, uint8_t bufferSize);
64 RN2483_Status_t RN2483_SetApplicationKey(char * key, char * receiveBuffer, uint8_t bufferSize);
65 RN2483_Status_t RN2483_SetApplicationSessionKey(char * key, char * receiveBuffer, uint8_t bufferSize);
66 RN2483_Status_t RN2483_SetNetworkSessionKey(char * address, char * receiveBuffer, uint8_t bufferSize);
67 RN2483_Status_t RN2483_SetDeviceAddress(char * address, char * receiveBuffer, uint8_t bufferSize);
68 RN2483_Status_t RN2483_SetOutputPower(uint8_t pwr, char * receiveBuffer, uint8_t bufferSize);
71 RN2483_Status_t RN2483_SetDataRate(uint8_t dr, char * receiveBuffer, uint8_t bufferSize);
72 RN2483_Status_t RN2483_JoinOTAA(char * receiveBuffer, uint8_t bufferSize);
73 RN2483_Status_t RN2483_JoinABP(char * receiveBuffer, uint8_t bufferSize);
74 
75 RN2483_Status_t RN2483_Setup(LoRaSettings_t settings, char * receiveBuffer, uint8_t bufferSize);
76 RN2483_Status_t RN2483_SetupOTAA(LoRaSettings_t settings, char * receiveBuffer, uint8_t bufferSize);
77 RN2483_Status_t RN2483_SetupABP(LoRaSettings_t settings, char * receiveBuffer, uint8_t bufferSize);
78 RN2483_Status_t RN2483_TransmitUnconfirmed(uint8_t * data, uint8_t payloadSize, char * receiveBuffer, uint8_t bufferSize);
79 RN2483_Status_t RN2483_TransmitConfirmed(uint8_t * data, uint8_t payloadSize, char * receiveBuffer, uint8_t bufferSize);
80 
81 RN2483_Status_t RN2483_SaveMac(char * receiveBuffer, uint8_t bufferSize);
82 RN2483_Status_t RN2483_ResumeMac(char * receiveBuffer, uint8_t bufferSize);
83 
84 RN2483_Status_t RN2483_Sleep(uint32_t sleepTime, volatile bool * wakeUp, char * receiveBuffer, uint8_t bufferSize);
85 RN2483_Status_t RN2483_Wake(char * receiveBuffer, uint8_t bufferSize);
86 
87 #endif /* _RN2483_H_ */
RN2483_Status_t RN2483_SetDeviceEUI(char *eui, char *receiveBuffer, uint8_t bufferSize)
Definition: rn2483.c:158
Definition: rn2483.h:40
RN2483_Status_t RN2483_SetApplicationKey(char *key, char *receiveBuffer, uint8_t bufferSize)
Definition: rn2483.c:168
RN2483_Status_t RN2483_Sleep(uint32_t sleepTime, volatile bool *wakeUp, char *receiveBuffer, uint8_t bufferSize)
Definition: rn2483.c:374
Definition: rn2483.h:46
RN2483_Status_t RN2483_SetupOTAA(LoRaSettings_t settings, char *receiveBuffer, uint8_t bufferSize)
Definition: rn2483.c:278
Definition: rn2483.h:42
MeasurementData_t data
Definition: main.c:189
RN2483_Status_t RN2483_MacReset(char *receiveBuffer, uint8_t bufferSize)
Definition: rn2483.c:138
rn2483_statuses
Definition: rn2483.h:33
Definition: rn2483.h:47
RN2483_Status_t RN2483_DisableAutomaticReplies(char *receiveBuffer, uint8_t bufferSize)
Definition: rn2483.c:198
RN2483_Status_t RN2483_SetOutputPower(uint8_t pwr, char *receiveBuffer, uint8_t bufferSize)
Definition: rn2483.c:188
RN2483_Status_t RN2483_DisableAdaptiveDataRate(char *receiveBuffer, uint8_t bufferSize)
Definition: rn2483.c:193
RN2483_Status_t RN2483_TransmitConfirmed(uint8_t *data, uint8_t payloadSize, char *receiveBuffer, uint8_t bufferSize)
Definition: rn2483.c:354
RN2483_Status_t RN2483_Setup(LoRaSettings_t settings, char *receiveBuffer, uint8_t bufferSize)
Definition: rn2483.c:270
RN2483_Status_t RN2483_TransmitUnconfirmed(uint8_t *data, uint8_t payloadSize, char *receiveBuffer, uint8_t bufferSize)
Definition: rn2483.c:339
RN2483_Status_t RN2483_SetNetworkSessionKey(char *address, char *receiveBuffer, uint8_t bufferSize)
Definition: rn2483.c:178
RN2483_Status_t RN2483_ResumeMac(char *receiveBuffer, uint8_t bufferSize)
Definition: rn2483.c:369
RN2483_Status_t RN2483_JoinOTAA(char *receiveBuffer, uint8_t bufferSize)
Definition: rn2483.c:236
RN2483_Status_t RN2483_SaveMac(char *receiveBuffer, uint8_t bufferSize)
Definition: rn2483.c:364
RN2483_Status_t RN2483_SetApplicationEUI(char *eui, char *receiveBuffer, uint8_t bufferSize)
Definition: rn2483.c:163
RN2483_Status_t RN2483_SetDataRate(uint8_t dr, char *receiveBuffer, uint8_t bufferSize)
Definition: rn2483.c:203
enum rn2483_statuses RN2483_Status_t
RN2483_Status_t RN2483_JoinABP(char *receiveBuffer, uint8_t bufferSize)
Definition: rn2483.c:241
void RN2483_Init(void)
Definition: rn2483.c:123
RN2483_Status_t RN2483_GetSystemVersion(char *receiveBuffer, uint8_t bufferSize)
Definition: rn2483.c:148
Definition: rn2483.h:34
RN2483_Status_t RN2483_SetDeviceAddress(char *address, char *receiveBuffer, uint8_t bufferSize)
Definition: rn2483.c:183
RN2483_Status_t RN2483_SetupABP(LoRaSettings_t settings, char *receiveBuffer, uint8_t bufferSize)
Definition: rn2483.c:315
RN2483_Status_t RN2483_Wake(char *receiveBuffer, uint8_t bufferSize)
Definition: rn2483.c:379
char receiveBuffer[50]
Definition: leuart.c:78
RN2483_Status_t RN2483_GetHardwareEUI(char *receiveBuffer, uint8_t bufferSize)
Definition: rn2483.c:143
RN2483_Status_t RN2483_GetApplicationEUI(char *receiveBuffer, uint8_t bufferSize)
Definition: rn2483.c:153
RN2483_Status_t RN2483_SetApplicationSessionKey(char *key, char *receiveBuffer, uint8_t bufferSize)
Definition: rn2483.c:173