diff --git a/ESP32_AP-Flasher/wwwroot/index.html b/ESP32_AP-Flasher/wwwroot/index.html index 847e8d73..21cf7221 100644 --- a/ESP32_AP-Flasher/wwwroot/index.html +++ b/ESP32_AP-Flasher/wwwroot/index.html @@ -506,6 +506,7 @@ +

@@ -524,4 +525,4 @@ - \ No newline at end of file + diff --git a/ESP32_AP-Flasher/wwwroot/main.js b/ESP32_AP-Flasher/wwwroot/main.js index 539491db..a8937a3b 100644 --- a/ESP32_AP-Flasher/wwwroot/main.js +++ b/ESP32_AP-Flasher/wwwroot/main.js @@ -469,44 +469,43 @@ $('#cfgmore').onclick = function () { $('#advancedoptions').style.height = $('#advancedoptions').style.height == '0px' ? $('#advancedoptions').scrollHeight + 'px' : '0px'; }; -$('#cfgsave').onclick = function () { - let contentMode = $('#cfgcontent').value; - let contentDef = getContentDefById(contentMode); - let extraoptions = contentDef?.param ?? null; - let obj = {}; +$('#cfgsave').onclick = function() { + let contentMode = $('#cfgcontent').value; + let contentDef = getContentDefById(contentMode); + let extraoptions = contentDef?.param ?? null; + let obj = {}; - let formData = new FormData(); - formData.append("mac", $('#cfgmac').dataset.mac); - formData.append("alias", $('#cfgalias').value); + let formData = new FormData(); + formData.append("mac", $('#cfgmac').dataset.mac); + formData.append("alias", $('#cfgalias').value); - if (contentMode) { - extraoptions?.forEach(element => { - if ($('#opt' + element.key)) { - obj[element.key] = $('#opt' + element.key).value; - } - }); + if (contentMode) { + extraoptions?.forEach(element => { + if ($('#opt' + element.key)) { + obj[element.key] = $('#opt' + element.key).value; + } + }); + formData.append("contentmode", contentMode); + formData.append("modecfgjson", JSON.stringify(obj)); + } else { + formData.append("contentmode", "0"); + formData.append("modecfgjson", String()); + } - formData.append("contentmode", contentMode); - formData.append("modecfgjson", JSON.stringify(obj)); - } else { - formData.append("contentmode", "0"); - formData.append("modecfgjson", String()); - } + formData.append("rotate", $('#cfgrotate').value); + formData.append("lut", $('#cfglut').value); + formData.append("invert", $('#cfginvert').value); - formData.append("rotate", $('#cfgrotate').value); - formData.append("lut", $('#cfglut').value); - formData.append("invert", $('#cfginvert').value); + fetch("/save_cfg", { + method: "POST", + body: formData + }) + .then(response => response.text()) + .then(data => showMessage(data)) + .catch(error => showMessage('Error: ' + error)); - fetch("/save_cfg", { - method: "POST", - body: formData - }) - .then(response => response.text()) - .then(data => showMessage(data)) - .catch(error => showMessage('Error: ' + error)); - - $('#advancedoptions').style.height = '0px'; - $('#configbox').close(); + $('#advancedoptions').style.height = '0px'; + $('#configbox').close(); } function sendCmd(mac, cmd) { @@ -556,6 +555,80 @@ $('#cfgreset').onclick = function () { sendCmd($('#cfgmac').dataset.mac, "reset"); } +$('#cfgautoupdate').onclick = async function() { + + let obj = {}; + let formData = new FormData(); + formData.append("mac", $('#cfgmac').dataset.mac); + formData.append("alias", $('#cfgalias').value); + + var repo = apConfig.repo || 'jjwbruijn/OpenEPaperLink'; + var infourl = "https://raw.githubusercontent.com/" + repo + "/master/binaries/Tag/info.json"; + var info = ""; + await fetch(infourl, { + method: 'GET' + }) + .then(function(response) { + return response.json(); + }) + .then(function(json) { + info = json; + }); + var mac = $('#cfgmac').dataset.mac; + var tagtype = ("0" + (Number($('#tag' + mac).dataset.hwtype).toString(16))).slice(-2).toUpperCase(); + var name = info[0].types[tagtype]; + var version = info[0].version[tagtype]; + var md5 = info[0].md5[tagtype]; + var fullFilename = name + "_" + version + ".bin"; + var filepath = "/" + fullFilename; + var binurl = "https://raw.githubusercontent.com/" + repo + "/master/binaries/Tag/" + filepath; + var url = "/check_file?path=" + encodeURIComponent(filepath); + var response = await fetch(url); + if (response.ok) { + var data = await response.json(); + if (data.filesize == 0 || data.md5 != md5) { + try { + var response = await fetch(binurl); + var fileContent = await response.blob(); + var formData2 = new FormData(); + formData2.append('path', filepath); + formData2.append('file', fileContent, fullFilename); + var uploadResponse = await fetch('/littlefs_put', { + method: 'POST', + body: formData2 + }); + if (!uploadResponse.ok) { + showMessage('Error: auto update failed to upload'); + } + } catch (error) { + showMessage('Error: ' + error); + } + } + } else showMessage('Error: auto update failed'); + var response = await fetch(url); + if (response.ok) { + var data = await response.json(); + if (data.filesize == 0 || data.md5 != md5) { + showMessage('Error: auto update failed to download'); + } + //sucess + else obj["filename"] = filepath; + } + else showMessage('Error: auto update failed'); + formData.append("contentmode", 5); + formData.append("modecfgjson", JSON.stringify(obj)); + formData.append("rotate", $('#cfgrotate').value); + formData.append("lut", $('#cfglut').value); + formData.append("invert", $('#cfginvert').value); + fetch("/save_cfg", { + method: "POST", + body: formData + }) + .then(response => response.text()) + .then(data => showMessage(data)) + .catch(error => showMessage('Error: ' + error)); +} + $('#rebootbutton').onclick = function (event) { event.preventDefault(); if (!confirm('Reboot AP now?')) return; diff --git a/binaries/Tag/Newton_M3_22_BWR-tag-31-0025-ota.bin b/binaries/Tag/Newton_M3_22_BWR-tag-31-0025-ota.bin deleted file mode 100644 index 3382ba07..00000000 Binary files a/binaries/Tag/Newton_M3_22_BWR-tag-31-0025-ota.bin and /dev/null differ diff --git a/binaries/Tag/Newton_M3_29_BWR-tag-33-0025-ota.bin b/binaries/Tag/Newton_M3_29_BWR-tag-33-0025-ota.bin deleted file mode 100644 index 8e293ea0..00000000 Binary files a/binaries/Tag/Newton_M3_29_BWR-tag-33-0025-ota.bin and /dev/null differ diff --git a/binaries/Tag/Newton_M3_43_BWR-tag-34-0025-ota.bin b/binaries/Tag/Newton_M3_43_BWR-tag-34-0025-ota.bin deleted file mode 100644 index 4ec00e66..00000000 Binary files a/binaries/Tag/Newton_M3_43_BWR-tag-34-0025-ota.bin and /dev/null differ diff --git a/binaries/Tag/Newton_M3_75_BWR-tag-36-0025-ota.bin b/binaries/Tag/Newton_M3_75_BWR-tag-36-0025-ota.bin deleted file mode 100644 index 9bfeef1e..00000000 Binary files a/binaries/Tag/Newton_M3_75_BWR-tag-36-0025-ota.bin and /dev/null differ diff --git a/binaries/Tag/SOLUM_154_SSD1619-00-0024.bin b/binaries/Tag/SOLUM_154_SSD1619-00-0024.bin deleted file mode 100644 index ee136a32..00000000 Binary files a/binaries/Tag/SOLUM_154_SSD1619-00-0024.bin and /dev/null differ diff --git a/binaries/Tag/SOLUM_154_SSD1619-tag-00-0022.bin b/binaries/Tag/SOLUM_154_SSD1619-tag-00-0022.bin deleted file mode 100644 index aaf0edd5..00000000 Binary files a/binaries/Tag/SOLUM_154_SSD1619-tag-00-0022.bin and /dev/null differ diff --git a/binaries/Tag/SOLUM_29_BW_LOWTEMP-21-0024.bin b/binaries/Tag/SOLUM_29_BW_LOWTEMP-21-0024.bin deleted file mode 100644 index 30d89060..00000000 Binary files a/binaries/Tag/SOLUM_29_BW_LOWTEMP-21-0024.bin and /dev/null differ diff --git a/binaries/Tag/SOLUM_29_SSD1619-01-0024.bin b/binaries/Tag/SOLUM_29_SSD1619-01-0024.bin deleted file mode 100644 index 9a197e18..00000000 Binary files a/binaries/Tag/SOLUM_29_SSD1619-01-0024.bin and /dev/null differ diff --git a/binaries/Tag/SOLUM_29_SSD1619-tag-01-0022.bin b/binaries/Tag/SOLUM_29_SSD1619-tag-01-0022.bin deleted file mode 100644 index 9dea4e92..00000000 Binary files a/binaries/Tag/SOLUM_29_SSD1619-tag-01-0022.bin and /dev/null differ diff --git a/binaries/Tag/SOLUM_29_UC8151-11-0024.bin b/binaries/Tag/SOLUM_29_UC8151-11-0024.bin deleted file mode 100644 index 328ca9f6..00000000 Binary files a/binaries/Tag/SOLUM_29_UC8151-11-0024.bin and /dev/null differ diff --git a/binaries/Tag/SOLUM_29_UC8151-tag-11-0022.bin b/binaries/Tag/SOLUM_29_UC8151-tag-11-0022.bin deleted file mode 100644 index e8aee8e1..00000000 Binary files a/binaries/Tag/SOLUM_29_UC8151-tag-11-0022.bin and /dev/null differ diff --git a/binaries/Tag/SOLUM_42_SSD1619-02-0024.bin b/binaries/Tag/SOLUM_42_SSD1619-02-0024.bin deleted file mode 100644 index ad2ab93b..00000000 Binary files a/binaries/Tag/SOLUM_42_SSD1619-02-0024.bin and /dev/null differ diff --git a/binaries/Tag/SOLUM_42_SSD1619-tag-02-0022.bin b/binaries/Tag/SOLUM_42_SSD1619-tag-02-0022.bin deleted file mode 100644 index bf69baac..00000000 Binary files a/binaries/Tag/SOLUM_42_SSD1619-tag-02-0022.bin and /dev/null differ diff --git a/binaries/Tag/SOLUM_M3_22_BWR-tag-31-0016-full.bin b/binaries/Tag/SOLUM_M3_22_BWR-tag-31-0016-full.bin deleted file mode 100644 index f7d53956..00000000 Binary files a/binaries/Tag/SOLUM_M3_22_BWR-tag-31-0016-full.bin and /dev/null differ diff --git a/binaries/Tag/SOLUM_M3_22_BWR-tag-31-0016-ota.bin b/binaries/Tag/SOLUM_M3_22_BWR-tag-31-0016-ota.bin deleted file mode 100644 index bd1b2a14..00000000 Binary files a/binaries/Tag/SOLUM_M3_22_BWR-tag-31-0016-ota.bin and /dev/null differ diff --git a/binaries/Tag/SOLUM_M3_29_BWR-tag-33-0016-full.bin b/binaries/Tag/SOLUM_M3_29_BWR-tag-33-0016-full.bin deleted file mode 100644 index 350e7f52..00000000 Binary files a/binaries/Tag/SOLUM_M3_29_BWR-tag-33-0016-full.bin and /dev/null differ diff --git a/binaries/Tag/SOLUM_M3_29_BWR-tag-33-0016-ota.bin b/binaries/Tag/SOLUM_M3_29_BWR-tag-33-0016-ota.bin deleted file mode 100644 index 7362837e..00000000 Binary files a/binaries/Tag/SOLUM_M3_29_BWR-tag-33-0016-ota.bin and /dev/null differ diff --git a/binaries/Tag/SOLUM_M3_43_BWR-tag-34-0016-full.bin b/binaries/Tag/SOLUM_M3_43_BWR-tag-34-0016-full.bin deleted file mode 100644 index c09a0e7e..00000000 Binary files a/binaries/Tag/SOLUM_M3_43_BWR-tag-34-0016-full.bin and /dev/null differ diff --git a/binaries/Tag/SOLUM_M3_43_BWR-tag-34-0016-ota.bin b/binaries/Tag/SOLUM_M3_43_BWR-tag-34-0016-ota.bin deleted file mode 100644 index 264830cb..00000000 Binary files a/binaries/Tag/SOLUM_M3_43_BWR-tag-34-0016-ota.bin and /dev/null differ diff --git a/binaries/Tag/SOLUM_M3_60_BWR-tag-35-0016-ota.bin b/binaries/Tag/SOLUM_M3_60_BWR-tag-35-0016-ota.bin deleted file mode 100644 index d2cb6cda..00000000 Binary files a/binaries/Tag/SOLUM_M3_60_BWR-tag-35-0016-ota.bin and /dev/null differ diff --git a/binaries/Tag/SOLUM_M3_75_BWR-tag-36-0016-full.bin b/binaries/Tag/SOLUM_M3_75_BWR-tag-36-0016-full.bin deleted file mode 100644 index 10654704..00000000 Binary files a/binaries/Tag/SOLUM_M3_75_BWR-tag-36-0016-full.bin and /dev/null differ diff --git a/binaries/Tag/SOLUM_M3_75_BWR-tag-36-0016-ota.bin b/binaries/Tag/SOLUM_M3_75_BWR-tag-36-0016-ota.bin deleted file mode 100644 index 71afc632..00000000 Binary files a/binaries/Tag/SOLUM_M3_75_BWR-tag-36-0016-ota.bin and /dev/null differ diff --git a/binaries/Tag/SOLUM_154_SSD1619-tag-00-0019.bin b/binaries/Tag/SOL_M2_154_SSD_19.bin similarity index 100% rename from binaries/Tag/SOLUM_154_SSD1619-tag-00-0019.bin rename to binaries/Tag/SOL_M2_154_SSD_19.bin diff --git a/binaries/Tag/SOLUM_154_SSD1619-00-0025.bin b/binaries/Tag/SOL_M2_154_SSD_25.bin similarity index 100% rename from binaries/Tag/SOLUM_154_SSD1619-00-0025.bin rename to binaries/Tag/SOL_M2_154_SSD_25.bin diff --git a/binaries/Tag/SOLUM_29_BW_LOWTEMP-21-0025.bin b/binaries/Tag/SOL_M2_29_LT_25.bin similarity index 100% rename from binaries/Tag/SOLUM_29_BW_LOWTEMP-21-0025.bin rename to binaries/Tag/SOL_M2_29_LT_25.bin diff --git a/binaries/Tag/SOLUM_29_SSD1619-tag-01-0019.bin b/binaries/Tag/SOL_M2_29_SSD_19.bin similarity index 100% rename from binaries/Tag/SOLUM_29_SSD1619-tag-01-0019.bin rename to binaries/Tag/SOL_M2_29_SSD_19.bin diff --git a/binaries/Tag/SOLUM_29_SSD1619-01-0025.bin b/binaries/Tag/SOL_M2_29_SSD_25.bin similarity index 100% rename from binaries/Tag/SOLUM_29_SSD1619-01-0025.bin rename to binaries/Tag/SOL_M2_29_SSD_25.bin diff --git a/binaries/Tag/SOLUM_29_UC8151-tag-11-0019.bin b/binaries/Tag/SOL_M2_29_UC_19.bin similarity index 100% rename from binaries/Tag/SOLUM_29_UC8151-tag-11-0019.bin rename to binaries/Tag/SOL_M2_29_UC_19.bin diff --git a/binaries/Tag/SOLUM_29_UC8151-11-0025.bin b/binaries/Tag/SOL_M2_29_UC_25.bin similarity index 100% rename from binaries/Tag/SOLUM_29_UC8151-11-0025.bin rename to binaries/Tag/SOL_M2_29_UC_25.bin diff --git a/binaries/Tag/SOLUM_42_SSD1619-tag-02-0019.bin b/binaries/Tag/SOL_M2_42_SSD_19.bin similarity index 100% rename from binaries/Tag/SOLUM_42_SSD1619-tag-02-0019.bin rename to binaries/Tag/SOL_M2_42_SSD_19.bin diff --git a/binaries/Tag/SOLUM_42_SSD1619-02-0025.bin b/binaries/Tag/SOL_M2_42_SSD_25.bin similarity index 100% rename from binaries/Tag/SOLUM_42_SSD1619-02-0025.bin rename to binaries/Tag/SOL_M2_42_SSD_25.bin diff --git a/binaries/Tag/SOLUM_M2_BWR_75-tag-26-0004-full.bin b/binaries/Tag/SOL_M2_75_full_04.bin similarity index 100% rename from binaries/Tag/SOLUM_M2_BWR_75-tag-26-0004-full.bin rename to binaries/Tag/SOL_M2_75_full_04.bin diff --git a/binaries/Tag/SOLUM_M2_BWR_75-tag-26-0004-ota.bin b/binaries/Tag/SOL_M2_75_ota_04.bin similarity index 100% rename from binaries/Tag/SOLUM_M2_BWR_75-tag-26-0004-ota.bin rename to binaries/Tag/SOL_M2_75_ota_04.bin diff --git a/binaries/Tag/SOLUM_M3_60_BWR-tag-35-0016-full.bin b/binaries/Tag/SOL_M3_Uni_full_26.bin similarity index 66% rename from binaries/Tag/SOLUM_M3_60_BWR-tag-35-0016-full.bin rename to binaries/Tag/SOL_M3_Uni_full_26.bin index a06eec1c..0c8390ee 100644 Binary files a/binaries/Tag/SOLUM_M3_60_BWR-tag-35-0016-full.bin and b/binaries/Tag/SOL_M3_Uni_full_26.bin differ diff --git a/binaries/Tag/Newton_M3_60_BWR-tag-35-0025-ota.bin b/binaries/Tag/SOL_M3_Uni_ota_26.bin similarity index 62% rename from binaries/Tag/Newton_M3_60_BWR-tag-35-0025-ota.bin rename to binaries/Tag/SOL_M3_Uni_ota_26.bin index 8765b3c3..0e2966b6 100644 Binary files a/binaries/Tag/Newton_M3_60_BWR-tag-35-0025-ota.bin and b/binaries/Tag/SOL_M3_Uni_ota_26.bin differ diff --git a/binaries/Tag/info.json b/binaries/Tag/info.json new file mode 100644 index 00000000..a8148def --- /dev/null +++ b/binaries/Tag/info.json @@ -0,0 +1,46 @@ +[ + { + "types": { + "00": "SOL_M2_154_SSD", + "01": "SOL_M2_29_SSD", + "02": "SOL_M2_42_SSD", + "05": "SOL_M2_75_ota", + "11": "SOL_M2_29_UC", + "21": "SOL_M2_29_LT", + "2E": "SOL_M3_Uni_ota", + "2F": "SOL_M3_Uni_ota", + "31": "SOL_M3_Uni_ota", + "33": "SOL_M3_Uni_ota", + "35": "SOL_M3_Uni_ota", + "36": "SOL_M3_Uni_ota" + }, + "version": { + "00": "25", + "01": "25", + "02": "25", + "05": "04", + "11": "25", + "21": "25", + "2E": "26", + "2F": "26", + "31": "26", + "33": "26", + "35": "26", + "36": "26" + }, + "md5": { + "00": "57e02f80c9f2581be0a140979b1124e1", + "01": "bed1a20ca6af04e29e5aabce480c1e9d", + "02": "80e36c7d4d08beaca8ad2f00f42923d0", + "05": "26c058db1f14c7ee2f301283bcbe7c9d", + "11": "0c692cfca683948efeb3501a00c8f8bd", + "21": "8ebc88f2a8de187a81d2f7c4c39b0d8e", + "2E": "d234e395a8441779caa2df75ca9a508d", + "2F": "d234e395a8441779caa2df75ca9a508d", + "31": "d234e395a8441779caa2df75ca9a508d", + "33": "d234e395a8441779caa2df75ca9a508d", + "35": "d234e395a8441779caa2df75ca9a508d", + "36": "d234e395a8441779caa2df75ca9a508d" + } + } +]