From bda6ecf0179bbe1ad7b46c5f002c76f9c14074f0 Mon Sep 17 00:00:00 2001 From: Jan Chrillesen Date: Sat, 13 Feb 2016 09:28:47 +0100 Subject: [PATCH] Add yield() in sendACK Needed on ESP8266 to avoid WDT kicking in - see http://forum.mysensors.org/topic/2278/esp8266-gateway-and-sensor-node-not-talking-noobie/34 --- libraries/MySensors/drivers/RFM69/RFM69.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libraries/MySensors/drivers/RFM69/RFM69.cpp b/libraries/MySensors/drivers/RFM69/RFM69.cpp index 777b428..9ed47bb 100644 --- a/libraries/MySensors/drivers/RFM69/RFM69.cpp +++ b/libraries/MySensors/drivers/RFM69/RFM69.cpp @@ -251,7 +251,10 @@ bool RFM69::ACKRequested() { /// Should be called immediately after reception in case sender wants ACK void RFM69::sendACK(const void* buffer, byte bufferSize) { byte sender = SENDERID; - while (!canSend()) receiveDone(); + while (!canSend()) { + receiveDone(); + yield(); + } sendFrame(sender, buffer, bufferSize, false, true); }