different ports for spreading factors

This commit is contained in:
andreask 2020-01-22 22:25:07 +01:00
parent a552d95c6d
commit b6f37aef62
3 changed files with 6 additions and 5 deletions

View file

@ -35,7 +35,7 @@ void LoRaWAN::setKeys(unsigned char NwkSkey[], unsigned char AppSkey[], unsigned
* *
***************************************************************************************** *****************************************************************************************
*/ */
void LoRaWAN::Send_Data(unsigned char *Data, unsigned char Data_Length, unsigned int Frame_Counter_Tx, lora_dr_t datarate) void LoRaWAN::Send_Data(unsigned char *Data, unsigned char Data_Length, unsigned int Frame_Counter_Tx, lora_dr_t datarate,unsigned char Frame_Port)
{ {
//Define variables //Define variables
unsigned char i; unsigned char i;
@ -73,7 +73,7 @@ void LoRaWAN::Send_Data(unsigned char *Data, unsigned char Data_Length, unsigned
// unsigned char Mac_Header = 0x80; // unsigned char Mac_Header = 0x80;
unsigned char Frame_Control = 0x00; unsigned char Frame_Control = 0x00;
unsigned char Frame_Port = 0x01; //unsigned char Frame_Port = 0x01;
//Encrypt the data //Encrypt the data
Encrypt_Payload(Data, Data_Length, Frame_Counter_Tx, Direction); Encrypt_Payload(Data, Data_Length, Frame_Counter_Tx, Direction);

View file

@ -40,7 +40,7 @@ class LoRaWAN
public: public:
LoRaWAN(RFM95 &rfm95); LoRaWAN(RFM95 &rfm95);
void setKeys(unsigned char NwkSkey[], unsigned char AppSkey[], unsigned char DevAddr[]); void setKeys(unsigned char NwkSkey[], unsigned char AppSkey[], unsigned char DevAddr[]);
void Send_Data(unsigned char *Data, unsigned char Data_Length, unsigned int Frame_Counter_Tx, lora_dr_t datarate); void Send_Data(unsigned char *Data, unsigned char Data_Length, unsigned int Frame_Counter_Tx, lora_dr_t datarate,unsigned char Frame_Port);
private: private:
RFM95 *_rfm95; RFM95 *_rfm95;

View file

@ -203,11 +203,12 @@ void loop()
#ifdef RF_LORA #ifdef RF_LORA
#ifdef HAS_NO_SENSOR #ifdef HAS_NO_SENSOR
// Send Packet in all 12 SFs for Beacon Mode // Send Packet in all 12 SFs for Beacon Mode
unsigned char Frame_Port =0x07;
for (int i = SF7BW125; i<=SF12BW125; i++) { for (int i = SF7BW125; i<=SF12BW125; i++) {
lora_data tdata = data; lora_data tdata = data;
lora.Send_Data((unsigned char *)&tdata, sizeof(tdata), Frame_Counter_Tx, static_cast<lora_dr>(i)); lora.Send_Data((unsigned char *)&tdata, sizeof(tdata), Frame_Counter_Tx, static_cast<lora_dr>(i), Frame_Port);
Frame_Counter_Tx++; Frame_Counter_Tx++;
Frame_Port++;
delay(25); delay(25);
} }
#else #else