diff --git a/cores/esp8266/Esp.cpp b/cores/esp8266/Esp.cpp index cb5533690..67e6a41af 100644 --- a/cores/esp8266/Esp.cpp +++ b/cores/esp8266/Esp.cpp @@ -158,6 +158,11 @@ uint32_t EspClass::getFlashChipId(void) return spi_flash_get_id(); } +uint32_t EspClass::getFlashChipRealSize(void) +{ + return (1 << ((spi_flash_get_id() >> 16) & 0xFF)); +} + uint32_t EspClass::getFlashChipSize(void) { uint32_t data; diff --git a/cores/esp8266/Esp.h b/cores/esp8266/Esp.h index 9750dd312..5e356459e 100644 --- a/cores/esp8266/Esp.h +++ b/cores/esp8266/Esp.h @@ -90,6 +90,9 @@ class EspClass { uint8_t getCpuFreqMHz(void); uint32_t getFlashChipId(void); + //gets the actual chip size based on the flash id + uint32_t getFlashChipRealSize(void); + //gets the size of the flash as set by the compiler uint32_t getFlashChipSize(void); uint32_t getFlashChipSpeed(void); FlashMode_t getFlashChipMode(void);