Do i have the right approach with this code?
void handleSpiffsUpload() {
HTTPUpload& upload = server->upload();
if(upload.status == UPLOAD_FILE_START){
Serial.setDebugOutput(true);
WiFiUDP::stopAll();
Serial.printf("Update: %s\n", upload.filename.c_str());
}
else if(upload.status == UPLOAD_FILE_WRITE){
uint32_t startSpiffs = 0x40500000;
uint32_t data = (uint32_t)upload.buf;
Serial.printf("Location: 0x%x, TotalSize: %d", startSpiffs + upload.totalSize, upload.totalSize);
if(!ESP.flashEraseSector(startSpiffs + upload.totalSize)) {
Serial.print(", ErrorErase");
}
if(!ESP.flashWrite(startSpiffs + upload.totalSize, &data, upload.currentSize)) {
Serial.println(", ErrorWrite");
}
Serial.println(upload.currentSize);
/*if(Update.write(upload.buf, upload.currentSize) != upload.currentSize){
Update.printError(Serial);
}*/
}
else if(upload.status == UPLOAD_FILE_END){
Serial.printf("Update Success: %u\nRebooting...\n", upload.totalSize);
Serial.setDebugOutput(false);
}
yield();
}
It returns ErrorErase and ErrorWrite. So... What gives?