From e890e4f474f4180e8b621bf7f7facf0edb9d2757 Mon Sep 17 00:00:00 2001 From: jgromes Date: Sun, 19 Jan 2020 13:25:25 +0100 Subject: [PATCH] [SX126x] Added missing calls to yield --- src/modules/SX126x/SX126x.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/modules/SX126x/SX126x.cpp b/src/modules/SX126x/SX126x.cpp index a4cb9eee..e5afba14 100644 --- a/src/modules/SX126x/SX126x.cpp +++ b/src/modules/SX126x/SX126x.cpp @@ -319,7 +319,9 @@ int16_t SX126x::scanChannel() { RADIOLIB_ASSERT(state); // wait for channel activity detected or timeout - while(!digitalRead(_mod->getIrq())); + while(!digitalRead(_mod->getIrq())) { + yield(); + } // check CAD result uint16_t cadResult = getIrqStatus(); @@ -417,7 +419,9 @@ int16_t SX126x::startTransmit(uint8_t* data, size_t len, uint8_t addr) { RADIOLIB_ASSERT(state); // wait for BUSY to go low (= PA ramp up done) - while(digitalRead(_mod->getGpio())); + while(digitalRead(_mod->getGpio())) { + yield(); + } return(state); } @@ -1453,7 +1457,9 @@ int16_t SX126x::config(uint8_t modem) { // wait for calibration completion delay(5); - while(digitalRead(_mod->getGpio())); + while(digitalRead(_mod->getGpio())) { + yield(); + } return(ERR_NONE); }