Embedded System Design 2 - Project
lora.c File Reference
#include "lora.h"
#include "lpp.h"
#include "pm.h"
#include "rn2483.h"
#include "delay.h"
#include "pin_mapping.h"
#include "debug_dbprint.h"

Go to the source code of this file.

Macros

#define LORA_BUFFERSIZE   64
 
#define MAX_JOIN_RETRIES   5
 

Functions

LoRaStatus_t LoRa_Init (LoRaSettings_t init)
 
LoRaStatus_t LoRa_SendLppBuffer (LPP_Buffer_t b, bool ackNoAck)
 
void LoRa_Sleep (uint32_t durationMs, volatile bool *wakeUp)
 
LoRaStatus_t LoRa_WakeUp (void)
 

Variables

char loraReceiveBuffer [64]
 

Macro Definition Documentation

◆ LORA_BUFFERSIZE

#define LORA_BUFFERSIZE   64

Definition at line 32 of file lora.c.

◆ MAX_JOIN_RETRIES

#define MAX_JOIN_RETRIES   5

Definition at line 33 of file lora.c.

Function Documentation

◆ LoRa_Init()

LoRaStatus_t LoRa_Init ( LoRaSettings_t  init)

Definition at line 37 of file lora.c.

37  {
39 
40  RN2483_Init();
41 
42  int retries = 0;
43  while(retries < MAX_JOIN_RETRIES){
45  break;
46  }
47  retries++;
48 
49 #if DEBUG_DBPRINT == 1 /* DEBUG_DBPRINT */
50  dbwarnInt("Retry join in 5 seconds (LoRa_Init) (", retries, ")\n\r");
51 #endif /* DEBUG_DBPRINT */
52 
53  delay(5000);
54  }
55  if(retries == MAX_JOIN_RETRIES){
56  return (ERROR);
57  }
58  return (JOINED);
59 }
Definition: lora.h:36
void PM_Enable(PM_SubSystem_t pmss)
Definition: pm.c:33
void dbwarnInt(char *message1, int32_t value, char *message2)
Print a warning value surrounded by two strings (char array) to USARTx.
Definition: dbprint.c:598
#define LORA_BUFFERSIZE
Definition: lora.c:32
Definition: lora.h:34
RN2483_Status_t RN2483_Setup(LoRaSettings_t settings, char *receiveBuffer, uint8_t bufferSize)
Definition: rn2483.c:270
void RN2483_Init(void)
Definition: rn2483.c:123
void delay(uint32_t msDelay)
Wait for a certain amount of milliseconds in EM2/3.
Definition: delay.c:124
char loraReceiveBuffer[64]
Definition: lora.c:35
Definition: pm.h:26
#define MAX_JOIN_RETRIES
Definition: lora.c:33

◆ LoRa_SendLppBuffer()

LoRaStatus_t LoRa_SendLppBuffer ( LPP_Buffer_t  b,
bool  ackNoAck 
)

Definition at line 61 of file lora.c.

61  {
62  if(ackNoAck == LORA_CONFIRMED){ // Not tested yet !!
64  return (ERROR);
65  }
66  return (SUCCESS);
67  }
68  else{
70  return (ERROR);
71  }
72  return (SUCCESS);
73  }
74 }
Definition: lora.h:36
uint8_t fill
Definition: lpp.h:41
Definition: rn2483.h:46
#define LORA_BUFFERSIZE
Definition: lora.c:32
#define LORA_CONFIRMED
Definition: lora.h:24
RN2483_Status_t RN2483_TransmitConfirmed(uint8_t *data, uint8_t payloadSize, char *receiveBuffer, uint8_t bufferSize)
Definition: rn2483.c:354
uint8_t * buffer
Definition: lpp.h:40
Definition: lora.h:35
RN2483_Status_t RN2483_TransmitUnconfirmed(uint8_t *data, uint8_t payloadSize, char *receiveBuffer, uint8_t bufferSize)
Definition: rn2483.c:339
char loraReceiveBuffer[64]
Definition: lora.c:35

◆ LoRa_Sleep()

void LoRa_Sleep ( uint32_t  durationMs,
volatile bool *  wakeUp 
)

Definition at line 76 of file lora.c.

76  {
77  RN2483_Sleep(durationMs, wakeUp, loraReceiveBuffer, LORA_BUFFERSIZE);
78 }
#define LORA_BUFFERSIZE
Definition: lora.c:32
char loraReceiveBuffer[64]
Definition: lora.c:35
RN2483_Status_t RN2483_Sleep(uint32_t sleepTime, volatile bool *wakeUp, char *receiveBuffer, uint8_t bufferSize)
Definition: rn2483.c:374

◆ LoRa_WakeUp()

LoRaStatus_t LoRa_WakeUp ( void  )

Definition at line 80 of file lora.c.

80  {
82  return (ERROR);
83  }
84  return (SUCCESS);
85 }
Definition: lora.h:36
RN2483_Status_t RN2483_Wake(char *receiveBuffer, uint8_t bufferSize)
Definition: rn2483.c:379
#define LORA_BUFFERSIZE
Definition: lora.c:32
Definition: lora.h:35
char loraReceiveBuffer[64]
Definition: lora.c:35
Definition: rn2483.h:34

Variable Documentation

◆ loraReceiveBuffer

char loraReceiveBuffer[64]

Definition at line 35 of file lora.c.