21
21
#include " Esp.h"
22
22
#include " rom/spi_flash.h"
23
23
#include " esp_deep_sleep.h"
24
+ #include " esp_spi_flash.h"
24
25
#include < memory>
25
26
26
27
// #define DEBUG_SERIAL Serial
@@ -113,7 +114,7 @@ uint32_t EspClass::getFlashChipSize(void)
113
114
uint32_t data;
114
115
uint8_t * bytes = (uint8_t *) &data;
115
116
// read first 4 byte (magic byte + flash config)
116
- if (SPIRead (0x0000 , &data, 4 ) == SPI_FLASH_RESULT_OK ) {
117
+ if (flashRead (0x0000 , &data, 4 ) == ESP_OK ) {
117
118
return magicFlashChipSize ((bytes[3 ] & 0xf0 ) >> 4 );
118
119
}
119
120
return 0 ;
@@ -124,7 +125,7 @@ uint32_t EspClass::getFlashChipSpeed(void)
124
125
uint32_t data;
125
126
uint8_t * bytes = (uint8_t *) &data;
126
127
// read first 4 byte (magic byte + flash config)
127
- if (SPIRead (0x0000 , &data, 4 ) == SPI_FLASH_RESULT_OK ) {
128
+ if (flashRead (0x0000 , &data, 4 ) == ESP_OK ) {
128
129
return magicFlashChipSpeed (bytes[3 ] & 0x0F );
129
130
}
130
131
return 0 ;
@@ -136,7 +137,7 @@ FlashMode_t EspClass::getFlashChipMode(void)
136
137
uint32_t data;
137
138
uint8_t * bytes = (uint8_t *) &data;
138
139
// read first 4 byte (magic byte + flash config)
139
- if (SPIRead (0x0000 , &data, 4 ) == SPI_FLASH_RESULT_OK ) {
140
+ if (flashRead (0x0000 , &data, 4 ) == ESP_OK ) {
140
141
mode = magicFlashChipMode (bytes[2 ]);
141
142
}
142
143
return mode;
@@ -191,39 +192,17 @@ FlashMode_t EspClass::magicFlashChipMode(uint8_t byte)
191
192
return mode;
192
193
}
193
194
194
- bool EspClass::eraseConfig (void )
195
- {
196
- bool ret = true ;
197
- size_t cfgAddr = (getFlashChipSize () - 0x4000 );
198
- size_t cfgSize = (8 *1024 );
199
-
200
- while (cfgSize) {
201
-
202
- if (SPIEraseSector ((cfgAddr / 4096 )) != SPI_FLASH_RESULT_OK) {
203
- ret = false ;
204
- }
205
-
206
- cfgSize -= 4096 ;
207
- cfgAddr += 4096 ;
208
- }
209
-
210
- return ret;
211
- }
212
-
213
195
bool EspClass::flashEraseSector (uint32_t sector)
214
196
{
215
- int rc = SPIEraseSector (sector);
216
- return rc == 0 ;
197
+ return spi_flash_erase_sector (sector) == ESP_OK;
217
198
}
218
199
219
200
bool EspClass::flashWrite (uint32_t offset, uint32_t *data, size_t size)
220
201
{
221
- int rc = SPIWrite (offset, (uint32_t *) data, size);
222
- return rc == 0 ;
202
+ return spi_flash_write (offset, (uint32_t *) data, size) == ESP_OK;
223
203
}
224
204
225
205
bool EspClass::flashRead (uint32_t offset, uint32_t *data, size_t size)
226
206
{
227
- int rc = SPIRead (offset, (uint32_t *) data, size);
228
- return rc == 0 ;
207
+ return spi_flash_read (offset, (uint32_t *) data, size) == ESP_OK;
229
208
}
0 commit comments