From 63fadfe6d6dc5cad764c40801b672b2f9399d258 Mon Sep 17 00:00:00 2001 From: Felix Rusu Date: Wed, 3 Jun 2020 17:11:02 -0400 Subject: [PATCH] SPIFlash detection independent of deviceID --- RFM69_OTA.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/RFM69_OTA.cpp b/RFM69_OTA.cpp index c679b8b..a82679e 100644 --- a/RFM69_OTA.cpp +++ b/RFM69_OTA.cpp @@ -79,8 +79,16 @@ void CheckForWirelessHEX(RFM69& radio, SPIFlash& flash, uint8_t DEBUG, uint8_t L void HandleHandshakeACK(RFM69& radio, SPIFlash& flash, uint8_t flashCheck) { if (flashCheck) { - if (!flash.initialize()) - { + uint16_t deviceID=0; + for (uint8_t i=0;i<10;i++) { + uint16_t idNow = flash.readDeviceId(); + if (idNow==0 || idNow==0xffff || (i>0 && idNow != deviceID)) { + deviceID=0; + break; + } + deviceID=idNow; + } + if (deviceID==0) { radio.sendACK("FLX?NOK:NOFLASH",15); //NO FLASH CHIP FOUND, ABORTING Serial.println(F("FAIL:NO FLASH MEM")); return;