Skip to content
This repository was archived by the owner on Apr 30, 2025. It is now read-only.

Commit 07b4139

Browse files
authored
Merge pull request #198 from ElectronicCats/Raul360-#197
Temp fix for issue #197 Downlink no longer works - esp32
2 parents a3c698a + 35b2d32 commit 07b4139

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

src/arduino-rfm/lorawan-arduino-rfm.cpp

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -112,10 +112,12 @@ bool LoRaWANClass::init(void)
112112
LoRa_Settings.Channel_Hopping = 0x00; //0x00 no channel hopping, 0x01 channel hopping
113113

114114
// Set default rx delay and window
115-
LoRa_Settings.Rx1_Delay = 1000; // Thing stack seems to be 5000 ms (so Rx2_delay 6000 ms)
116-
LoRa_Settings.Rx2_Delay = 2000; // Rx2_Delay >= Rx1_Delay + RX1_Window
117115
LoRa_Settings.RX1_Window = 1000;
118116
LoRa_Settings.RX2_Window = 1000;
117+
118+
LoRa_Settings.Rx1_Delay = 5000; // Thing stack seems to be 5000 ms (so Rx2_delay 6000 ms)
119+
LoRa_Settings.Rx2_Delay = LoRa_Settings.Rx1_Delay + LoRa_Settings.RX1_Window;
120+
119121

120122
// Initialise buffer for data to transmit
121123
memset(Data_Tx, 0x00, sizeof(Data_Tx));
@@ -263,7 +265,10 @@ void LoRaWANClass::setAppSKey(const char *ApskKey_in)
263265

264266
void LoRaWANClass::setDevAddr(const char *devAddr_in)
265267
{
266-
memset(Session_Data.DevAddr, 0x30, sizeof(Session_Data.DevAddr));
268+
//memset(Session_Data.DevAddr, 0x30, sizeof(Session_Data.DevAddr));
269+
270+
size_t devAddrSize = sizeof(Session_Data.DevAddr);
271+
memset(Session_Data.DevAddr, 0x30, devAddrSize);
267272

268273
//Check if it is a set command and there is enough data sent
269274
Address_Tx[0] = ASCII2Hex(devAddr_in[0], devAddr_in[1]);
@@ -340,7 +345,8 @@ void LoRaWANClass::sendACK()
340345
//Set new command for RFM
341346
RFM_Command_Status = NEW_RFM_COMMAND;
342347
upMsg_Type = MSG_ACK;
343-
sprintf(Str, "");
348+
//sprintf(Str, "");
349+
Str[0] = '\0';
344350
memcpy(Buffer_Tx.Data, Str, sizeof(Str));
345351

346352
}
@@ -503,7 +509,7 @@ void LoRaWANClass::update(void)
503509
bool isConfirmed = ((Message_Rx.MAC_Header & 0xE0)>>5) == 5 ? true : false ; // MType
504510
uint8_t fPort = Message_Rx.Frame_Port;
505511
if(lora.messageCallback) lora.messageCallback(&Buffer_Rx, isConfirmed, fPort);
506-
Buffer_Rx.Counter = 0x00; // clear counter for the next cycle
512+
Rx_Status = NEW_RX;
507513
Serial.println("Data received over RX1");
508514

509515
}

0 commit comments

Comments
 (0)