Skip to content

Commit

Permalink
fix: esp32 #197 Downlink no longer works
Browse files Browse the repository at this point in the history
  • Loading branch information
REGIOIGER committed Jun 25, 2024
1 parent a3c698a commit 483c82f
Showing 1 changed file with 10 additions and 5 deletions.
15 changes: 10 additions & 5 deletions src/arduino-rfm/lorawan-arduino-rfm.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,8 @@ bool LoRaWANClass::init(void)
LoRa_Settings.Channel_Hopping = 0x00; //0x00 no channel hopping, 0x01 channel hopping

// Set default rx delay and window
LoRa_Settings.Rx1_Delay = 1000; // Thing stack seems to be 5000 ms (so Rx2_delay 6000 ms)
LoRa_Settings.Rx2_Delay = 2000; // Rx2_Delay >= Rx1_Delay + RX1_Window
LoRa_Settings.Rx1_Delay = 5000; // Thing stack seems to be 5000 ms (so Rx2_delay 6000 ms)
LoRa_Settings.Rx2_Delay = 6000; // Rx2_Delay >= Rx1_Delay + RX1_Window
LoRa_Settings.RX1_Window = 1000;
LoRa_Settings.RX2_Window = 1000;

Expand Down Expand Up @@ -263,7 +263,10 @@ void LoRaWANClass::setAppSKey(const char *ApskKey_in)

void LoRaWANClass::setDevAddr(const char *devAddr_in)
{
memset(Session_Data.DevAddr, 0x30, sizeof(Session_Data.DevAddr));
//memset(Session_Data.DevAddr, 0x30, sizeof(Session_Data.DevAddr));

size_t devAddrSize = sizeof(Session_Data.DevAddr);
memset(Session_Data.DevAddr, 0x30, devAddrSize);

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

}
Expand Down Expand Up @@ -503,7 +507,8 @@ void LoRaWANClass::update(void)
bool isConfirmed = ((Message_Rx.MAC_Header & 0xE0)>>5) == 5 ? true : false ; // MType
uint8_t fPort = Message_Rx.Frame_Port;
if(lora.messageCallback) lora.messageCallback(&Buffer_Rx, isConfirmed, fPort);
Buffer_Rx.Counter = 0x00; // clear counter for the next cycle
//Buffer_Rx.Counter = 0x00; // clear counter for the next cycle
Rx_Status = NEW_RX;
Serial.println("Data received over RX1");

}
Expand Down

0 comments on commit 483c82f

Please sign in to comment.