diff --git a/RFM69.cpp b/RFM69.cpp index 51e366b..d610ce6 100644 --- a/RFM69.cpp +++ b/RFM69.cpp @@ -122,8 +122,10 @@ bool RFM69::initialize(uint8_t freqBand, uint16_t nodeID, uint8_t networkID) uint32_t start = millis(); uint8_t timeout = 50; do writeReg(REG_SYNCVALUE1, 0xAA); while (readReg(REG_SYNCVALUE1) != 0xaa && millis()-start < timeout); + if (millis()-start >= timeout) return false; start = millis(); do writeReg(REG_SYNCVALUE1, 0x55); while (readReg(REG_SYNCVALUE1) != 0x55 && millis()-start < timeout); + if (millis()-start >= timeout) return false; for (uint8_t i = 0; CONFIG[i][0] != 255; i++) writeReg(CONFIG[i][0], CONFIG[i][1]); @@ -136,8 +138,7 @@ bool RFM69::initialize(uint8_t freqBand, uint16_t nodeID, uint8_t networkID) setMode(RF69_MODE_STANDBY); start = millis(); while (((readReg(REG_IRQFLAGS1) & RF_IRQFLAGS1_MODEREADY) == 0x00) && millis()-start < timeout); // wait for ModeReady - if (millis()-start >= timeout) - return false; + if (millis()-start >= timeout) return false; attachInterrupt(_interruptNum, RFM69::isr0, RISING); _address = nodeID;