From f568ac5853cf2e57d233d9738ff3fc20a623e194 Mon Sep 17 00:00:00 2001 From: universam1 Date: Thu, 16 Nov 2017 20:48:46 +0100 Subject: [PATCH 1/3] stabilize ESP8266 watchdog --- src/LoRa.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/LoRa.cpp b/src/LoRa.cpp index 94b9e3e..7f7cb22 100644 --- a/src/LoRa.cpp +++ b/src/LoRa.cpp @@ -144,7 +144,11 @@ int LoRaClass::endPacket() writeRegister(REG_OP_MODE, MODE_LONG_RANGE_MODE | MODE_TX); // wait for TX done - while((readRegister(REG_IRQ_FLAGS) & IRQ_TX_DONE_MASK) == 0); + while((readRegister(REG_IRQ_FLAGS) & IRQ_TX_DONE_MASK) == 0) +#ifdef ESP8266 + yield() +#endif + ; // clear IRQ's writeRegister(REG_IRQ_FLAGS, IRQ_TX_DONE_MASK); From 9ce95e738f566a265d1e795ad3a39f2c597940d2 Mon Sep 17 00:00:00 2001 From: "Lang, Samuel" Date: Wed, 22 Nov 2017 09:27:08 +0100 Subject: [PATCH 2/3] remove guard for ESP8266 --- src/LoRa.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/LoRa.cpp b/src/LoRa.cpp index 7f7cb22..57a2626 100644 --- a/src/LoRa.cpp +++ b/src/LoRa.cpp @@ -144,11 +144,8 @@ int LoRaClass::endPacket() writeRegister(REG_OP_MODE, MODE_LONG_RANGE_MODE | MODE_TX); // wait for TX done - while((readRegister(REG_IRQ_FLAGS) & IRQ_TX_DONE_MASK) == 0) -#ifdef ESP8266 - yield() -#endif - ; + while ((readRegister(REG_IRQ_FLAGS) & IRQ_TX_DONE_MASK) == 0) + yield(); // clear IRQ's writeRegister(REG_IRQ_FLAGS, IRQ_TX_DONE_MASK); From 532c2ce4d021b58327cc79177a05b537e0c92534 Mon Sep 17 00:00:00 2001 From: Sandeep Mistry Date: Sun, 17 Dec 2017 20:03:15 -0500 Subject: [PATCH 3/3] Add brackets --- src/LoRa.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/LoRa.cpp b/src/LoRa.cpp index 57a2626..9a55046 100644 --- a/src/LoRa.cpp +++ b/src/LoRa.cpp @@ -144,8 +144,9 @@ int LoRaClass::endPacket() writeRegister(REG_OP_MODE, MODE_LONG_RANGE_MODE | MODE_TX); // wait for TX done - while ((readRegister(REG_IRQ_FLAGS) & IRQ_TX_DONE_MASK) == 0) + while ((readRegister(REG_IRQ_FLAGS) & IRQ_TX_DONE_MASK) == 0) { yield(); + } // clear IRQ's writeRegister(REG_IRQ_FLAGS, IRQ_TX_DONE_MASK);