mirror of
https://github.com/esp8266/Arduino.git
synced 2025-06-16 11:21:18 +03:00
add function to get flash size based of flash Chip id
This commit is contained in:
@ -218,3 +218,32 @@ FlashMode_t EspClass::getFlashChipMode(void)
|
|||||||
}
|
}
|
||||||
return mode;
|
return mode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Infos from
|
||||||
|
* http://www.wlxmall.com/images/stock_item/att/A1010004.pdf
|
||||||
|
* http://www.gigadevice.com/product-series/5.html?locale=en_US
|
||||||
|
*/
|
||||||
|
uint32_t EspClass::getFlashChipSizeByChipId(void) {
|
||||||
|
uint32_t chipId = getFlashChipId();
|
||||||
|
switch(chipId) {
|
||||||
|
case 0x1740C8: // GD25Q64B
|
||||||
|
return (8_MB);
|
||||||
|
case 0x1640C8: // GD25Q32B
|
||||||
|
return (4_MB);
|
||||||
|
case 0x1540C8: // GD25Q16B
|
||||||
|
return (2_MB);
|
||||||
|
case 0x1440C8: // GD25Q80
|
||||||
|
return (1_MB);
|
||||||
|
case 0x1340C8: // GD25Q40
|
||||||
|
return (512_kB);
|
||||||
|
case 0x1240C8: // GD25Q20
|
||||||
|
return (256_kB);
|
||||||
|
case 0x1140C8: // GD25Q10
|
||||||
|
return (128_kB);
|
||||||
|
case 0x1040C8: // GD25Q12
|
||||||
|
return (64_kB);
|
||||||
|
default:
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -90,6 +90,7 @@ class EspClass {
|
|||||||
uint32_t getFlashChipSize(void);
|
uint32_t getFlashChipSize(void);
|
||||||
uint32_t getFlashChipSpeed(void);
|
uint32_t getFlashChipSpeed(void);
|
||||||
FlashMode_t getFlashChipMode(void);
|
FlashMode_t getFlashChipMode(void);
|
||||||
|
uint32_t getFlashChipSizeByChipId(void);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user