Skip to content

Commit 06926af

Browse files
authored
Lorawan - fix for loop (#207)
* fix for loop Declaring i as unsigned char sometimes ends in an endless loop. Declaring ist as int fixes this problem. * Update LoRaWan.cpp
1 parent 8fab179 commit 06926af

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

src/LoRaWan.cpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ bool LoRaWanClass::transferPacket(char *buffer, unsigned char timeout)
271271
while(SerialLoRa.available())SerialLoRa.read();
272272

273273
sendCommand("AT+MSG=\"");
274-
for(unsigned char i = 0; i < length; i ++)SerialLoRa.write(buffer[i]);
274+
for(int i = 0; i < length; i ++)SerialLoRa.write(buffer[i]);
275275
sendCommand("\"\r\n");
276276

277277
while (true) {
@@ -303,7 +303,7 @@ bool LoRaWanClass::transferPacket(unsigned char *buffer, unsigned char length, u
303303
while(SerialLoRa.available())SerialLoRa.read();
304304

305305
sendCommand("AT+MSGHEX=\"");
306-
for(unsigned char i = 0; i < length; i ++)
306+
for(int i = 0; i < length; i ++)
307307
{
308308
sprintf(temp,"%02x", buffer[i]);
309309
SerialLoRa.write(temp);
@@ -331,7 +331,7 @@ bool LoRaWanClass::transferPacketWithConfirmed(char *buffer, unsigned char timeo
331331
SerialLoRa.read();
332332

333333
sendCommand("AT+CMSG=\"");
334-
for(unsigned char i = 0; i < length; i ++)SerialLoRa.write(buffer[i]);
334+
for(int i = 0; i < length; i ++)SerialLoRa.write(buffer[i]);
335335
sendCommand("\"\r\n");
336336

337337
#ifdef deadcode
@@ -390,7 +390,7 @@ bool LoRaWanClass::transferPacketWithConfirmed(unsigned char *buffer, unsigned c
390390
while(SerialLoRa.available())SerialLoRa.read();
391391

392392
sendCommand("AT+CMSGHEX=\"");
393-
for(unsigned char i = 0; i < length; i ++)
393+
for(int i = 0; i < length; i ++)
394394
{
395395
sprintf(temp,"%02x", buffer[i]);
396396
SerialLoRa.write(temp);
@@ -513,7 +513,7 @@ bool LoRaWanClass::transferProprietaryPacket(char *buffer, unsigned char timeout
513513
while(SerialLoRa.available())SerialLoRa.read();
514514

515515
sendCommand("AT+PMSG=\"");
516-
for(unsigned char i = 0; i < length; i ++)SerialLoRa.write(buffer[i]);
516+
for(int i = 0; i < length; i ++)SerialLoRa.write(buffer[i]);
517517
sendCommand("\"\r\n");
518518

519519
memset(_buffer, 0, BEFFER_LENGTH_MAX);
@@ -532,7 +532,7 @@ bool LoRaWanClass::transferProprietaryPacket(unsigned char *buffer, unsigned cha
532532
while(SerialLoRa.available())SerialLoRa.read();
533533

534534
sendCommand("AT+PMSGHEX=\"");
535-
for(unsigned char i = 0; i < length; i ++)
535+
for(int i = 0; i < length; i ++)
536536
{
537537
sprintf(temp,"%02x", buffer[i]);
538538
SerialLoRa.write(temp);
@@ -816,7 +816,7 @@ void LoRaWanClass::transferPacketP2PMode(char *buffer)
816816
unsigned char length = strlen(buffer);
817817

818818
sendCommand("AT+TEST=TXLRSTR,\"");
819-
for(unsigned char i = 0; i < length; i ++)SerialLoRa.write(buffer[i]);
819+
for(int i = 0; i < length; i ++)SerialLoRa.write(buffer[i]);
820820
sendCommand("\"\r\n");
821821
}
822822

@@ -825,7 +825,7 @@ void LoRaWanClass::transferPacketP2PMode(unsigned char *buffer, unsigned char le
825825
char temp[2] = {0};
826826

827827
sendCommand("AT+TEST=TXLRPKT,\"");
828-
for(unsigned char i = 0; i < length; i ++)
828+
for(int i = 0; i < length; i ++)
829829
{
830830
sprintf(temp,"%02x", buffer[i]);
831831
SerialLoRa.write(temp);
@@ -1042,4 +1042,4 @@ short LoRaWanClass::sendCommandAndWaitForResponse(char* command, char *response,
10421042
}
10431043

10441044

1045-
LoRaWanClass lora;
1045+
LoRaWanClass lora;

0 commit comments

Comments
 (0)