From e26972bd2f7eeb4b9fa75070d5b224d936a7d933 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kuba=20Szczodrzy=C5=84ski?= Date: Sat, 4 Jun 2022 16:36:37 +0200 Subject: [PATCH] [core] Fix OTA not resetting buffer after partial writes --- arduino/libretuya/libraries/Update/Update.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arduino/libretuya/libraries/Update/Update.cpp b/arduino/libretuya/libraries/Update/Update.cpp index e53e434..23a45ad 100644 --- a/arduino/libretuya/libraries/Update/Update.cpp +++ b/arduino/libretuya/libraries/Update/Update.cpp @@ -190,6 +190,9 @@ size_t UpdateClass::tryWriteData(uint8_t *data, size_t len) { // call progress callback if (callback) callback(bytesWritten, bytesTotal); + // reset the buffer as it's used already + if (bufSize() == UF2_BLOCK_SIZE) + bufPos = buf; return UF2_BLOCK_SIZE; }