Skip to content

Commit d153911

Browse files
splitting update into verify function
1 parent 0f2a4be commit d153911

File tree

2 files changed

+17
-4
lines changed

2 files changed

+17
-4
lines changed

Diff for: src/Arduino_ESP32_OTA.cpp

+16-4
Original file line numberDiff line numberDiff line change
@@ -311,8 +311,10 @@ void Arduino_ESP32_OTA::clean()
311311
}
312312
}
313313

314-
Arduino_ESP32_OTA::Error Arduino_ESP32_OTA::update()
314+
Arduino_ESP32_OTA::Error Arduino_ESP32_OTA::verify()
315315
{
316+
assert(_context != nullptr);
317+
316318
/* ... then finalize ... */
317319
_context->calculatedCrc32 ^= 0xFFFFFFFF;
318320

@@ -322,14 +324,24 @@ Arduino_ESP32_OTA::Error Arduino_ESP32_OTA::update()
322324
return Error::OtaHeaderCrc;
323325
}
324326

327+
clean();
328+
329+
return Error::None;
330+
}
331+
332+
Arduino_ESP32_OTA::Error Arduino_ESP32_OTA::update()
333+
{
334+
Arduino_ESP32_OTA::Error res = Error::None;
335+
if(_context != nullptr && (res = verify()) != Error::None) {
336+
return res;
337+
}
338+
325339
if (!Update.end(true)) {
326340
DEBUG_ERROR("%s: Failure to apply OTA update", __FUNCTION__);
327341
return Error::OtaStorageEnd;
328342
}
329343

330-
clean();
331-
332-
return Error::None;
344+
return res;
333345
}
334346

335347
void Arduino_ESP32_OTA::reset()

Diff for: src/Arduino_ESP32_OTA.h

+1
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ class Arduino_ESP32_OTA
101101
int downloadProgress();
102102

103103
virtual void write_byte_to_flash(uint8_t data);
104+
Arduino_ESP32_OTA::Error verify();
104105
Arduino_ESP32_OTA::Error update();
105106
void reset();
106107
static bool isCapable();

0 commit comments

Comments
 (0)