Update RFM69.cpp

Fixes #187
This commit is contained in:
Felix Rusu 2022-12-27 11:33:28 -05:00
parent ff7e3555d6
commit 06a4a7ba25
1 changed files with 3 additions and 2 deletions

View File

@ -122,8 +122,10 @@ bool RFM69::initialize(uint8_t freqBand, uint16_t nodeID, uint8_t networkID)
uint32_t start = millis(); uint32_t start = millis();
uint8_t timeout = 50; uint8_t timeout = 50;
do writeReg(REG_SYNCVALUE1, 0xAA); while (readReg(REG_SYNCVALUE1) != 0xaa && millis()-start < timeout); do writeReg(REG_SYNCVALUE1, 0xAA); while (readReg(REG_SYNCVALUE1) != 0xaa && millis()-start < timeout);
if (millis()-start >= timeout) return false;
start = millis(); start = millis();
do writeReg(REG_SYNCVALUE1, 0x55); while (readReg(REG_SYNCVALUE1) != 0x55 && millis()-start < timeout); 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++) for (uint8_t i = 0; CONFIG[i][0] != 255; i++)
writeReg(CONFIG[i][0], CONFIG[i][1]); 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); setMode(RF69_MODE_STANDBY);
start = millis(); start = millis();
while (((readReg(REG_IRQFLAGS1) & RF_IRQFLAGS1_MODEREADY) == 0x00) && millis()-start < timeout); // wait for ModeReady while (((readReg(REG_IRQFLAGS1) & RF_IRQFLAGS1_MODEREADY) == 0x00) && millis()-start < timeout); // wait for ModeReady
if (millis()-start >= timeout) if (millis()-start >= timeout) return false;
return false;
attachInterrupt(_interruptNum, RFM69::isr0, RISING); attachInterrupt(_interruptNum, RFM69::isr0, RISING);
_address = nodeID; _address = nodeID;