1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-06-07 16:23:38 +03:00

move flash size check to a function in ESP class,

allow real size bigger the IDE for Update
This commit is contained in:
Markus Sattler 2015-12-17 13:02:14 +01:00
parent 28dd31a80f
commit f57ab609ec
3 changed files with 21 additions and 1 deletions

View File

@ -298,6 +298,24 @@ uint32_t EspClass::getFlashChipSizeByChipId(void) {
}
}
/**
* check the Flash settings from IDE against the Real flash size
* @param needsEquals (return only true it equals)
* @return ok or not
*/
bool EspClass::checkFlashConfig(bool needsEquals) {
if(needsEquals) {
if(getFlashChipRealSize() == getFlashChipSize()) {
return true;
}
} else {
if(getFlashChipRealSize() >= getFlashChipSize()) {
return true;
}
}
return false;
}
String EspClass::getResetInfo(void) {
if(resetInfo.reason != 0) {
char buff[200];

View File

@ -117,6 +117,8 @@ class EspClass {
FlashMode_t getFlashChipMode();
uint32_t getFlashChipSizeByChipId();
bool checkFlashConfig(bool needsEquals = false);
bool flashEraseSector(uint32_t sector);
bool flashWrite(uint32_t offset, uint32_t *data, size_t size);
bool flashRead(uint32_t offset, uint32_t *data, size_t size);

View File

@ -57,7 +57,7 @@ bool UpdaterClass::begin(size_t size, int command) {
return false;
}
if(ESP.getFlashChipRealSize() != ESP.getFlashChipSize()) {
if(ESP.checkFlashConfig(false)) {
_error = UPDATE_ERROR_FLASH_CONFIG;
#ifdef DEBUG_UPDATER
printError(DEBUG_UPDATER);