File tree 2 files changed +17
-4
lines changed
2 files changed +17
-4
lines changed Original file line number Diff line number Diff line change @@ -311,8 +311,10 @@ void Arduino_ESP32_OTA::clean()
311
311
}
312
312
}
313
313
314
- Arduino_ESP32_OTA::Error Arduino_ESP32_OTA::update ()
314
+ Arduino_ESP32_OTA::Error Arduino_ESP32_OTA::verify ()
315
315
{
316
+ assert (_context != nullptr );
317
+
316
318
/* ... then finalize ... */
317
319
_context->calculatedCrc32 ^= 0xFFFFFFFF ;
318
320
@@ -322,14 +324,24 @@ Arduino_ESP32_OTA::Error Arduino_ESP32_OTA::update()
322
324
return Error::OtaHeaderCrc;
323
325
}
324
326
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
+
325
339
if (!Update.end (true )) {
326
340
DEBUG_ERROR (" %s: Failure to apply OTA update" , __FUNCTION__);
327
341
return Error::OtaStorageEnd;
328
342
}
329
343
330
- clean ();
331
-
332
- return Error::None;
344
+ return res;
333
345
}
334
346
335
347
void Arduino_ESP32_OTA::reset ()
Original file line number Diff line number Diff line change @@ -101,6 +101,7 @@ class Arduino_ESP32_OTA
101
101
int downloadProgress ();
102
102
103
103
virtual void write_byte_to_flash (uint8_t data);
104
+ Arduino_ESP32_OTA::Error verify ();
104
105
Arduino_ESP32_OTA::Error update ();
105
106
void reset ();
106
107
static bool isCapable ();
You can’t perform that action at this time.
0 commit comments