From ba65783177ac8ca9be3c8b93a0c3cc7474b2f31e Mon Sep 17 00:00:00 2001 From: ficeto Date: Mon, 18 May 2015 22:34:34 +0300 Subject: [PATCH] add method to get the actual size of the flash --- cores/esp8266/Esp.cpp | 5 +++++ cores/esp8266/Esp.h | 3 +++ 2 files changed, 8 insertions(+) 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);