From cb2f3aed5ae82cf59932e87a81b02e050393b4d8 Mon Sep 17 00:00:00 2001 From: Nic Limper Date: Fri, 22 Mar 2024 20:41:04 +0100 Subject: [PATCH] remove tagtypes from data folder (they are dynamically loaded now) You will find the tagtype JSON files in /resources/tagtypes/. They are now automatically downloaded to the LittleFS partition when needed to avoid wasting valuable space. The tagtype definitions are updated during an OTA update, but there is also a separate update button for just syncing them. Additionally, they will only be updated when the version number within the JSON file is higher. If you have made custom changes to a tagtype, you can prevent it from being overwritten by giving it a very high version number. --- ESP32_AP-Flasher/data/tagtypes/00.json | 50 --------------- ESP32_AP-Flasher/data/tagtypes/01.json | 83 ------------------------ ESP32_AP-Flasher/data/tagtypes/02.json | 57 ----------------- ESP32_AP-Flasher/data/tagtypes/05.json | 58 ----------------- ESP32_AP-Flasher/data/tagtypes/11.json | 18 ------ ESP32_AP-Flasher/data/tagtypes/21.json | 18 ------ ESP32_AP-Flasher/data/tagtypes/22.json | 18 ------ ESP32_AP-Flasher/data/tagtypes/26.json | 57 ----------------- ESP32_AP-Flasher/data/tagtypes/27.json | 16 ----- ESP32_AP-Flasher/data/tagtypes/2E.json | 42 ------------- ESP32_AP-Flasher/data/tagtypes/2F.json | 48 -------------- ESP32_AP-Flasher/data/tagtypes/30.json | 19 ------ ESP32_AP-Flasher/data/tagtypes/31.json | 69 -------------------- ESP32_AP-Flasher/data/tagtypes/32.json | 18 ------ ESP32_AP-Flasher/data/tagtypes/33.json | 68 -------------------- ESP32_AP-Flasher/data/tagtypes/34.json | 19 ------ ESP32_AP-Flasher/data/tagtypes/35.json | 42 ------------- ESP32_AP-Flasher/data/tagtypes/36.json | 19 ------ ESP32_AP-Flasher/data/tagtypes/40.json | 18 ------ ESP32_AP-Flasher/data/tagtypes/41.json | 19 ------ ESP32_AP-Flasher/data/tagtypes/42.json | 18 ------ ESP32_AP-Flasher/data/tagtypes/55.json | 84 ------------------------- ESP32_AP-Flasher/data/tagtypes/60.json | 27 -------- ESP32_AP-Flasher/data/tagtypes/61.json | 18 ------ ESP32_AP-Flasher/data/tagtypes/62.json | 18 ------ ESP32_AP-Flasher/data/tagtypes/80.json | 57 ----------------- ESP32_AP-Flasher/data/tagtypes/81.json | 17 ----- ESP32_AP-Flasher/data/tagtypes/82.json | 17 ----- ESP32_AP-Flasher/data/tagtypes/83.json | 56 ----------------- ESP32_AP-Flasher/data/tagtypes/B2.json | 16 ----- ESP32_AP-Flasher/data/tagtypes/B3.json | 16 ----- ESP32_AP-Flasher/data/tagtypes/B5.json | 16 ----- ESP32_AP-Flasher/data/tagtypes/BD.json | 65 ------------------- ESP32_AP-Flasher/data/tagtypes/BE.json | 16 ----- ESP32_AP-Flasher/data/tagtypes/E0.json | 30 --------- ESP32_AP-Flasher/data/tagtypes/E1.json | 29 --------- ESP32_AP-Flasher/data/tagtypes/F0.json | 14 ----- ESP32_AP-Flasher/data/www/main.js.gz | Bin 14463 -> 14449 bytes ESP32_AP-Flasher/data/www/ota.js.gz | Bin 5456 -> 5444 bytes ESP32_AP-Flasher/src/tag_db.cpp | 2 +- ESP32_AP-Flasher/wwwroot/main.js | 2 +- ESP32_AP-Flasher/wwwroot/ota.js | 2 +- 42 files changed, 3 insertions(+), 1273 deletions(-) delete mode 100644 ESP32_AP-Flasher/data/tagtypes/00.json delete mode 100644 ESP32_AP-Flasher/data/tagtypes/01.json delete mode 100644 ESP32_AP-Flasher/data/tagtypes/02.json delete mode 100644 ESP32_AP-Flasher/data/tagtypes/05.json delete mode 100644 ESP32_AP-Flasher/data/tagtypes/11.json delete mode 100644 ESP32_AP-Flasher/data/tagtypes/21.json delete mode 100644 ESP32_AP-Flasher/data/tagtypes/22.json delete mode 100644 ESP32_AP-Flasher/data/tagtypes/26.json delete mode 100644 ESP32_AP-Flasher/data/tagtypes/27.json delete mode 100644 ESP32_AP-Flasher/data/tagtypes/2E.json delete mode 100644 ESP32_AP-Flasher/data/tagtypes/2F.json delete mode 100644 ESP32_AP-Flasher/data/tagtypes/30.json delete mode 100644 ESP32_AP-Flasher/data/tagtypes/31.json delete mode 100644 ESP32_AP-Flasher/data/tagtypes/32.json delete mode 100644 ESP32_AP-Flasher/data/tagtypes/33.json delete mode 100644 ESP32_AP-Flasher/data/tagtypes/34.json delete mode 100644 ESP32_AP-Flasher/data/tagtypes/35.json delete mode 100644 ESP32_AP-Flasher/data/tagtypes/36.json delete mode 100644 ESP32_AP-Flasher/data/tagtypes/40.json delete mode 100644 ESP32_AP-Flasher/data/tagtypes/41.json delete mode 100644 ESP32_AP-Flasher/data/tagtypes/42.json delete mode 100644 ESP32_AP-Flasher/data/tagtypes/55.json delete mode 100644 ESP32_AP-Flasher/data/tagtypes/60.json delete mode 100644 ESP32_AP-Flasher/data/tagtypes/61.json delete mode 100644 ESP32_AP-Flasher/data/tagtypes/62.json delete mode 100755 ESP32_AP-Flasher/data/tagtypes/80.json delete mode 100755 ESP32_AP-Flasher/data/tagtypes/81.json delete mode 100755 ESP32_AP-Flasher/data/tagtypes/82.json delete mode 100755 ESP32_AP-Flasher/data/tagtypes/83.json delete mode 100644 ESP32_AP-Flasher/data/tagtypes/B2.json delete mode 100644 ESP32_AP-Flasher/data/tagtypes/B3.json delete mode 100644 ESP32_AP-Flasher/data/tagtypes/B5.json delete mode 100644 ESP32_AP-Flasher/data/tagtypes/BD.json delete mode 100644 ESP32_AP-Flasher/data/tagtypes/BE.json delete mode 100644 ESP32_AP-Flasher/data/tagtypes/E0.json delete mode 100644 ESP32_AP-Flasher/data/tagtypes/E1.json delete mode 100644 ESP32_AP-Flasher/data/tagtypes/F0.json diff --git a/ESP32_AP-Flasher/data/tagtypes/00.json b/ESP32_AP-Flasher/data/tagtypes/00.json deleted file mode 100644 index ee5c25b8..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/00.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "name": "M2 1.54\"", - "width": 152, - "height": 152, - "rotatebuffer": 0, - "bpp": 2, - "colors": 3, - "colortable": { - "white": [ 255, 255, 255 ], - "black": [ 0, 0, 0 ], - "red": [ 255, 0, 0 ], - "gray": [ 150, 150, 150 ] - }, - "shortlut": 2, - "options": [ "button", "customlut" ], - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 10, 14, 15, 17, 18, 19, 20, 21 ], - "template": { - "1": { - "weekday": [ 76, 9, "fonts/calibrib30" ], - "month": [ 76, 120, "fonts/calibrib30" ], - "day": [ 76, 13, "Signika-SB.ttf", 100 ] - }, - "2": { - "fonts": [ "Signika-SB.ttf", 150, 110, 80, 60, 50, 40 ], - "xy": [ 76, 65 ] - }, - "4": { - "location": [ 10, 145, "t0_14b_tf" ], - "wind": [ 140, 10, "fonts/bahnschrift30" ], - "temp": [ 10, 10, "fonts/bahnschrift30" ], - "icon": [ 75, 26, 70, 1 ], - "dir": [ 110, -12, 40 ], - "umbrella": [ 125, 110, 30 ] - }, - "10": { - "title": [ 76, 15, "t0_14b_tf" ], - "pos": [ 76, 20 ] - }, - "21": [ - { "text": [ 2, 5, "OpenEpaperLink", "bahnschrift20", 1, 0, 0 ] }, - { "text": [ 2, 25, "Access Point", "bahnschrift20", 1, 0, 0 ] }, - { "text": [ 3, 65, "IP address:", "glasstown_nbp_tf", 1, 0, 0 ] }, - { "text": [ 10, 80, "{ap_ip}", "t0_14b_tf", 1, 0, 0 ] }, - { "text": [ 3, 95, "Channel:", "glasstown_nbp_tf", 1, 0, 0 ] }, - { "text": [ 10, 110, "{ap_ch}", "t0_14b_tf", 1, 0, 0 ] }, - { "text": [ 3, 125, "Tag count:", "glasstown_nbp_tf", 1, 0, 0 ] }, - { "text": [ 10, 140, "{ap_tagcount}", "t0_14b_tf", 1, 0, 0 ] } - ] - } -} diff --git a/ESP32_AP-Flasher/data/tagtypes/01.json b/ESP32_AP-Flasher/data/tagtypes/01.json deleted file mode 100644 index 55bda393..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/01.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "name": "M2 2.9\"", - "width": 296, - "height": 128, - "rotatebuffer": 1, - "bpp": 2, - "colors": 3, - "colortable": { - "white": [ 255, 255, 255 ], - "black": [ 0, 0, 0 ], - "red": [ 255, 0, 0 ], - "gray": [ 150, 150, 150 ] - }, - "shortlut": 2, - "options": [ "button", "customlut" ], - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 15, 16, 17, 18, 19, 20, 21, 27 ], - "template": { - "1": { - "weekday": [ 148, -3, "Signika-SB.ttf", 60 ], - "date": [ 148, 65, "Signika-SB.ttf", 48 ] - }, - "2": { - "fonts": [ "Signika-SB.ttf", 150, 150, 150, 120, 100, 80 ], - "xy": [ 148, 53 ] - }, - "16": { - "location": [ 5, 5, "fonts/bahnschrift30" ], - "title": [ 247, 11, "glasstown_nbp_tf" ], - "cols": [ 1, 125, 12, "glasstown_nbp_tf" ], - "bars": [ 5, 111, 10 ] - }, - "4": { - "location": [ 5, 5, "fonts/bahnschrift30" ], - "wind": [ 280, 5, "fonts/bahnschrift30" ], - "temp": [ 5, 65, "fonts/bahnschrift70" ], - "icon": [ 285, 20, 70, 2 ], - "dir": [ 235, -12, 40 ], - "umbrella": [ 190, -50, 25 ] - }, - "8": { - "location": [ 5, 12, "t0_14b_tf" ], - "column": [ 5, 59 ], - "day": [ 30, 18, "fonts/twcondensed20", 41, 108 ], - "icon": [ 30, 55, 30 ], - "wind": [ 18, 26 ], - "line": [ 20, 128 ] - }, - "9": { - "title": [ 2, 0, "bahnschrift20.vlw", 25 ], - "items": 8, - "line": [ 1, 25, "REFSAN12.vlw" ], - "desc": [ 0, 5, "", 1 ] - }, - "10": { - "title": [ 149, 5, "fonts/bahnschrift20" ], - "pos": [ 149, 27 ] - }, - "11": { - "mode": 0, - "days": 1, - "title": [ 5, 2, "fonts/bahnschrift20" ], - "date": [ 290, 2 ], - "items": 7, - "red": [ 0, 21, 296, 14 ], - "line": [ 5, 32, 15, "t0_14b_tf", 50 ] - }, - "21": [ - { "text": [ 5, 5, "OpenEpaperLink AP", "bahnschrift20", 1, 0, 0 ] }, - { "text": [ 5, 50, "IP address:", "t0_14b_tf", 1, 0, 0 ] }, - { "text": [ 120, 50, "{ap_ip}", "t0_14b_tf", 1, 0, 0 ] }, - { "text": [ 5, 70, "Channel:", "t0_14b_tf", 1, 0, 0 ] }, - { "text": [ 120, 70, "{ap_ch}", "t0_14b_tf", 1, 0, 0 ] }, - { "text": [ 5, 90, "Tag count:", "t0_14b_tf", 1, 0, 0 ] }, - { "text": [ 120, 90, "{ap_tagcount}", "t0_14b_tf", 1, 0, 0 ] } - ], - "27": { - "bars": [ 9, 288, 90, 10 ], - "time": [ "BellCent10.vlw" ], - "yaxis": [ "BellCent10.vlw", 0, 6 ], - "head": [ "calibrib30.vlw" ] - } - } -} diff --git a/ESP32_AP-Flasher/data/tagtypes/02.json b/ESP32_AP-Flasher/data/tagtypes/02.json deleted file mode 100644 index 1d753b0d..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/02.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "name": "M2 4.2\"", - "width": 400, - "height": 300, - "rotatebuffer": 0, - "bpp": 2, - "colors": 3, - "colortable": { - "white": [ 255, 255, 255 ], - "black": [ 0, 0, 0 ], - "red": [ 255, 0, 0 ], - "gray": [ 150, 150, 150 ] - }, - "shortlut": 1, - "options": [ "button" ], - "contentids": [ 22, 23, 1, 4, 5, 7, 8, 9, 10, 11, 17, 18, 19, 20 ], - "template": { - "1": { - "weekday": [ 200, 0, "Signika-SB.ttf", 70 ], - "month": [ 200, 210, "Signika-SB.ttf", 70 ], - "day": [ 200, 45, "Signika-SB.ttf", 170 ] - }, - "4": { - "location": [ 20, 20, "fonts/calibrib30" ], - "wind": [ 90, 83, "fonts/calibrib50" ], - "temp": [ 20, 170, "fonts/calibrib100" ], - "icon": [ 385, 0, 100, 2 ], - "dir": [ 40, 50, 80 ], - "umbrella": [ 325, 155, 78 ] - }, - "8": { - "location": [ 10, 10, "fonts/calibrib30" ], - "column": [ 6, 66 ], - "day": [ 33, 60, "fonts/bahnschrift20", 104, 230 ], - "rain": [ 34, 260 ], - "icon": [ 32, 145, 30 ], - "wind": [ 17, 90 ], - "line": [ 50, 300 ] - }, - "9": { - "title": [ 6, 0, "Signika-SB.ttf", 25 ], - "items": 4, - "line": [ 9, 40, "calibrib16.vlw" ], - "desc": [ 2, 8, "REFSAN12.vlw", 1.2 ] - }, - "10": { - "title": [ 200, 10, "fonts/bahnschrift20" ], - "pos": [ 200, 35 ] - }, - "11": { - "rotate": 0, - "mode": 1, - "days": 4, - "gridparam": [ 5, 17, 20, "calibrib16.vlw", "BellCent10.vlw", 14 ] - } - } -} diff --git a/ESP32_AP-Flasher/data/tagtypes/05.json b/ESP32_AP-Flasher/data/tagtypes/05.json deleted file mode 100644 index e54a1825..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/05.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "name": "M2 7.4\"", - "width": 640, - "height": 384, - "rotatebuffer": 0, - "bpp": 2, - "colors": 3, - "colortable": { - "white": [ 255, 255, 255 ], - "black": [ 0, 0, 0 ], - "red": [ 255, 0, 0 ], - "gray": [ 150, 150, 150 ] - }, - "shortlut": 1, - "zlib_compression": "27", - "options": [ ], - "contentids": [ 22, 23, 1, 4, 5, 7, 8, 9, 10, 11, 17, 18, 19, 20 ], - "template": { - "1": { - "weekday": [ 320, -5, "Signika-SB.ttf", 100 ], - "month": [ 320, 265, "Signika-SB.ttf", 100 ], - "day": [ 320, 60, "Signika-SB.ttf", 220 ] - }, - "4": { - "location": [ 20, 20, "fonts/calibrib30" ], - "wind": [ 90, 83, "fonts/calibrib30" ], - "temp": [ 20, 170, "fonts/calibrib30" ], - "icon": [ 385, 0, 100, 2 ], - "dir": [ 40, 50, 80 ], - "umbrella": [ 325, 155, 78 ] - }, - "8": { - "location": [ 10, 10, "fonts/calibrib30" ], - "column": [ 6, 66 ], - "day": [ 33, 60, "fonts/bahnschrift20", 104, 230 ], - "rain": [ 34, 260 ], - "icon": [ 32, 145, 30 ], - "wind": [ 17, 90 ], - "line": [ 50, 300 ] - }, - "9": { - "title": [ 6, 0, "Signika-SB.ttf", 32 ], - "items": 6, - "line": [ 9, 40, "calibrib16.vlw" ], - "desc": [ 2, 8, "REFSAN12.vlw", 1.2 ] - }, - "10": { - "title": [ 320, 10, "fonts/bahnschrift20" ], - "pos": [ 320, 40 ] - }, - "11": { - "rotate": 0, - "mode": 1, - "days": 7, - "gridparam": [ 3, 17, 30, "calibrib16.vlw", "BellCent10.vlw", 14 ] - } - } -} diff --git a/ESP32_AP-Flasher/data/tagtypes/11.json b/ESP32_AP-Flasher/data/tagtypes/11.json deleted file mode 100644 index 79486de9..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/11.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "M2 2.9\" (UC8151)", - "width": 296, - "height": 128, - "rotatebuffer": 1, - "bpp": 2, - "colors": 3, - "colortable": { - "white": [ 255, 255, 255 ], - "black": [ 0, 0, 0 ], - "red": [ 255, 0, 0 ], - "gray": [ 150, 150, 150 ] - }, - "shortlut": 0, - "options": [ "button" ], - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 27 ], - "usetemplate": 1 -} diff --git a/ESP32_AP-Flasher/data/tagtypes/21.json b/ESP32_AP-Flasher/data/tagtypes/21.json deleted file mode 100644 index 8b2de423..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/21.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "ST‐GM29XXF 2.9\"", - "width": 296, - "height": 128, - "rotatebuffer": 1, - "bpp": 1, - "colors": 2, - "colortable": { - "white": [ 255, 255, 255 ], - "black": [ 0, 0, 0 ], - "gray": [ 150, 150, 150 ] - }, - "highlight_color": 5, - "shortlut": 0, - "options": [ "button", "customlut" ], - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 15, 16, 17, 18, 19, 20, 21 ], - "usetemplate": 1 -} diff --git a/ESP32_AP-Flasher/data/tagtypes/22.json b/ESP32_AP-Flasher/data/tagtypes/22.json deleted file mode 100644 index c0a33a2a..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/22.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "M2 2.7\"", - "width": 264, - "height": 176, - "rotatebuffer": 1, - "bpp": 2, - "colors": 3, - "colortable": { - "white": [ 255, 255, 255 ], - "black": [ 0, 0, 0 ], - "red": [ 255, 0, 0 ], - "gray": [ 150, 150, 150 ] - }, - "shortlut": 0, - "options": [ "button" ], - "contentids": [ 0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 17, 18, 19, 20 ], - "usetemplate": 1 -} \ No newline at end of file diff --git a/ESP32_AP-Flasher/data/tagtypes/26.json b/ESP32_AP-Flasher/data/tagtypes/26.json deleted file mode 100644 index d876dd67..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/26.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "name": "M2 7.5\" BW", - "width": 640, - "height": 384, - "rotatebuffer": 0, - "bpp": 1, - "colors": 2, - "colortable": { - "white": [ 255, 255, 255 ], - "black": [ 0, 0, 0 ] - }, - "shortlut": 1, - "zlib_compression": "27", - "highlight_color": 5, - "options": [ ], - "contentids": [ 22, 23, 1, 4, 5, 7, 8, 9, 10, 11, 17, 18, 19, 20 ], - "template": { - "1": { - "weekday": [ 320, -5, "Signika-SB.ttf", 100 ], - "month": [ 320, 265, "Signika-SB.ttf", 100 ], - "day": [ 320, 60, "Signika-SB.ttf", 220 ] - }, - "4": { - "location": [ 20, 20, "fonts/calibrib30" ], - "wind": [ 90, 83, "fonts/calibrib30" ], - "temp": [ 20, 170, "fonts/calibrib30" ], - "icon": [ 385, 0, 100, 2 ], - "dir": [ 40, 50, 80 ], - "umbrella": [ 325, 155, 78 ] - }, - "8": { - "location": [ 10, 10, "fonts/calibrib30" ], - "column": [ 6, 66 ], - "day": [ 33, 60, "fonts/bahnschrift20", 104, 230 ], - "rain": [ 34, 260 ], - "icon": [ 32, 145, 30 ], - "wind": [ 17, 90 ], - "line": [ 50, 300 ] - }, - "9": { - "title": [ 6, 0, "Signika-SB.ttf", 32 ], - "items": 5, - "line": [ 9, 40, "calibrib16.vlw" ], - "desc": [ 2, 8, "REFSAN12.vlw", 1.2 ] - }, - "10": { - "title": [ 320, 10, "fonts/bahnschrift20" ], - "pos": [ 320, 40 ] - }, - "11": { - "rotate": 0, - "mode": 1, - "days": 7, - "gridparam": [ 3, 17, 30, "calibrib16.vlw", "BellCent10.vlw", 14 ] - } - } -} diff --git a/ESP32_AP-Flasher/data/tagtypes/27.json b/ESP32_AP-Flasher/data/tagtypes/27.json deleted file mode 100644 index 3e9f3185..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/27.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "ST‐GM29MT1 2.9\"", - "width": 296, - "height": 128, - "rotatebuffer": 1, - "bpp": 1, - "colors": 2, - "colortable": { - "white": [ 255, 255, 255 ], - "black": [ 0, 0, 0 ] - }, - "shortlut": 0, - "options": [ "button", "customlut" ], - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 15, 16, 17, 18, 19, 20, 21 ], - "usetemplate": 1 -} diff --git a/ESP32_AP-Flasher/data/tagtypes/2E.json b/ESP32_AP-Flasher/data/tagtypes/2E.json deleted file mode 100644 index f820ca69..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/2E.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "M3 9.7\"", - "width": 960, - "height": 672, - "rotatebuffer": 2, - "bpp": 2, - "colors": 3, - "colortable": { - "white": [ 255, 255, 255 ], - "black": [ 0, 0, 0 ], - "red": [ 255, 0, 0 ], - "gray": [ 150, 150, 150 ] - }, - "shortlut": 0, - "zlib_compression": "27", - "options": [ "button" ], - "contentids": [ 22, 23, 1, 5, 8, 9, 7, 19, 10, 11 ], - "usetemplate": 1, - "template": { - "1": { - "weekday": [ 480, -5, "Signika-SB.ttf", 160 ], - "month": [ 480, 480, "Signika-SB.ttf", 160 ], - "day": [ 480, 110, "Signika-SB.ttf", 380 ] - }, - "9": { - "title": [ 6, 0, "Signika-SB.ttf", 32 ], - "items": 12, - "line": [ 9, 40, "calibrib16.vlw" ], - "desc": [ 2, 8, "REFSAN12.vlw", 1.2 ] - }, - "10": { - "title": [ 480, 0, "Signika-SB.ttf", 50 ], - "pos": [ 480, 70 ] - }, - "11": { - "rotate": 0, - "mode": 1, - "days": 7, - "gridparam": [ 7, 19, 30, "calibrib16.vlw", "REFSAN12.vlw", 16 ] - } - } -} \ No newline at end of file diff --git a/ESP32_AP-Flasher/data/tagtypes/2F.json b/ESP32_AP-Flasher/data/tagtypes/2F.json deleted file mode 100644 index 6e71dd88..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/2F.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "name": "M3 4.3\"", - "width": 522, - "height": 152, - "rotatebuffer": 3, - "bpp": 2, - "colors": 3, - "colortable": { - "white": [ 255, 255, 255 ], - "black": [ 0, 0, 0 ], - "red": [ 255, 0, 0 ], - "gray": [ 150, 150, 150 ] - }, - "shortlut": 0, - "zlib_compression": "27", - "options": [ "button" ], - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 11, 17, 18, 19, 20, 27 ], - "usetemplate": 1, - "template": { - "1": { - "weekday": [ 160, 5, "Signika-SB.ttf", 60 ], - "month": [ 160, 75, "Signika-SB.ttf", 60 ], - "day": [ 422, -27, "Signika-SB.ttf", 170 ] - }, - "2": { - "fonts": [ "Signika-SB.ttf", 170, 170, 170, 170, 170, 170 ], - "xy": [ 261, 63 ] - }, - "9": { - "title": [ 6, 0, "Signika-SB.ttf", 25 ], - "items": 1, - "line": [ 9, 40, "calibrib16.vlw" ], - "desc": [ 2, 8, "REFSAN12.vlw", 1.2 ] - }, - "11": { - "rotate": 1, - "mode": 1, - "days": 1, - "gridparam": [ 5, 17, 20, "calibrib16.vlw", "BellCent10.vlw", 14 ] - }, - "27": { - "bars": [ 27, 468, 100, 18 ], - "time": [ "calibrib16.vlw" ], - "yaxis": [ "BellCent10.vlw", 5, 6 ], - "head": [ "calibrib30.vlw" ] - } - } -} diff --git a/ESP32_AP-Flasher/data/tagtypes/30.json b/ESP32_AP-Flasher/data/tagtypes/30.json deleted file mode 100644 index 1f436a75..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/30.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "M3 1.6\"", - "width": 200, - "height": 200, - "rotatebuffer": 0, - "bpp": 2, - "colors": 3, - "colortable": { - "white": [ 255, 255, 255 ], - "black": [ 0, 0, 0 ], - "red": [ 255, 0, 0 ], - "gray": [ 150, 150, 150 ] - }, - "shortlut": 0, - "zlib_compression": "27", - "options": [ "button" ], - "contentids": [ 22, 23, 1, 2, 3, 4, 8, 7, 19, 10, 21 ], - "usetemplate": 0 -} \ No newline at end of file diff --git a/ESP32_AP-Flasher/data/tagtypes/31.json b/ESP32_AP-Flasher/data/tagtypes/31.json deleted file mode 100644 index 69169e71..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/31.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "name": "M3 2.2\"", - "width": 296, - "height": 160, - "rotatebuffer": 3, - "bpp": 2, - "colors": 3, - "colortable": { - "white": [ 255, 255, 255 ], - "black": [ 0, 0, 0 ], - "red": [ 255, 0, 0 ], - "gray": [ 150, 150, 150 ] - }, - "shortlut": 0, - "zlib_compression": "27", - "options": [ "button", "led" ], - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 16, 17, 18, 19, 20, 26 ], - "template": { - "1": { - "weekday": [ 148, 5, "Signika-SB.ttf", 60 ], - "date": [ 148, 75, "Signika-SB.ttf", 50 ] - }, - "2": { - "fonts": [ "Signika-SB.ttf", 150, 150, 110, 80, 60, 50 ], - "xy": [ 148, 68 ] - }, - "16": { - "location": [ 5, 5, "fonts/bahnschrift30" ], - "title": [ 247, 11, "glasstown_nbp_tf" ], - "cols": [ 1, 155, 12, "glasstown_nbp_tf" ], - "bars": [ 5, 141, 10 ] - }, - "4": { - "location": [ 5, 5, "fonts/bahnschrift30" ], - "wind": [ 280, 5, "fonts/bahnschrift30" ], - "temp": [ 5, 65, "fonts/calibrib80" ], - "icon": [ 275, 20, 90, 2 ], - "dir": [ 245, -12, 40 ], - "umbrella": [ 190, -50, 25 ] - }, - "8": { - "location": [ 5, 12, "t0_14b_tf" ], - "column": [ 5, 59 ], - "day": [ 30, 18, "fonts/twcondensed20", 41, 108 ], - "icon": [ 30, 55, 30 ], - "wind": [ 18, 26 ], - "line": [ 20, 128 ] - }, - "9": { - "title": [ 5, 4, "bahnschrift20.vlw", 25 ], - "items": 8, - "line": [ 4, 25, "REFSAN12.vlw" ], - "desc": [ 0, 5, "", 1 ] - }, - "10": { - "title": [ 149, 5, "fonts/bahnschrift20" ], - "pos": [ 149, 30 ] - }, - "11": { - "mode": 0, - "days": 1, - "title": [ 5, 2, "fonts/bahnschrift20" ], - "date": [ 290, 2 ], - "items": 10, - "red": [ 0, 21, 296, 14 ], - "line": [ 5, 32, 15, "t0_14b_tf", 50 ] - } - } -} diff --git a/ESP32_AP-Flasher/data/tagtypes/32.json b/ESP32_AP-Flasher/data/tagtypes/32.json deleted file mode 100644 index 3a298211..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/32.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "M3 2.6\"", - "width": 360, - "height": 184, - "rotatebuffer": 3, - "bpp": 2, - "colors": 3, - "colortable": { - "white": [ 255, 255, 255 ], - "black": [ 0, 0, 0 ], - "red": [ 255, 0, 0 ], - "gray": [ 150, 150, 150 ] - }, - "shortlut": 0, - "zlib_compression": "27", - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 16, 17, 18, 19, 20, 26 ], - "usetemplate": 1 -} \ No newline at end of file diff --git a/ESP32_AP-Flasher/data/tagtypes/33.json b/ESP32_AP-Flasher/data/tagtypes/33.json deleted file mode 100644 index 85a5c64d..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/33.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "name": "M3 2.9\"", - "width": 384, - "height": 168, - "rotatebuffer": 3, - "bpp": 2, - "colors": 3, - "colortable": { - "white": [ 255, 255, 255 ], - "black": [ 0, 0, 0 ], - "red": [ 255, 0, 0 ], - "gray": [ 150, 150, 150 ] - }, - "shortlut": 0, - "zlib_compression": "27", - "options": [ "button", "led" ], - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 16, 17, 18, 19, 20, 26, 27 ], - "usetemplate": 1, - "template": { - "1": { - "weekday": [ 192, 0, "Signika-SB.ttf", 70 ], - "date": [ 192, 85, "Signika-SB.ttf", 60 ] - }, - "2": { - "fonts": [ "Signika-SB.ttf", 150, 150, 110, 80, 60, 50 ], - "xy": [ 192, 72 ] - }, - "16": { - "location": [ 5, 5, "fonts/bahnschrift30" ], - "title": [ 335, 11, "glasstown_nbp_tf" ], - "cols": [ 1, 157, 16, "glasstown_nbp_tf" ], - "bars": [ 5, 141, 14 ] - }, - "8": { - "location": [ 5, 12, "t0_14b_tf" ], - "column": [ 5, 76 ], - "day": [ 39, 23, "bahnschrift20.vlw", 48, 140 ], - "icon": [ 39, 65, 45 ], - "wind": [ 23, 26 ], - "line": [ 20, 168 ] - }, - "9": { - "title": [ 5, 4, "bahnschrift20.vlw", 25 ], - "items": 8, - "line": [ 4, 25, "REFSAN12.vlw" ], - "desc": [ 0, 5, "", 1 ] - }, - "10": { - "title": [ 192, 5, "fonts/bahnschrift20" ], - "pos": [ 192, 30 ] - }, - "11": { - "mode": 0, - "days": 1, - "title": [ 5, 2, "fonts/bahnschrift20" ], - "date": [ 378, 2 ], - "items": 10, - "red": [ 0, 21, 384, 16 ], - "line": [ 5, 23, 18, "calibrib16.vlw", 55 ] - }, - "27": { - "bars": [ 12, 360, 110, 20 ], - "time": [ "calibrib16.vlw" ], - "yaxis": [ "BellCent10.vlw", 1, 6 ], - "head": [ "calibrib30.vlw" ] - } - } -} diff --git a/ESP32_AP-Flasher/data/tagtypes/34.json b/ESP32_AP-Flasher/data/tagtypes/34.json deleted file mode 100644 index 5f2aa429..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/34.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "M3 4.2\"", - "width": 400, - "height": 300, - "rotatebuffer": 0, - "bpp": 2, - "colors": 3, - "colortable": { - "white": [ 255, 255, 255 ], - "black": [ 0, 0, 0 ], - "red": [ 255, 0, 0 ], - "gray": [ 150, 150, 150 ] - }, - "shortlut": 0, - "zlib_compression": "27", - "options": [ "led" ], - "contentids": [ 22, 23, 1, 4, 5, 7, 8, 9, 10, 11, 17, 18, 19, 20 ], - "usetemplate": 2 -} \ No newline at end of file diff --git a/ESP32_AP-Flasher/data/tagtypes/35.json b/ESP32_AP-Flasher/data/tagtypes/35.json deleted file mode 100644 index 3bd5fcbd..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/35.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "M3 6.0\"", - "width": 600, - "height": 448, - "rotatebuffer": 0, - "bpp": 2, - "colors": 3, - "colortable": { - "white": [ 255, 255, 255 ], - "black": [ 0, 0, 0 ], - "red": [ 255, 0, 0 ], - "gray": [ 150, 150, 150 ] - }, - "shortlut": 0, - "zlib_compression": "27", - "options": [ "led" ], - "contentids": [ 22, 23, 1, 4, 5, 8, 9, 7, 19, 10, 11 ], - "usetemplate": 1, - "template": { - "1": { - "weekday": [ 300, 0, "Signika-SB.ttf", 110 ], - "month": [ 300, 310, "Signika-SB.ttf", 110 ], - "day": [ 300, 75, "Signika-SB.ttf", 250 ] - }, - "10": { - "title": [ 300, 10, "fonts/bahnschrift30" ], - "pos": [ 300, 50 ] - }, - "9": { - "title": [ 6, 0, "Signika-SB.ttf", 32 ], - "items": 6, - "line": [ 9, 40, "calibrib16.vlw" ], - "desc": [ 2, 8, "REFSAN12.vlw", 1.2 ] - }, - "11": { - "rotate": 0, - "mode": 1, - "days": 7, - "gridparam": [ 7, 17, 30, "calibrib16.vlw", "BellCent10.vlw", 14 ] - } - } -} diff --git a/ESP32_AP-Flasher/data/tagtypes/36.json b/ESP32_AP-Flasher/data/tagtypes/36.json deleted file mode 100644 index 7139d0c9..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/36.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "M3 7.5\"", - "width": 800, - "height": 480, - "rotatebuffer": 0, - "bpp": 2, - "colors": 3, - "colortable": { - "white": [ 255, 255, 255 ], - "black": [ 0, 0, 0 ], - "red": [ 255, 0, 0 ], - "gray": [ 150, 150, 150 ] - }, - "shortlut": 0, - "zlib_compression": "27", - "options": [ "button", "led" ], - "contentids": [ 22, 23, 1, 4, 5, 7, 8, 9, 10, 11, 17, 18, 19, 20 ], - "usetemplate": 46 -} diff --git a/ESP32_AP-Flasher/data/tagtypes/40.json b/ESP32_AP-Flasher/data/tagtypes/40.json deleted file mode 100644 index 59f010c0..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/40.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "M3 2.9\" FREEZER", - "width": 384, - "height": 168, - "rotatebuffer": 3, - "bpp": 1, - "colors": 2, - "colortable": { - "white": [ 255, 255, 255 ], - "black": [ 0, 0, 0 ], - "gray": [ 150, 150, 150 ] - }, - "shortlut": 0, - "zlib_compression": "27", - "options": [ "button", "led" ], - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 16, 17, 18, 19, 20, 26, 27 ], - "usetemplate": 51 -} diff --git a/ESP32_AP-Flasher/data/tagtypes/41.json b/ESP32_AP-Flasher/data/tagtypes/41.json deleted file mode 100644 index dc352497..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/41.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "M3 5.85\"", - "width": 792, - "height": 272, - "rotatebuffer": 0, - "bpp": 2, - "colors": 3, - "colortable": { - "white": [ 255, 255, 255 ], - "black": [ 0, 0, 0 ], - "red": [ 255, 0, 0 ], - "gray": [ 150, 150, 150 ] - }, - "shortlut": 0, - "zlib_compression": "27", - "options": [ ], - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 16, 17, 18, 19, 20, 26, 27 ], - "usetemplate": 51 -} \ No newline at end of file diff --git a/ESP32_AP-Flasher/data/tagtypes/42.json b/ESP32_AP-Flasher/data/tagtypes/42.json deleted file mode 100644 index ef1eb019..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/42.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "M3 5.85\" FREEZER", - "width": 792, - "height": 272, - "rotatebuffer": 0, - "bpp": 1, - "colors": 2, - "colortable": { - "white": [ 255, 255, 255 ], - "black": [ 0, 0, 0 ], - "gray": [ 150, 150, 150 ] - }, - "shortlut": 0, - "zlib_compression": "27", - "options": [ ], - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 16, 17, 18, 19, 20, 26, 27 ], - "usetemplate": 51 -} \ No newline at end of file diff --git a/ESP32_AP-Flasher/data/tagtypes/55.json b/ESP32_AP-Flasher/data/tagtypes/55.json deleted file mode 100644 index 5b87cc92..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/55.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "name": "HS BWR 2.13\"", - "width": 256, - "height": 128, - "rotatebuffer": 1, - "bpp": 2, - "colors": 3, - "colortable": { - "white": [ 255, 255, 255 ], - "black": [ 0, 0, 0 ], - "red": [ 255, 0, 0 ], - "gray": [ 150, 150, 150 ] - }, - "shortlut": 0, - "options": [ "led" ], - "contentids": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 27 ], - - "template": { - "1": { - "weekday": [ 128, 3, "Signika-SB.ttf", 50 ], - "date": [ 128, 62, "Signika-SB.ttf", 40 ] - }, - "2": { - "fonts": [ "Signika-SB.ttf", 150, 150, 150, 115, 90, 70 ], - "xy": [ 128, 53 ] - }, - "16": { - "location": [ 7, 15, "t0_14b_tf" ], - "title": [ 210, 11, "glasstown_nbp_tf" ], - "cols": [ 4, 121, 10, "glasstown_nbp_tf" ], - "bars": [ 10, 110, 8 ] - }, - "4": { - "location": [ 5, 3, "fonts/bahnschrift30" ], - "wind": [ 245, 3, "fonts/bahnschrift30" ], - "temp": [ 10, 60, "fonts/bahnschrift70" ], - "icon": [ 240, 20, 70, 2 ], - "dir": [ 210, -12, 40 ], - "umbrella": [ 175, -50, 25 ] - }, - "8": { - "location": [ 5, 12, "t0_14b_tf" ], - "column": [ 5, 51 ], - "day": [ 28, 18, "fonts/twcondensed20", 41, 108 ], - "icon": [ 28, 55, 30 ], - "wind": [ 18, 26 ], - "line": [ 20, 128 ] - }, - "9": { - "title": [ 8, 2, "bahnschrift20.vlw", 25 ], - "items": 5, - "line": [ 8, 25, "REFSAN12.vlw" ], - "desc": [ 0, 5, "", 1 ] - }, - "10": { - "title": [ 128, 2, "calibrib16.vlw" ], - "pos": [ 128, 16 ] - }, - "11": { - "mode": 0, - "days": 1, - "title": [ 10, 2, "fonts/bahnschrift20" ], - "date": [ 245, 2 ], - "items": 7, - "red": [ 0, 21, 256, 14 ], - "line": [ 10, 32, 15, "t0_14b_tf", 50 ] - }, - "21": [ - { "text": [ 10, 5, "OpenEpaperLink AP", "bahnschrift20", 1, 0, 0 ] }, - { "text": [ 10, 50, "IP address:", "t0_14b_tf", 1, 0, 0 ] }, - { "text": [ 110, 50, "{ap_ip}", "t0_14b_tf", 1, 0, 0 ] }, - { "text": [ 10, 70, "Channel:", "t0_14b_tf", 1, 0, 0 ] }, - { "text": [ 110, 70, "{ap_ch}", "t0_14b_tf", 1, 0, 0 ] }, - { "text": [ 10, 90, "Tag count:", "t0_14b_tf", 1, 0, 0 ] }, - { "text": [ 110, 90, "{ap_tagcount}", "t0_14b_tf", 1, 0, 0 ] } - ], - "27": { - "bars": [ 26, 216, 80, 20 ], - "time": [ "BellCent10.vlw" ], - "yaxis": [ "BellCent10.vlw", 6, 6 ], - "head": [ "bahnschrift20.vlw" ] - } - } -} \ No newline at end of file diff --git a/ESP32_AP-Flasher/data/tagtypes/60.json b/ESP32_AP-Flasher/data/tagtypes/60.json deleted file mode 100644 index f0d64c0d..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/60.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "HS BWY 3.5\"", - "width": 384, - "height": 184, - "rotatebuffer": 1, - "bpp": 2, - "colors": 3, - "colortable": { - "white": [ 255, 255, 255 ], - "black": [ 0, 0, 0 ], - "yellow": [ 200, 200, 0 ], - "gray": [ 150, 150, 150 ] - }, - "highlight_color": 2, - "shortlut": 0, - "options": [ "led" ], - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 19, 20, 27 ], - "usetemplate": 51, - "template": { - "27": { - "bars": [ 12, 360, 125, 20 ], - "time": [ "calibrib16.vlw" ], - "yaxis": [ "BellCent10.vlw", 1, 6 ], - "head": [ "calibrib30.vlw" ] - } - } -} diff --git a/ESP32_AP-Flasher/data/tagtypes/61.json b/ESP32_AP-Flasher/data/tagtypes/61.json deleted file mode 100644 index e28081c8..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/61.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "HS BWR 3.5\"", - "width": 384, - "height": 184, - "rotatebuffer": 1, - "bpp": 2, - "colors": 3, - "colortable": { - "white": [ 255, 255, 255 ], - "black": [ 0, 0, 0 ], - "red": [ 255, 0, 0 ], - "gray": [ 150, 150, 150 ] - }, - "shortlut": 0, - "options": [ "led" ], - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 19, 20 ], - "usetemplate": 51 -} diff --git a/ESP32_AP-Flasher/data/tagtypes/62.json b/ESP32_AP-Flasher/data/tagtypes/62.json deleted file mode 100644 index e77c27dc..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/62.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "HS BW 3.5\"", - "width": 384, - "height": 184, - "rotatebuffer": 1, - "bpp": 1, - "colors": 2, - "colortable": { - "white": [ 255, 255, 255 ], - "black": [ 0, 0, 0 ], - "gray": [ 150, 150, 150 ] - }, - "highlight_color": 5, - "shortlut": 0, - "options": [ "led" ], - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 19, 20 ], - "usetemplate": 51 -} diff --git a/ESP32_AP-Flasher/data/tagtypes/80.json b/ESP32_AP-Flasher/data/tagtypes/80.json deleted file mode 100755 index 921fa1f8..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/80.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "name": "Chroma 7.4\"", - "width": 640, - "height": 384, - "rotatebuffer": 0, - "bpp": 2, - "colors": 3, - "colortable": { - "white": [255, 255, 255], - "black": [0, 0, 0], - "red": [255, 0, 0], - "gray": [150, 150, 150] - }, - "shortlut": 1, - "options": [], - "contentids": [ 22, 23, 1, 4, 5, 7, 8, 9, 10, 11, 17, 18, 19, 20], - "template": { - "1": { - "weekday": [ 320, -5, "Signika-SB.ttf", 100 ], - "month": [ 320, 265, "Signika-SB.ttf", 100 ], - "day": [ 320, 60, "Signika-SB.ttf", 220 ] - }, - "4": { - "location": [ 20, 20, "fonts/calibrib30" ], - "wind": [ 90, 83, "fonts/calibrib30" ], - "temp": [ 20, 170, "fonts/calibrib30" ], - "icon": [ 385, 0, 100, 2 ], - "dir": [ 40, 50, 80 ], - "umbrella": [ 325, 155, 78 ] - }, - "8": { - "location": [ 10, 10, "fonts/calibrib30" ], - "column": [ 6, 66 ], - "day": [ 33, 60, "fonts/bahnschrift20", 104, 230 ], - "rain": [ 34, 260 ], - "icon": [ 32, 145, 30 ], - "wind": [ 17, 90 ], - "line": [ 50, 300 ] - }, - "9": { - "title": [ 6, 0, "Signika-SB.ttf", 32 ], - "items": 5, - "line": [ 9, 40, "calibrib16.vlw" ], - "desc": [ 2, 8, "REFSAN12.vlw", 1.2 ] - }, - "10": { - "title": [ 320, 10, "fonts/bahnschrift20" ], - "pos": [ 320, 40 ] - }, - "11": { - "rotate": 0, - "mode": 1, - "days": 7, - "gridparam": [ 3, 17, 30, "calibrib16.vlw", "BellCent10.vlw", 14 ] - } - } -} diff --git a/ESP32_AP-Flasher/data/tagtypes/81.json b/ESP32_AP-Flasher/data/tagtypes/81.json deleted file mode 100755 index 8b00f36c..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/81.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "Chroma29 2.9\" (UC8154)", - "width": 296, - "height": 128, - "rotatebuffer": 1, - "bpp": 2, - "colors": 3, - "colortable": { - "white": [255, 255, 255], - "black": [0, 0, 0], - "red": [255, 0, 0], - "gray": [150, 150, 150] - }, - "shortlut": 0, - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 27], - "usetemplate": 1 -} diff --git a/ESP32_AP-Flasher/data/tagtypes/82.json b/ESP32_AP-Flasher/data/tagtypes/82.json deleted file mode 100755 index c9fa4af6..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/82.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "Chroma29 2.9\"", - "width": 296, - "height": 128, - "rotatebuffer": 1, - "bpp": 2, - "colors": 3, - "colortable": { - "white": [255, 255, 255], - "black": [0, 0, 0], - "red": [255, 0, 0], - "gray": [150, 150, 150] - }, - "shortlut": 0, - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 27], - "usetemplate": 1 -} diff --git a/ESP32_AP-Flasher/data/tagtypes/83.json b/ESP32_AP-Flasher/data/tagtypes/83.json deleted file mode 100755 index 460c6eee..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/83.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "name": "Chroma42 4.2\"", - "width": 400, - "height": 300, - "rotatebuffer": 0, - "bpp": 2, - "colors": 3, - "colortable": { - "white": [255, 255, 255], - "black": [0, 0, 0], - "red": [255, 0, 0], - "gray": [150, 150, 150] - }, - "shortlut": 0, - "contentids": [ 22, 23, 1, 4, 5, 7, 8, 9, 10, 11, 17, 18, 19, 20], - "template": { - "1": { - "weekday": [ 200, 0, "Signika-SB.ttf", 70 ], - "month": [ 200, 210, "Signika-SB.ttf", 70 ], - "day": [ 200, 45, "Signika-SB.ttf", 170 ] - }, - "4": { - "location": [ 20, 20, "fonts/calibrib30" ], - "wind": [ 90, 83, "fonts/calibrib50" ], - "temp": [ 20, 170, "fonts/calibrib100" ], - "icon": [ 385, 0, 100, 2 ], - "dir": [ 40, 50, 80 ], - "umbrella": [ 325, 155, 78 ] - }, - "8": { - "location": [ 10, 10, "fonts/calibrib30" ], - "column": [ 6, 66 ], - "day": [ 33, 60, "fonts/bahnschrift20", 104, 230 ], - "rain": [ 34, 260 ], - "icon": [ 32, 145, 30 ], - "wind": [ 17, 90 ], - "line": [ 50, 300 ] - }, - "9": { - "title": [ 6, 0, "Signika-SB.ttf", 25 ], - "items": 4, - "line": [ 9, 40, "calibrib16.vlw" ], - "desc": [ 2, 8, "REFSAN12.vlw", 1.2 ] - }, - "10": { - "title": [ 200, 10, "fonts/bahnschrift20" ], - "pos": [ 200, 35 ] - }, - "11": { - "rotate": 0, - "mode": 1, - "days": 4, - "gridparam": [ 5, 17, 20, "calibrib16.vlw", "BellCent10.vlw", 14 ] - } - } -} diff --git a/ESP32_AP-Flasher/data/tagtypes/B2.json b/ESP32_AP-Flasher/data/tagtypes/B2.json deleted file mode 100644 index 8d0dd570..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/B2.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "Gicisky BLE EPD BW 2.9\"", - "width": 296, - "height": 128, - "rotatebuffer": 1, - "bpp": 1, - "colors": 2, - "colortable": { - "white": [ 255, 255, 255 ], - "black": [ 0, 0, 0 ] - }, - "shortlut": 0, - "options": [ "button", "customlut" ], - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 15, 16, 17, 18, 19, 20, 21 ], - "usetemplate": 1 -} diff --git a/ESP32_AP-Flasher/data/tagtypes/B3.json b/ESP32_AP-Flasher/data/tagtypes/B3.json deleted file mode 100644 index 8d679f02..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/B3.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "Gicisky BLE EPD BWR 2.9\"", - "width": 296, - "height": 128, - "rotatebuffer": 1, - "bpp": 2, - "colors": 3, - "colortable": { - "white": [ 255, 255, 255 ], - "black": [ 0, 0, 0 ], - "red": [ 255, 0, 0 ], - "gray": [ 150, 150, 150 ] - }, - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 15, 16, 17, 18, 19, 20, 21, 27 ], - "usetemplate": 1 -} diff --git a/ESP32_AP-Flasher/data/tagtypes/B5.json b/ESP32_AP-Flasher/data/tagtypes/B5.json deleted file mode 100644 index 90f2e1f1..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/B5.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "Gicisky BLE EPD BWR 4.2\"", - "width": 400, - "height": 300, - "rotatebuffer": 0, - "bpp": 2, - "colors": 3, - "colortable": { - "white": [ 255, 255, 255 ], - "black": [ 0, 0, 0 ], - "red": [ 255, 0, 0 ], - "gray": [ 150, 150, 150 ] - }, - "contentids": [ 22, 23, 1, 4, 5, 7, 8, 9, 10, 11, 17, 18, 19, 20 ], - "usetemplate": 2 -} diff --git a/ESP32_AP-Flasher/data/tagtypes/BD.json b/ESP32_AP-Flasher/data/tagtypes/BD.json deleted file mode 100644 index be7eaf39..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/BD.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "name": "BLE EPD BWR 2.9\" Silabs", - "width": 384, - "height": 168, - "rotatebuffer": 1, - "bpp": 2, - "colors": 3, - "colortable": { - "white": [255, 255, 255], - "black": [0, 0, 0], - "red": [255, 0, 0], - "gray": [150, 150, 150] - }, - "contentids": [ 22, 23, 1, 4, 5, 7, 8, 9, 10, 11, 17, 18, 19, 20], - "usetemplate": 1, - "template": { - "1": { - "weekday": [ 192, 0, "Signika-SB.ttf", 70 ], - "date": [ 192, 85, "Signika-SB.ttf", 60 ] - }, - "2": { - "fonts": [ "Signika-SB.ttf", 150, 150, 110, 80, 60, 50 ], - "xy": [ 192, 72 ] - }, - "16": { - "location": [ 5, 5, "fonts/bahnschrift30" ], - "title": [ 335, 11, "glasstown_nbp_tf" ], - "cols": [ 1, 157, 16, "glasstown_nbp_tf" ], - "bars": [ 5, 141, 14 ] - }, - "8": { - "location": [ 5, 12, "t0_14b_tf" ], - "column": [ 5, 76 ], - "day": [ 39, 23, "bahnschrift20.vlw", 48, 140 ], - "icon": [ 39, 65, 45 ], - "wind": [ 23, 26 ], - "line": [ 20, 168 ] - }, - "9": { - "title": [ 5, 4, "bahnschrift20.vlw", 25 ], - "items": 8, - "line": [ 4, 25, "REFSAN12.vlw" ], - "desc": [ 0, 5, "", 1 ] - }, - "10": { - "title": [ 192, 5, "fonts/bahnschrift20" ], - "pos": [ 192, 30 ] - }, - "11": { - "mode": 0, - "days": 1, - "title": [ 5, 2, "fonts/bahnschrift20" ], - "date": [ 378, 2 ], - "items": 10, - "red": [ 0, 21, 384, 16 ], - "line": [ 5, 23, 18, "calibrib16.vlw", 55 ] - }, - "27": { - "bars": [ 12, 360, 110, 20 ], - "time": [ "calibrib16.vlw" ], - "yaxis": [ "BellCent10.vlw", 1, 6 ], - "head": [ "calibrib30.vlw" ] - } - } -} diff --git a/ESP32_AP-Flasher/data/tagtypes/BE.json b/ESP32_AP-Flasher/data/tagtypes/BE.json deleted file mode 100644 index 49842551..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/BE.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "ATC MiThermometer BLE", - "width": 6, - "height": 8, - "rotatebuffer": 1, - "bpp": 1, - "colors": 1, - "colortable": { - "white": [ 255, 255, 255 ], - "black": [ 0, 0, 0 ] - }, - "shortlut": 0, - "options": [ ], - "contentids": [ 22 ], - "usetemplate": 0 -} diff --git a/ESP32_AP-Flasher/data/tagtypes/E0.json b/ESP32_AP-Flasher/data/tagtypes/E0.json deleted file mode 100644 index 5040dd25..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/E0.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "TFT 320x172", - "width": 320, - "height": 172, - "rotatebuffer": 0, - "bpp": 16, - "colors": 4, - "colortable": { - "white": [ 255, 255, 255 ], - "black": [ 0, 0, 0 ], - "red": [ 255, 0, 0 ], - "gray": [ 150, 150, 150 ] - }, - "shortlut": 0, - "options": [ ], - "contentids": [ 22, 1, 2, 3, 4, 8, 7, 19, 10, 11, 21 ], - "usetemplate": 1, - "template": { - "21": [ - { "box": [ 0, 0, 320, 172, 1 ] }, - { "text": [ 10, 15, "OpenEpaperLink AP", "calibrib30", 2, 0, 0, 1 ] }, - { "text": [ 10, 70, "IP address:", "bahnschrift20", "#888888", 0, 0, 1 ] }, - { "text": [ 120, 70, "{ap_ip}", "bahnschrift20", 0, 0, 0, 1 ] }, - { "text": [ 10, 95, "Channel:", "bahnschrift20", "#888888", 0, 0, 1 ] }, - { "text": [ 120, 95, "{ap_ch}", "bahnschrift20", 0, 0, 0, "1" ] }, - { "text": [ 10, 120, "Tag count:", "bahnschrift20", "#888888", 0, 0, 1 ] }, - { "text": [ 120, 120, "{ap_tagcount}", "bahnschrift20", 0, 0, 0, "1" ] } - ] - } -} diff --git a/ESP32_AP-Flasher/data/tagtypes/E1.json b/ESP32_AP-Flasher/data/tagtypes/E1.json deleted file mode 100644 index 8d783097..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/E1.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "TFT 160x80", - "width": 160, - "height": 80, - "rotatebuffer": 1, - "bpp": 16, - "colors": 4, - "colortable": { - "white": [ 255, 255, 255 ], - "black": [ 0, 0, 0 ], - "red": [ 255, 0, 0 ], - "gray": [ 150, 150, 150 ] - }, - "shortlut": 0, - "options": [ ], - "contentids": [ 22, 21 ], - "template": { - "21": [ - { "box": [ 0, 0, 160, 80, 1 ] }, - { "text": [ 1, 3, "OpenEpaperLink AP", "calibrib16.vlw", 2, 0, 0, 1 ] }, - { "text": [ 1, 28, "IP:", "REFSAN12.vlw", "#888888", 0, 0, 1 ] }, - { "text": [ 45, 28, "{ap_ip}", "REFSAN12.vlw", 0, 0, 0, 1 ] }, - { "text": [ 1, 45, "Ch:", "REFSAN12.vlw", "#888888", 0, 0, 1 ] }, - { "text": [ 45, 45, "{ap_ch}", "REFSAN12.vlw", 0, 0, 0, "1" ] }, - { "text": [ 1, 62, "Tags:", "REFSAN12.vlw", "#888888", 0, 0, 1 ] }, - { "text": [ 45, 62, "{ap_tagcount}", "REFSAN12.vlw", 0, 0, 0, "1" ] } - ] - } -} diff --git a/ESP32_AP-Flasher/data/tagtypes/F0.json b/ESP32_AP-Flasher/data/tagtypes/F0.json deleted file mode 100644 index fa460c22..00000000 --- a/ESP32_AP-Flasher/data/tagtypes/F0.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "SLT‐EM007 Segmented", - "width": 0, - "height": 0, - "rotatebuffer": 0, - "bpp": 1, - "colors": 0, - "colortable": { }, - "shortlut": 0, - "options": [ ], - "contentids": [ 1, 2, 3, 4, 5, 13, 17, 18 ], - "template": { - } -} diff --git a/ESP32_AP-Flasher/data/www/main.js.gz b/ESP32_AP-Flasher/data/www/main.js.gz index a76725d5ad4cc987b2d661db43afb2c744482493..1f667b1cc5bd7f80a9708ca17bb10c300123c15d 100644 GIT binary patch delta 13663 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 L@H=Kdo8$lhz$u5% diff --git a/ESP32_AP-Flasher/data/www/ota.js.gz b/ESP32_AP-Flasher/data/www/ota.js.gz index 69d4abef84f062cf5e26f991973e3e3218d52854..d1a929aecd9aa58d71b9d99a76415b1c91787bce 100644 GIT binary patch delta 4525 zcmV;e5mN5ZD#R*~9e=FNMbgDqdoq)J@GF&vbCcanlCqth+RIMaa*K8=R!e;n>io7V{;jVm;-6D40wll4Y0wDaI6#9b~Rg%UunG>bgWkqS8 zozjRBWq|L$BY$5Oc|o11TxC<|s>-G`$ulR(68dowLt{U1zG6EEKAfCAU;Nl`-Ikba>q5`{f*U0W>aNH`p z$?|39ioOqg?=LtjUJ%|!X@xlA&wZT&;NXk=3%tYT@P8vI@(icKQ&HfJo`p2JeitDt z4}r(0$8V2co_UNXj`(nxNw%oyaY_)5I`h+l02jpz-($_{aoAW&$B?cTh_i#6@SY`Ir6i1#5~x}sQdyo66|rfQ zO-Z_0pR%`glBG#Tb}rL=dgHZd`86s~Y5N9IMGpix$*%GbMLtiM3JK*A&)uMz$&k)S z<~Q1Qqzavs(prT|(Cn&owho=gySqWVDSj430)G=Hcfu&;0gi%1CQfGNus<4O4oF*(MrSF4omBz3X7VZR{5v zVHHbcuc)@@3J@x9FQA1mG5#lA9k$ise(S)8<}kAnw8B5X1%mXhQm|$r7$~DG;+ix^ z22xT|)vB4nT;gIX#S_%4y9_;iXm|)M-G6CS(tPe>12ZhyBG3?Wor4{w1?(Zr-Ii<9 z<_jQlul?%5*O~$A3zGngz6=`&m1R%qdzBY3?(rgrnO3ky%?WzJ!Hoa-SSs?Kj*3cn zFOY_j4J5#+&EE9|2yxA`9(aqgh~`e2{I1c+kz()gRX;{xIA#_I?A;IqcgOm1L4O6W zi)dxENZik>r_#_u^Z&Yxw)apS#MT`5>OzsH>18y%31Ini{~~|AU!c$E8dgAU#neR9 z>SJ^%UAI+SS|;XmzalhBQuL3RRS4(N!WXX$rm^WBmEf|lZoF~GAMD%OGZFkN7_;Zt z4qaH*KDqKFHUcvV>kZ&m*;i9@slX6Dl z^N0pLK%$Dy@}e1&{|?jqI>~yvA;URKbk>KLMZPRaaUMh1lIBr7z$KU_4u7UIUq(n~ zKn9PcfK|oaD-k@^4?2>^Jw#PU!<1y#bjHNi?4mZ{!X(Q`@$=a)Z($_g zeV0rAmoT4I7I&REyQ`(yi$>!GR-bl%v--EJ-LqOQts0`Vt{bB}+!*MfPkk(8U;JHo z3J<wj=r96bj@RzMK8iODTV^93oMIeR<708w{9@p+Tl1tlxpoJR9JuHY3P z=s7sKUIRub^V-{19!g80Kdndf0{2LSG+DmfI+*Y=kF1j_1|lE_bar&Yd2uj-@Aw;S zc>M#DGV%vtk(P@nJ9HmQX6@CJYz86|+k)4!cc5g)5eu05{1K*|4b%gZp#~a%2Q)r9 zh@4qLt`6NsC?zgy7g`tBgdV!*py%$9L2eHw(Gf5m;K0A;JgHWD=j*UT+ItLIAeovpS^#CX~HEY!T(W8@C2POf%lYa*uf7^UB zq?>ID45TpZpCkLo^yVzOM#Ioe6t2esYm7!s0>k8PT*hS}2YF=gd8=Mdwsw4mm{iX4 zC9KB~X4HHYaUtlOOzQcV1I*J~mdX1}rnF7A-x}5L*bG{%tcxVy9}C35woFAAQB$)m zvA5v6FZq`y$&9XO6S%uU&w%|VlN<;~0h^O#2rmQ-R_{ZTmk3D#NR#0RIT#*-hMzg1 zvpn8&+z;XJ{r%~KBCw-WGrThJ0)StHr@!y+_9)DF>!~2-Hk9bEFBEZN(M1v zf1%h&JT^0H|9Vu0n{9@zW{8=7p{eT3@_jAw2G)24ng42oZD+$bHQJ`f%Oasf>|gkG z5UJG&!q3TaxtwTqgOO%pEf??QDxI-PCg|tkgWom;(WS!FywW(Noge0C$QN%Y}Dn zn@3+x;BCTk1W)Q-%Nee6zS8kPX{t?=!S(MCk~d2O!8i9I$!>*Te{0?nm1Dht*m$7g zT@$Y%2c6Dv!vmA9Oa*=S9ihv-f4FIgTSmNy_Wj@Vs$Rq-7%HyPaKIiR@OSQGaaUB( z@>f{#eD{+ZjKl491T2fu>t>v08X|W?vG9|z)D6Z}e2D<$uczUoGM<|XqaewaNVnE!X%yNH1c{=Q8ESP zVG7FYNkPrnUVXVYPCw80r8p_mo7%boL>_D?(F$07F^j)n5&~w3sc+>R&tKL zcYal+DNhA;Lty2?hY#$U1=CFu$_)(0#1vodhA)iZ?K%cT>)wAOL{nFB_jE^5y+d!EH|kCchZ_tXeN(1Zzdb{P zyxpDjz)*fY_L%GF`z}nkQD{I$+mq}{LQ9*qu`->mkWuLQM= zYT)d*a8$WSHW%`!Ub9JJ?tzmm>}HoIS=M}Zr_YA*k&AF#e!qjY4d{fse{Iv5Ky$6# zGP)(_(PDaaeb4x5glo=M%(1Td65PUk$>bL$^B7s|qff!N#I>?;Edd^4UJJ!7)a|vyBJ#kPOFN&cM98?FjQ8=>+snn*OGnn#xm_PayGG z{vwCacy7-&I6LYaP%9W*f4n(3G-fXL+rw>MrXb4_xFM9BVt@Dbz37wy1}=Uo$Yq|> z-@3($BWoO*qih_KD00BB#?l6}`z{AVjS>4TFdSmp&6I9d5P{ToCoZrYg4w)IqDkKx zMOQLKj#r1p_!w7|3{*Z09bOi~N`v@G8jL@lfJXut#3iPtx|wa6e@tYs(3-W3SmU24 ziRjLOqE3;DOa^Z|PcT<4m9i#DJ<3P$e+1pqLvhj{O+22xZQ42i>HNT;I+KY5Gkr@6 zDyc+Qex9UhB7W}xT6N(v;sOImwdX9aSmv|U_h)=O*m<60 z;0+nN|H5Bb0B8rTE*^YE?yYwod}aK>FF?-PdGM9tw%&sm9NhZCGT-$z7!{r3caBYK z+EJELZ1vyZ=)J$X;%Sds3IfC%U;kdeZcSfXZuG%qb`m*Ie>NQGa0HC60TX?smNUQHHmH96pLT+DcV$~)Fh7zN{X8pMX4xm4*Ia7 zAYKT{YKavK)~Y8E=Cv-Y!VFZq{CG@3e5-P+Z@*e>9?Aq5ccx6`#Ofn-Dy{X!hO#&F zs@Y^Rn>Dkwe`O9K(4}w7L<~9O$}tLk(*jxQZ9AsI?oL}o&)Zh9Z3~6nNuC5L%rZacI5h6^fpE$aU8nvG1V^ z@1G1;VYWs?4@bGBR;|-+G9wP{5vy=_Pe1^35V~uT z;r7mg*9*l9>>(*%jNc|D?K$tJ*%s6BMC>2ff7g1xRoI-eGUkP3L+f!hOvbSt_ohsv zyY98cu?-+8-((-zgeu}wOH~k-IRp$uZdDvP;wxSXgBOd0vn9W``p{wfEpIf$e|Q?$ zc0aeoz(ZFC<8~Ls(G}hh8^hqJL$19<>~7xC(Bk7wr2McWVh z%%hT$VuH1HRWSvA*Nk@+#`oMZz@kRWs(sNw<2BE$(BXRA*SZCeSF?TSHoWiIYa<&-B8c~93}zfMDKs3F=R;bO}F)- z3}{Tnaucxe_*@&yrkRFAuQeaH9mV3BJ1YA-uw%PrciSS|HQlsi3{ z{_h9yA(0X(sqNWZ)z)=Y;%&+-#l)IBjw0}s#>x9m#%W#^{C)lE# zc+O)!$YaNYM=6O)QX-J=znkV+Nu7rPBF?APoMbfopNbT#Q)o4%c@bVFS?tSq0qc_z z>J(L$CD}FfyNc41?D40hDDt9&hdc5?c8l0~Th6p93V`r;Qs@s}R7o1sWKNV`mldUX zc1j~klmWi~j(>bvNf{B(< zLY*r@r!(KZB}EB+L;8ifNEG(Kk*|`Jl&g}GxoA;$l#oJ7zEEHGNv<6KL8nt-gyUA( zO_nb+SM+`8dw;=M@q+L+N-M+>f9~lN00&>>U*H`!hkqYQk!Ls+o{9o*^gN`|^}7gJ zc>p{5bQ-<=3b{rR^I;6+IB(B)iH#6!|=1DkPLgJa>a;CPO+S zncryJp(=DzN^2D=L9?sUd2rx7+1Ux&P4TlR5`U0D_ZaO79~O;`7g1 zVpo;czOg|;e%krTIJPqWKk}-OhRVU&U4p1OQl*p9$#Uwfz-~;VMRb`GC%tP=w_6U_mwA*`QJStCmg{Xn#0US&MebZUagP@{%(Q|vYEIA#4rctvCsL7jbyQTs zdx12JY#;$nZT7A&K!|Ie^}t({MKpKHAJ1r(lRlh`xT*4lA?ditU@@C7QT38FpW+3s05dVb>odg{$S76o{8XJ!I&Lk zJ9J@L`|t{V`G`L|I`UIxaHzz zev6+Oou}tjk?z*qlux$ooxrg^M>3jD@<~r8y~99bZrZp(dj;RmK)$7Lgp2AjP0AUG z&m$W20EsF(%Zp}A{yR+b>m=*xh79K{(ODl}7WuLy#d!>2OPWXV0GD8zIDeSVd>J8` z0U11&j;GR=9Fxug16CDxuSD=vKj=sv_YhSb4O5a`(-{+6vy0k*3zIA(#m{HIyoHf` z_gyaeU&4G=S=@Ev?5>t(FB**(Sbf_0&FbH>cF$|Mv}%abx^9f_aATl@KJ~GXeerkU zDLnkz09uC*c+d{|%+JdF^c}52dBhpVlLKfqN)Ink-*F*q`t*53Q3b1|lH)bar^cd9go%@Aw;S zc>M#DGV%vtk(P@nJ8+*!X6@FKYz86|(}LHscc5g)5eu05{1K*|4b**;p#~a%`!qh> zkDOUSt`6KrC?zgy7g`tBgdVu(py%$PL2maa(IGG$;K0A;JgHWD=j*UT+ItLIAUQeH{^#CX~HEY!T@#B+N2POgClYa*ue_MPr zq?>ID45TpZkC1(2dUF)E+s=k>YP3y{mqkK}*uU`W zAX2LlgrAe;ayilJ1}%A$PGzLcx^O~*VIS8Wu>;={zSl{{HVm5xZkf;-FrE*(7F-O+ z2pkWOyJ7lf8gf@sWQ|l=O{b*1s?u-(e_0mPTh07>R5?|h+_2Byh}gYZk211+n`C`E z7IAXx_0c6D=qa@Jp3XnrGzVQp2`w0Ee(+ECkYfoUJS;1iF{zWf?p{CMBDhtvZ~~2B zT+eaQ@?CdRr)v`A(kA+FKI){Z)C6X^SMfQA>l*4w9e@zlP zoeWOx+V*5>jMQ(o~x!gX`ZPByW}mf^Y64lHCfw{?@!DD#v;OvGG8~ zyCz;k4mzFTh6g5HnF{*uJ3^Ove{s_gw~TlZ?fbv!RlSHwFjQQn;eb6t;P2eW;;yKm z<*%^f`R*q-7>C>I2v`=Q*UdQ1G(_%(V&NxasT+)|_!0rgUr*n^!}|7;_8_Ww=BALh4;wzMqTuxIaR!_(J;~W;JR1Sgh@KjY2@{$qGSrn z!xWU)lY*MDz4~%@$bFh&10EV*4tG^zMF(-byE3IpPOJ24r1fz$ZV53~_rn!Vo zb9BPRcz<>zlfn#<1J2G)lU5CJA$I3!`nQ;**LVa2(PXt%+b^H#GbIjZmaJfd#G-6@ z`b?AP4IUGv4EEgde()Ta@*S@uJHio~KHHNS4q7`O6-BfPlal@Ag#q;rim0?dv}{eZ zE8?+_xemTwoEABE1s*tWwMuRoVm4Kr7#=%36BlbQ#WOr_vGICg=Y?MP$>3SN&-s+_|Ns@Dn^^3dB9YFHCVmSjjo| z-uYFPraTqY4S|&lA3m^a7ECuuC^s+|6H|P-8@@1tx9b=Xt$Y8C5KXBm^H}7e1WCVj zdC1wZ&K}fw1EX!@uj)gc4U5HPe-u8?vu(jj+|wOJ^$xvt-l#h*9Bwdl^i7#s{q_tE z@>X}!14H@s*ki7v@4GPFMxg;2asR~-jB@nt8G5BTZ$IWPkaoYGdo(&&ezV$hz7o_f zs)4iL!cpZS*<8q@dd((@xd%?Nu$x_;WLfjsojx1JM=ru~`TY*oHlP#kf0j*W0?oB{ z%jlMzM~msz^*!UK5w1C3F~_>*OK=PGC6iy2%wuG+k3JQ@i7GHAt-SYt+j35Urq~-> z{%^^k1sjXjy>Gm-$!Gh>2FDl;&lVooLoyt9IRo?Vwj<1Yq!Z9PY5JRPYAR1zK7qt% z`HLJvSnfOe=?E5LTlDCVvT>I zB%(V9iaJFqG8w$(JjGnKRLYtp^(Y^~{}FUc55-A;H1T-$wrS`5r}G1Y>P#jM%=9fO zsH75I`FWD2iTJIj;#MRoc*cRCLcaz-`ycSg5A+%U5S|${JEgcM;>*^*;A0^DvGW5u z*zqX_9R8Cno?$~=e^`r>9gqK=6#4cg7^zq%Y1M_xhzkrL)t1s(c@YEX6n!hOUCy5CcRkc1IJ)FifXQ!IYPr)X1|Qj!y^=kaAkH=1UR~n%pZngFwB|qfz;CCrk%Vixo*Q2xK_Dw|NdqxT&Qbj#h$4X zlPgw(e}rev!lnjaWQZXGK|KGfNaAL%72Imt@(iw_!5d2E=o|1&LA>6`SNj`ShPR4L zqaxnTAh2P(xMaS-TbhC%9t0D4Xwx3Fd4^o+?z6u z?z-0&$2NeZe3N}-6RL<$Emc8S<`6Itxm9uKh_84l3|=e}&X)Y%>H~-Ex4h91|KV9+ z+x>hX1|GUH7`MA1j;`>A*cb*!9dhj@Vt4b7h87=hBISo=!X$xKFp5%)EOmW#{Py_l zf7lzWEj9Z*L$#bzN^B>n*1a2S2BAWDR*~Y_!;ei}G^Q1cXerW)FqMT^rdfv3ZE}n5 zWFD226cbj^bAI$;o0a&$11!F)iYZJ$Jrk}n6Ft`surSiHj9)a+co8(KfxfVp1TbK1 zKUxCPz}rv6D%~58tA-ZJTj&1xgB4fVWBPLjT8OFHZXcgF(eT$n4iUgxHxx7ghe<%e z(fc223>mTnrtAAq1~jH({RtR-e6EdUQ&qz$*qV=9j$(q%au;l*OzV!{ERPj7>;It7 X<%+DoYw@{w8uNbv9QkeH2x9;M9mc;> diff --git a/ESP32_AP-Flasher/src/tag_db.cpp b/ESP32_AP-Flasher/src/tag_db.cpp index 0b909e1b..02d5b766 100644 --- a/ESP32_AP-Flasher/src/tag_db.cpp +++ b/ESP32_AP-Flasher/src/tag_db.cpp @@ -253,7 +253,7 @@ bool loadDB(const String& filename) { } void destroyDB() { - Serial.println("destoying DB"); + Serial.println("destroying DB"); util::printHeap(); for (tagRecord*& tag : tagDB) { if (tag->data != nullptr) { diff --git a/ESP32_AP-Flasher/wwwroot/main.js b/ESP32_AP-Flasher/wwwroot/main.js index 29152c9b..2356971e 100644 --- a/ESP32_AP-Flasher/wwwroot/main.js +++ b/ESP32_AP-Flasher/wwwroot/main.js @@ -1323,7 +1323,7 @@ const downloadTagtype = async (hwtype) => { try { console.log("download tagtype " + hwtype); let repo = apConfig.repo || 'jjwbruijn/OpenEPaperLink'; - let url = "https://raw.githubusercontent.com/" + repo + "/master/ESP32_AP-Flasher/resources/tagtypes/" + hwtype + ".json"; + let url = "https://raw.githubusercontent.com/" + repo + "/master/resources/tagtypes/" + hwtype + ".json"; console.log(url); const response = await fetch(url); diff --git a/ESP32_AP-Flasher/wwwroot/ota.js b/ESP32_AP-Flasher/wwwroot/ota.js index 4157ab20..25d25974 100644 --- a/ESP32_AP-Flasher/wwwroot/ota.js +++ b/ESP32_AP-Flasher/wwwroot/ota.js @@ -611,7 +611,7 @@ async function fetchAndCheckTagtypes(cleanup) { } if (check) { - let githubUrl = "https://raw.githubusercontent.com/" + repo + "/master/ESP32_AP-Flasher/resources/tagtypes/" + filename; + let githubUrl = "https://raw.githubusercontent.com/" + repo + "/master/resources/tagtypes/" + filename; const localResponse = await fetch(`/tagtypes/${filename}`); const localJson = await localResponse.json();