From 6e326009c3690f7eba3e188e1275d7e373e38a7a Mon Sep 17 00:00:00 2001 From: Nic Limper Date: Wed, 20 Sep 2023 10:15:55 +0200 Subject: [PATCH] finetuning C6 flashing, automatic retry on failing download --- ESP32_AP-Flasher/data/www/index.html.gz | Bin 3580 -> 3590 bytes ESP32_AP-Flasher/data/www/main.css.gz | Bin 2727 -> 2735 bytes ESP32_AP-Flasher/data/www/ota.js.gz | Bin 4169 -> 4203 bytes ESP32_AP-Flasher/src/espflasher.cpp | 30 ++++++++++++++++++++---- ESP32_AP-Flasher/src/serialap.cpp | 6 ++--- ESP32_AP-Flasher/wwwroot/index.html | 2 +- ESP32_AP-Flasher/wwwroot/main.css | 4 ++++ ESP32_AP-Flasher/wwwroot/ota.js | 1 + 8 files changed, 34 insertions(+), 9 deletions(-) diff --git a/ESP32_AP-Flasher/data/www/index.html.gz b/ESP32_AP-Flasher/data/www/index.html.gz index f57ec264270980c2ddd0d83df16bd076ad4046ba..fe1abbdb5a5d229f5f59ebd25bb59fc53bfe68b8 100644 GIT binary patch delta 3394 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 delta 3384 zcmV-84af3^9Q+%Q7k_DU+cx%dGL!#+<<557iDX^AZE;4Hl{l#nC6bdSUpgQONr)+s z0YJ&>uiuA*6e&xhoaEbfT8jYQg@&S@Yg?SRavPpZ06L6lKRaaa{T4oSOFK~wxlr^$5LkqE+d3wzK}cTi1> z{^DFx84~v{CJgoZI3^rjQ}%#5zE6Ze{fIJoUNb-nJXC|6gl$L2MM%Vi5D;#{$*Ap2 zF=czc5Drq)wSTkJ?b-@1h1sM~bc)BMHe8YWEJWK0qcPx=%n0B$jao)TwGGA%DffaXaegyr#!29A$ALQ1{fo457Bsf1vJ}A#zBo6G&qWohzMuPioC%_V)nqWAlqcaZ+ za=2glSP$RcU51lhr}LrHzv*;t|N7J*EqN5wMy->pkM&^YHEUOo$HDNvad%Dk6aM{h z`hRu$HHJT*QCGd=Rn5RB0V$56{2TkO&p(Qo!0l+)i znq#fhn#NiZ$f9z@mrH5v2-R~d_e89-p~U7}@syXIF=*9uq#rADJsxyBmx z|7-_3+*c|q0fO9~Tl0f5nvIjD;~td}Z62squdfn&rk~_!=fVS$pkv&vo(IiUvvzGqdNG&$g zb4D`Kt3M~6ppsNj5V8MCy9|&LINp2p^4e$+&1o1S4_1~(2@8->QUpf2VXb0LW@=Yp z%BF$VE<<)bP>^tC2x(f|yib5dG8aS+iEhfp>IF;>*K%Blyfnmxs;m9c8Avf8(-+zv!2CMxJH zC&Vu!{q|<~y8aF*H!{kNRm#nj@@3+MlT8O2fBNU%j*?$f;YA>MAF_G^d&yn2aAiwC?5QhzW!?kki&R^_w53(n18cyyz1ZlG*a zf12DC2?XO5{25nNt$#Tfmf&;;!^5s(lzQYYjyM<|^b}4HLnh~IWh-BxP9hXTieZ^< zA;*6uSQ)&tnQ66A2e#El}v# zTzHs~at&8cPFwY^61@%|J4oLNAhbYhj{_VEDRq@$nL-uI&VhvC2(T{V1!)|IiS;3P-4qldw$N z_rvb%mWoPa5Q8#YZqlz0m(j>dS~BPDCr3LSG3&D-bI81oNC)a9*uP+NxErg(U2%Hu zamzxg%U4TBe`nQ{{!#HI0he+_hhpZPqQ-Nw) ziuL-)&dtqTOM0PaTBy@6>>IJYwyk;Ce@NoL1JCFyh~_MeaBz8%;-@`o&v$uoUc;;G z%&s>DH?8%&1d&PX03k3M*>-Hx9>A+TWJ=^SeM7U;2)ur}DOGiQFHUQ1hGe5+AV5om?s`ilfR=O4L9xR1?Q92OHV!aP{s zBBbOA77N2*>xC+`)BQp^1eGfw6KkqVTn&+0QwAJ`p<4Yr?Sk38tUV+=WqR|FzZ6Rm zF4W{c+J-tA(3|uq5okpDe{_yjc(gZ1IT4nO&D^?&mT`ecI;MG8RrLn_RjXn@8XF900} z>Rk8~)z45!g{*2WmbiI)QcFTB8EhA)Zfd5fF-E$|G^Y%!mI{>xs3RRI3}IhMo!NK6 zfXsI{;T(c_xIoy%P!-%xQM#5-om#6+M&ofv-p~;0OX0YfbMNYo^tCV@K+QZvHsK47skIu zT3d^0ztlXf^v^aadDVP{iCham68-Wd0CbB;5OjV`7SM+51A_iGS zfA6ZL629u~PNpH-C~{6aHEYxOMZ95ar1PWYo;8d7m)%-|wE2r?k=9l#M$y{syJqC!#)W%ml+)d8!9w~O|-r^6ljjAep>*>m0ro}odSg&1Ee$e zH=lC-f0B?#bNx2v?5T}sbt>j;m7#vXpomUj%^B=(JXn4PDN!}v$?@^= z*^e3T@{Mx78jdqMy0C-M@v=lL4C(iRddHw<3xLl5!|TCUFN=@*^5+F&At)O~D*)M3 z)@+Mqt!Y^UXB`Rb4nBF56Jf_?%2O?$fOHZRs|_Q|?_$8P?w Of&T%l{_m4dFaQAD(`f4e diff --git a/ESP32_AP-Flasher/data/www/main.css.gz b/ESP32_AP-Flasher/data/www/main.css.gz index ec8720cc6ca02a5c3b92134cb5f4aa14f39b6362..b6c94419a8c307053f50a377986bd854c5bc1002 100644 GIT binary patch delta 470 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 shtyQPavailable()) { size_t bytesRead = stream->readBytes(buffer, sizeof(buffer)); file.write(buffer, bytesRead); + totalBytesRead += bytesRead; + vTaskDelay(1 / portTICK_PERIOD_MS); } file.close(); binaryHttp.end(); - return true; + + file = contentFS->open(filename, "r"); + if (file) { + if (totalBytesRead == file.size() && file.size() > 0) { + file.close(); + return true; + } + wsSerial("Download failed, " + String(file.size()) + " bytes"); + file.close(); + } } else { wsSerial("file open error " + String(filename)); } @@ -167,8 +179,16 @@ bool doC6flash(uint8_t doDownload) { for (JsonObject obj : jsonArray) { String filename = "/" + obj["filename"].as(); String binaryUrl = "https://raw.githubusercontent.com/jjwbruijn/OpenEPaperLink/master/binaries/ESP32-C6" + String(filename); - if (!downloadAndWriteBinary(filename, binaryUrl.c_str())) { - return false; + for (int retry = 0; retry < 10; retry++) { + if (downloadAndWriteBinary(filename, binaryUrl.c_str())) { + break; + } + wsSerial("Retry " + String(retry)); + if (retry < 9) { + delay(1000); + } else { + return false; + } } } } diff --git a/ESP32_AP-Flasher/src/serialap.cpp b/ESP32_AP-Flasher/src/serialap.cpp index 614aa397..2f443d06 100644 --- a/ESP32_AP-Flasher/src/serialap.cpp +++ b/ESP32_AP-Flasher/src/serialap.cpp @@ -596,10 +596,10 @@ void rxSerialTask2(void* parameter) { vTaskDelay(1 / portTICK_PERIOD_MS); time_t currentTime = millis(); - if (currentTime - startTime >= 2000) { - if (charCount > 2000) { + if (currentTime - startTime >= 1000) { + if (charCount > 6000) { rxSerialStopTask2 = true; - Serial.println("Serial monitor stopped because of flooding"); + Serial.println("Serial monitor stopped because of flooding (" + String(charCount) + " characters per second"); } startTime = currentTime; charCount = 0; diff --git a/ESP32_AP-Flasher/wwwroot/index.html b/ESP32_AP-Flasher/wwwroot/index.html index 2a7040af..f81e5172 100644 --- a/ESP32_AP-Flasher/wwwroot/index.html +++ b/ESP32_AP-Flasher/wwwroot/index.html @@ -226,7 +226,7 @@ to save file system space">
-
download latest version
+
download latest version
diff --git a/ESP32_AP-Flasher/wwwroot/main.css b/ESP32_AP-Flasher/wwwroot/main.css index 38904656..b32f2ce8 100644 --- a/ESP32_AP-Flasher/wwwroot/main.css +++ b/ESP32_AP-Flasher/wwwroot/main.css @@ -571,6 +571,10 @@ ul.messages li.new { background-color: #a0a0a0; } +#c6Option { + display: none; +} + .console { width: 100%; background-color: black; diff --git a/ESP32_AP-Flasher/wwwroot/ota.js b/ESP32_AP-Flasher/wwwroot/ota.js index 4bba3b5d..6f3ce84a 100644 --- a/ESP32_AP-Flasher/wwwroot/ota.js +++ b/ESP32_AP-Flasher/wwwroot/ota.js @@ -50,6 +50,7 @@ export async function initUpdate() { currentVer = data.buildversion; currentBuildtime = data.buildtime; if (data.rollback) $("#rollbackOption").style.display = 'block'; + if (data.env == 'ESP32_S3_16_8_YELLOW_AP') $("#c6Option").style.display = 'block'; } }) .catch(error => {