diff --git a/ESP32_AP-Flasher/data/www/content_cards.json.gz b/ESP32_AP-Flasher/data/www/content_cards.json.gz index 6878c887..5b119d64 100644 Binary files a/ESP32_AP-Flasher/data/www/content_cards.json.gz and b/ESP32_AP-Flasher/data/www/content_cards.json.gz differ diff --git a/ESP32_AP-Flasher/data/www/edit.html.gz b/ESP32_AP-Flasher/data/www/edit.html.gz index c0333952..6cb4e4be 100644 Binary files a/ESP32_AP-Flasher/data/www/edit.html.gz and b/ESP32_AP-Flasher/data/www/edit.html.gz differ diff --git a/ESP32_AP-Flasher/data/www/g5decoder.js.gz b/ESP32_AP-Flasher/data/www/g5decoder.js.gz new file mode 100644 index 00000000..54f59065 Binary files /dev/null and b/ESP32_AP-Flasher/data/www/g5decoder.js.gz differ diff --git a/ESP32_AP-Flasher/data/www/index.html.gz b/ESP32_AP-Flasher/data/www/index.html.gz index ee804f7c..b34f8654 100644 Binary files a/ESP32_AP-Flasher/data/www/index.html.gz and b/ESP32_AP-Flasher/data/www/index.html.gz differ diff --git a/ESP32_AP-Flasher/data/www/main.js.gz b/ESP32_AP-Flasher/data/www/main.js.gz index d1336d6e..b6d3d65a 100644 Binary files a/ESP32_AP-Flasher/data/www/main.js.gz and b/ESP32_AP-Flasher/data/www/main.js.gz differ diff --git a/ESP32_AP-Flasher/src/contentmanager.cpp b/ESP32_AP-Flasher/src/contentmanager.cpp index 82f4eb24..9e5be2c0 100644 --- a/ESP32_AP-Flasher/src/contentmanager.cpp +++ b/ESP32_AP-Flasher/src/contentmanager.cpp @@ -222,11 +222,15 @@ void drawNew(const uint8_t mac[8], tagRecord *&taginfo) { } else { imageParams.zlib = 0; } +#ifdef SAVE_SPACE + imageParams.g5 = 0; +#else if (hwdata.g5 != 0 && taginfo->tagSoftwareVersion >= hwdata.g5) { imageParams.g5 = 1; } else { imageParams.g5 = 0; } +#endif imageParams.lut = EPD_LUT_NO_REPEATS; if (taginfo->lut == 2) imageParams.lut = EPD_LUT_FAST_NO_REDS; @@ -285,6 +289,9 @@ void drawNew(const uint8_t mac[8], tagRecord *&taginfo) { if (imageParams.bpp == 3) { imageParams.dataType = DATATYPE_IMG_RAW_3BPP; Serial.println("datatype: DATATYPE_IMG_RAW_3BPP"); + } else if (imageParams.bpp == 4) { + imageParams.dataType = DATATYPE_IMG_RAW_4BPP; + Serial.println("datatype: DATATYPE_IMG_RAW_4BPP"); } else if (imageParams.zlib) { imageParams.dataType = DATATYPE_IMG_ZLIB; Serial.println("datatype: DATATYPE_IMG_ZLIB"); @@ -448,13 +455,6 @@ void drawNew(const uint8_t mac[8], tagRecord *&taginfo) { taginfo->nextupdate = 3216153600; prepareNFCReq(mac, cfgobj["url"].as()); break; - - case 15: // send gray LUT - - taginfo->nextupdate = 3216153600; - prepareLUTreq(mac, cfgobj["bytes"]); - taginfo->hasCustomLUT = true; - break; #endif #ifdef CONTENT_BUIENRADAR @@ -571,6 +571,9 @@ bool updateTagImage(String &filename, const uint8_t *dst, uint16_t nextCheckin, if (imageParams.bpp == 3) { imageParams.dataType = DATATYPE_IMG_RAW_3BPP; Serial.println("datatype: DATATYPE_IMG_RAW_3BPP"); + } else if (imageParams.bpp == 4) { + imageParams.dataType = DATATYPE_IMG_RAW_4BPP; + Serial.println("datatype: DATATYPE_IMG_RAW_4BPP"); } else if (imageParams.zlib) { imageParams.dataType = DATATYPE_IMG_ZLIB; Serial.println("datatype: DATATYPE_IMG_ZLIB"); @@ -1466,7 +1469,7 @@ uint16_t getPercentileColor(const double *prices, int numPrices, double price, H const double *boundaries; int numColors, numBoundaries; - if (hwdata.bpp == 3) { + if (hwdata.bpp == 3 || hwdata.bpp == 4) { colors = colors3bpp; boundaries = boundaries3bpp; numColors = sizeof(colors3bpp) / sizeof(colors3bpp[0]); @@ -2353,20 +2356,6 @@ void prepareNFCReq(const uint8_t *dst, const char *url) { len = 1 + len; prepareDataAvail(data, len, DATATYPE_NFC_RAW_CONTENT, dst); } - -void prepareLUTreq(const uint8_t *dst, const String &input) { - constexpr const char *delimiters = ", \t"; - constexpr const int maxValues = 76; - uint8_t waveform[maxValues]; - char *ptr = strtok(const_cast(input.c_str()), delimiters); - int i = 0; - while (ptr != nullptr && i < maxValues) { - waveform[i++] = static_cast(strtol(ptr, nullptr, 16)); - ptr = strtok(nullptr, delimiters); - } - const size_t waveformLen = sizeof(waveform); - prepareDataAvail(waveform, waveformLen, DATATYPE_CUSTOM_LUT_OTA, dst); -} #endif #ifdef CONTENT_TAGCFG diff --git a/ESP32_AP-Flasher/src/makeimage.cpp b/ESP32_AP-Flasher/src/makeimage.cpp index 92332869..0234f1f2 100644 --- a/ESP32_AP-Flasher/src/makeimage.cpp +++ b/ESP32_AP-Flasher/src/makeimage.cpp @@ -16,8 +16,10 @@ #endif #include "commstructs.h" +#ifndef SAVE_SPACE #include "g5/Group5.h" #include "g5/g5enc.inl" +#endif TFT_eSPI tft = TFT_eSPI(); TFT_eSprite spr = TFT_eSprite(&tft); @@ -138,10 +140,10 @@ void spr2color(TFT_eSprite &spr, imgParam &imageParams, uint8_t *buffer, size_t if (imageParams.dither == 2) { // Ordered dithering - uint8_t ditherValue = ditherMatrix[y % 4][x % 4] << (imageParams.bpp == 3 ? 2 : 4); - error_bufferold[x].r = ditherValue - (imageParams.bpp == 3 ? 30 : 120); // * 256 / 16 - 128 + 8 - error_bufferold[x].g = ditherValue - (imageParams.bpp == 3 ? 30 : 120); - error_bufferold[x].b = ditherValue - (imageParams.bpp == 3 ? 30 : 120); + uint8_t ditherValue = ditherMatrix[y % 4][x % 4] << (imageParams.bpp >= 3 ? 2 : 4); + error_bufferold[x].r = ditherValue - (imageParams.bpp >= 3 ? 30 : 120); // * 256 / 16 - 128 + 8 + error_bufferold[x].g = ditherValue - (imageParams.bpp >= 3 ? 30 : 120); + error_bufferold[x].b = ditherValue - (imageParams.bpp >= 3 ? 30 : 120); } int best_color_index = 0; @@ -156,7 +158,7 @@ void spr2color(TFT_eSprite &spr, imgParam &imageParams, uint8_t *buffer, size_t } } - if (imageParams.bpp == 3) { + if (imageParams.bpp == 3 || imageParams.bpp == 4) { size_t byteIndex = bitOffset / 8; uint8_t bitIndex = bitOffset % 8; @@ -246,9 +248,9 @@ size_t prepareHeader(uint8_t headerbuf[], uint16_t bufw, uint16_t bufh, imgParam memcpy(headerbuf + (imageParams.rotatebuffer % 2 == 1 ? 3 : 1), &bufw, sizeof(uint16_t)); memcpy(headerbuf + (imageParams.rotatebuffer % 2 == 1 ? 1 : 3), &bufh, sizeof(uint16_t)); - if (imageParams.bpp == 3) { - totalbytes = buffer_size * 3 + headersize; - headerbuf[5] = 3; + if (imageParams.bpp == 3 || imageParams.bpp == 4) { + totalbytes = buffer_size * imageParams.bpp + headersize; + headerbuf[5] = imageParams.bpp; } else if (imageParams.hasRed && imageParams.bpp > 1) { totalbytes = buffer_size * 2 + headersize; headerbuf[5] = 2; @@ -289,6 +291,7 @@ void rewriteHeader(File &f_out) { f_out.write(flg); } +#ifndef SAVE_SPACE uint8_t *g5Compress(uint16_t width, uint16_t height, uint8_t *buffer, uint16_t buffersize, uint16_t &outBufferSize) { G5ENCIMAGE g5enc; int rc; @@ -312,6 +315,7 @@ uint8_t *g5Compress(uint16_t width, uint16_t height, uint8_t *buffer, uint16_t b } return outbuffer; } +#endif void spr2buffer(TFT_eSprite &spr, String &fileout, imgParam &imageParams) { long t = millis(); @@ -406,6 +410,7 @@ void spr2buffer(TFT_eSprite &spr, String &fileout, imgParam &imageParams) { free(comp); rewriteHeader(f_out); +#ifndef SAVE_SPACE } else if (imageParams.g5) { // handling for G5-compressed image data @@ -468,6 +473,7 @@ void spr2buffer(TFT_eSprite &spr, String &fileout, imgParam &imageParams) { } f_out.write(buffer, buffer_size); } +#endif } else { f_out.write(buffer, buffer_size); if (imageParams.hasRed && imageParams.bpp > 1) { @@ -479,9 +485,10 @@ void spr2buffer(TFT_eSprite &spr, String &fileout, imgParam &imageParams) { free(buffer); } break; - case 3: { + case 3: + case 4: { long bufw = spr.width(), bufh = spr.height(); - size_t buffer_size = (bufw * bufh) / 8 * 3; + size_t buffer_size = (bufw * bufh) / 8 * imageParams.bpp; uint8_t *buffer = (uint8_t *)ps_malloc(buffer_size); if (!buffer) { Serial.println("Failed to allocate buffer"); diff --git a/ESP32_AP-Flasher/wwwroot/content_cards.json b/ESP32_AP-Flasher/wwwroot/content_cards.json index ded082c3..c44262b4 100644 --- a/ESP32_AP-Flasher/wwwroot/content_cards.json +++ b/ESP32_AP-Flasher/wwwroot/content_cards.json @@ -593,21 +593,6 @@ } ] }, - { - "id": 15, - "name": "Send custom LUT", - "desc": "EXPERIMENTAL. Don't use. YOU RISK DAMAGING YOUR SCREEN.", - "capabilities": 4, - "properties": [ "savespace" ], - "param": [ - { - "key": "bytes", - "name": "bytes", - "desc": "76 bytes, formatted as 0x00,0x00,...", - "type": "text" - } - ] - }, { "id": 17, "name": "Send Command", diff --git a/oepl-definitions.h b/oepl-definitions.h index 66ea8c9f..50049a12 100755 --- a/oepl-definitions.h +++ b/oepl-definitions.h @@ -7,12 +7,6 @@ #define SOLUM_42_SSD1619 0x02 #define SOLUM_SEG_UK 0xF0 #define SOLUM_SEG_EU 0xF1 -#define RESERVED_TESTING 0xFE -#define SOLUM_NODISPLAY 0xFF -#define ESP32_C6 0xC6 - - - // overflow #define SOLUM_M2_BWR_16 0x20 @@ -24,8 +18,6 @@ #define SOLUM_M2_BW_75 0x26 #define SOLUM_M2_BW_29 0x27 - - #define SOLUM_M3_BWR_97 0x2E #define SOLUM_M3_BWR_43 0x2F @@ -50,7 +42,6 @@ #define SOLUM_M3_BWR_116 0x37 #define SOLUM_M3_BWY_116 0x3F - // M3 Tags overflow #define SOLUM_M3_BW_29 0x40 #define SOLUM_M3_BWR_58 0x41 @@ -80,7 +71,6 @@ #define GICI_BLE_TFT_21_BW 0xBA #define GICI_BLE_EPD_BWR_29_SILABS 0xBD #define GICI_BLE_UNKNOWN 0xBF -#define ATC_MI_THERMOMETER 0xBE // Solum types - customer data byte 16 in M3 (nRF) UICR #define STYPE_SIZE_016 0x40 @@ -98,6 +88,16 @@ #define STYPE_SIZE_097 0x64 #define STYPE_SIZE_013 0x4D +// Various types +#define ATC_MI_THERMOMETER 0xBE +#define RESERVED_TESTING 0xFE +#define SOLUM_NODISPLAY 0xFF +#define ESP32_C6 0xC6 + +#define BWRY_29 0xC0 +#define ACEP_40 0xC1 +#define SPECTRA_73 0xC2 + @@ -119,6 +119,7 @@ #define DATATYPE_IMG_RAW_1BPP 0x20 // 2888 bytes for 1.54" / 4736 2.9" / 15000 4.2" #define DATATYPE_IMG_RAW_2BPP 0x21 // 5776 bytes for 1.54" / 9472 2.9" / 30000 4.2" #define DATATYPE_IMG_RAW_3BPP 0x22 // ACEP +#define DATATYPE_IMG_RAW_4BPP 0x23 // Spectra #define DATATYPE_IMG_ZLIB 0x30 // compressed format. // [uint32_t uncompressed size][2 byte zlib header][zlib compressed image] // image format: [uint8_t header length][uint16_t width][uint16_t height][uint8_t bpp (lower 4)][img data] diff --git a/resources/tagtypes/00.json b/resources/tagtypes/00.json index d47310c6..917c347b 100644 --- a/resources/tagtypes/00.json +++ b/resources/tagtypes/00.json @@ -1,5 +1,5 @@ { - "version": 3, + "version": 4, "name": "M2 1.54\"", "width": 152, "height": 152, @@ -13,7 +13,7 @@ "g5_compression": "29", "shortlut": 2, "options": [ "button", "customlut" ], - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 10, 14, 15, 17, 18, 19, 20, 21, 27 ], + "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 10, 14, 17, 18, 19, 20, 21, 27 ], "template": { "1": { "weekday": [ 76, 9, "fonts/calibrib30" ], diff --git a/resources/tagtypes/01.json b/resources/tagtypes/01.json index 61149af8..a2809539 100644 --- a/resources/tagtypes/01.json +++ b/resources/tagtypes/01.json @@ -1,5 +1,5 @@ { - "version": 3, + "version": 4, "name": "M2 2.9\"", "width": 296, "height": 128, @@ -13,7 +13,7 @@ "g5_compression": "29", "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 ], + "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 16, 17, 18, 19, 20, 21, 27 ], "template": { "1": { "weekday": [ 148, -3, "Signika-SB.ttf", 60 ], diff --git a/resources/tagtypes/03.json b/resources/tagtypes/03.json index 378475ac..70b7e959 100644 --- a/resources/tagtypes/03.json +++ b/resources/tagtypes/03.json @@ -1,5 +1,5 @@ { - "version": 5, + "version": 6, "name": "M2 2.2\"", "width": 212, "height": 104, @@ -13,7 +13,7 @@ "g5_compression": "29", "shortlut": 2, "options": [ "button", "customlut" ], - "contentids": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 19, 20, 21, 22, 23, 27 ], + "contentids": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 16, 17, 19, 20, 21, 22, 23, 27 ], "template": { "1": { "weekday": [ 106, 5, "fonts/calibrib40", 40 ], diff --git a/resources/tagtypes/04.json b/resources/tagtypes/04.json index c8aeae10..fcb944af 100644 --- a/resources/tagtypes/04.json +++ b/resources/tagtypes/04.json @@ -1,5 +1,5 @@ { - "version": 3, + "version": 4, "name": "M2 2.6\"", "width": 296, "height": 152, @@ -13,7 +13,7 @@ "g5_compression": "29", "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 ], + "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 16, 17, 18, 19, 20, 21, 27 ], "template": { "1": { "weekday": [ 148, 9, "Signika-SB.ttf", 60 ], diff --git a/resources/tagtypes/06.json b/resources/tagtypes/06.json index 74de7fef..7dcfc367 100644 --- a/resources/tagtypes/06.json +++ b/resources/tagtypes/06.json @@ -1,5 +1,5 @@ { - "version": 2, + "version": 3, "name": "Opticon 2.2\"", "width": 250, "height": 128, @@ -14,6 +14,6 @@ "g5_compression": "29", "shortlut": 0, "options": [ "led" ], - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 27 ], + "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 14, 16, 17, 18, 19, 20, 21, 27 ], "usetemplate": 177 } diff --git a/resources/tagtypes/07.json b/resources/tagtypes/07.json index efaca8b2..5e6cefb0 100644 --- a/resources/tagtypes/07.json +++ b/resources/tagtypes/07.json @@ -1,5 +1,5 @@ { - "version": 2, + "version": 3, "name": "Opticon 2.9\"", "width": 296, "height": 128, @@ -14,6 +14,6 @@ "g5_compression": "29", "shortlut": 2, "options": [ "led" ], - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 27 ], + "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 14, 16, 17, 18, 19, 20, 21, 27 ], "usetemplate": 1 } diff --git a/resources/tagtypes/11.json b/resources/tagtypes/11.json index e817b74b..df67fd40 100644 --- a/resources/tagtypes/11.json +++ b/resources/tagtypes/11.json @@ -1,5 +1,5 @@ { - "version": 2, + "version": 3, "name": "M2 2.9\" (UC8151)", "width": 296, "height": 128, @@ -13,6 +13,6 @@ "g5_compression": "29", "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 ], + "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 14, 16, 17, 18, 19, 20, 21, 27 ], "usetemplate": 1 } diff --git a/resources/tagtypes/21.json b/resources/tagtypes/21.json index 9e863aae..081bd9db 100644 --- a/resources/tagtypes/21.json +++ b/resources/tagtypes/21.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "name": "ST‐GM29XXF 2.9\"", "width": 296, "height": 128, @@ -12,6 +12,6 @@ "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 ], + "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 16, 17, 18, 19, 20, 21 ], "usetemplate": 1 } diff --git a/resources/tagtypes/27.json b/resources/tagtypes/27.json index e3fdbe3e..645b887f 100644 --- a/resources/tagtypes/27.json +++ b/resources/tagtypes/27.json @@ -1,5 +1,5 @@ { - "version": 2, + "version": 3, "name": "ST‐GM29MT1 2.9\"", "width": 296, "height": 128, @@ -13,6 +13,6 @@ "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 ], + "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 16, 17, 18, 19, 20, 21 ], "usetemplate": 1 } diff --git a/resources/tagtypes/30.json b/resources/tagtypes/30.json index 98b47d80..2ac92231 100644 --- a/resources/tagtypes/30.json +++ b/resources/tagtypes/30.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "name": "M3 1.6\"", "width": 200, "height": 200, @@ -14,7 +14,7 @@ "shortlut": 0, "zlib_compression": "27", "options": [ "button" ], - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 10, 14, 15, 17, 18, 19, 20, 21 ], + "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 10, 14, 17, 18, 19, 20, 21 ], "template": { "1": { "weekday": [ 100, 5, "fonts/calibrib40" ], diff --git a/resources/tagtypes/43.json b/resources/tagtypes/43.json index 05f67080..2c2a50a1 100644 --- a/resources/tagtypes/43.json +++ b/resources/tagtypes/43.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "name": "M3 1.3\" Peghook", "width": 144, "height": 200, @@ -14,7 +14,7 @@ "shortlut": 0, "zlib_compression": "27", "options": [ "button" ], - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 10, 14, 15, 17, 18, 19, 20, 21 ], + "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 10, 14, 17, 18, 19, 20, 21 ], "template": { "1": { "weekday": [ 72, 12, "fonts/calibrib28" ], diff --git a/resources/tagtypes/45.json b/resources/tagtypes/45.json index 4a6bd7b4..54dfbd87 100644 --- a/resources/tagtypes/45.json +++ b/resources/tagtypes/45.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "name": "M3 2.2 Lite\"", "width": 250, "height": 128, @@ -13,7 +13,7 @@ "shortlut": 0, "zlib_compression": "27", "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 ], + "contentids": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 17, 19, 20, 21, 22, 23, 27 ], "template": { "1": { diff --git a/resources/tagtypes/54.json b/resources/tagtypes/54.json index 33c2934a..f421cd88 100644 --- a/resources/tagtypes/54.json +++ b/resources/tagtypes/54.json @@ -1,5 +1,5 @@ { - "version": 2, + "version": 3, "name": "HS BW 2.13\"", "width": 256, "height": 128, @@ -12,7 +12,7 @@ "shortlut": 0, "zlib_compression": "27", "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 ], + "contentids": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 17, 19, 20, 21, 22, 23, 27 ], "template": { "1": { diff --git a/resources/tagtypes/55.json b/resources/tagtypes/55.json index 286ebc19..1d22c378 100644 --- a/resources/tagtypes/55.json +++ b/resources/tagtypes/55.json @@ -1,5 +1,5 @@ { - "version": 3, + "version": 4, "name": "HS BWR 2.13\"", "width": 256, "height": 128, @@ -13,7 +13,7 @@ "shortlut": 0, "zlib_compression": "27", "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 ], + "contentids": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 17, 19, 20, 21, 22, 23, 27 ], "template": { "1": { diff --git a/resources/tagtypes/56.json b/resources/tagtypes/56.json index 3bfa906b..5622a40b 100644 --- a/resources/tagtypes/56.json +++ b/resources/tagtypes/56.json @@ -1,5 +1,5 @@ { - "version": 4, + "version": 5, "name": "HS BWR 2.66\"", "width": 296, "height": 152, @@ -13,7 +13,7 @@ "shortlut": 0, "zlib_compression": "27", "options": [ "led" ], - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 15, 16, 17, 18, 19, 20, 21, 27 ], + "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 16, 17, 18, 19, 20, 21, 27 ], "template": { "1": { "weekday": [ 148, 9, "Signika-SB.ttf", 60 ], diff --git a/resources/tagtypes/57.json b/resources/tagtypes/57.json index 47bf694e..ecf6553e 100644 --- a/resources/tagtypes/57.json +++ b/resources/tagtypes/57.json @@ -1,5 +1,5 @@ { - "version": 2, + "version": 3, "name": "TLSR BWR 1.54\"", "width": 200, "height": 200, @@ -13,7 +13,7 @@ "shortlut": 2, "zlib_compression": "27", "options": ["button", "customlut"], - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 10, 14, 15, 17, 18, 19, 20, 21], + "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 10, 14, 17, 18, 19, 20, 21], "template": { "1": { "weekday": [ 100, 5, "Signika-SB.ttf", 40 ], diff --git a/resources/tagtypes/58.json b/resources/tagtypes/58.json index 07229c54..f97e77cb 100644 --- a/resources/tagtypes/58.json +++ b/resources/tagtypes/58.json @@ -1,5 +1,5 @@ { - "version": 2, + "version": 3, "name": "TLSR BW 2.13\"", "width": 256, "height": 128, @@ -14,7 +14,7 @@ "shortlut": 0, "zlib_compression": "27", "options": ["led"], - "contentids": [ 22, 23, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20 ], + "contentids": [ 22, 23, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 17, 18, 19, 20 ], "template": { "1": { diff --git a/resources/tagtypes/59.json b/resources/tagtypes/59.json index d69fc765..e006d807 100644 --- a/resources/tagtypes/59.json +++ b/resources/tagtypes/59.json @@ -1,5 +1,5 @@ { - "version": 2, + "version": 3, "name": "TLSR BWR 2.13\"", "width": 264, "height": 136, @@ -15,7 +15,7 @@ "shortlut": 0, "zlib_compression": "27", "options": ["led"], - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 19, 20 ], + "contentids": [ 22, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 17, 18, 19, 20 ], "template": { "1": { "weekday": [ 148, -3, "Signika-SB.ttf", 60 ], diff --git a/resources/tagtypes/60.json b/resources/tagtypes/60.json index 943ee50c..d76f9dc6 100644 --- a/resources/tagtypes/60.json +++ b/resources/tagtypes/60.json @@ -1,5 +1,5 @@ { - "version": 3, + "version": 4, "name": "HS BWY 3.5\"", "width": 384, "height": 184, @@ -14,7 +14,7 @@ "shortlut": 0, "zlib_compression": "27", "options": [ "led" ], - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 19, 20, 27 ], + "contentids": [ 22, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 17, 18, 19, 20, 27 ], "usetemplate": 51, "template": { "27": { diff --git a/resources/tagtypes/61.json b/resources/tagtypes/61.json index 24bc9d74..7b176e5b 100644 --- a/resources/tagtypes/61.json +++ b/resources/tagtypes/61.json @@ -1,5 +1,5 @@ { - "version": 2, + "version": 3, "name": "HS BWR 3.5\"", "width": 384, "height": 184, @@ -13,6 +13,6 @@ "shortlut": 0, "zlib_compression": "27", "options": [ "led" ], - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 19, 20 ], + "contentids": [ 22, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 17, 18, 19, 20 ], "usetemplate": 51 } diff --git a/resources/tagtypes/62.json b/resources/tagtypes/62.json index db5ea8ca..f5600d1d 100644 --- a/resources/tagtypes/62.json +++ b/resources/tagtypes/62.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "name": "HS BW 3.5\"", "width": 384, "height": 184, @@ -12,6 +12,6 @@ "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 ], + "contentids": [ 22, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 17, 18, 19, 20 ], "usetemplate": 51 } diff --git a/resources/tagtypes/63.json b/resources/tagtypes/63.json index 81346221..0e055339 100644 --- a/resources/tagtypes/63.json +++ b/resources/tagtypes/63.json @@ -1,5 +1,5 @@ { - "version": 2, + "version": 3, "name": "TLSR BWR 4.2\"", "width": 400, "height": 304, @@ -13,7 +13,7 @@ "shortlut": 0, "zlib_compression": "27", "options": ["led"], - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 19, 20 ], + "contentids": [ 22, 23, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 17, 18, 19, 20 ], "template": { "1": { diff --git a/resources/tagtypes/67.json b/resources/tagtypes/67.json index 6e7da219..522764e4 100644 --- a/resources/tagtypes/67.json +++ b/resources/tagtypes/67.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "name": "HS 2.00\" BWY", "width": 152, "height": 200, @@ -14,7 +14,7 @@ "shortlut": 2, "zlib_compression": "27", "options": [ "button", "customlut" ], - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 10, 14, 15, 17, 18, 19, 20, 21 ], + "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 10, 14, 17, 18, 19, 20, 21 ], "template": { "1": { "weekday": [ 76, 9, "fonts/calibrib30" ], diff --git a/resources/tagtypes/68.json b/resources/tagtypes/68.json index 28421cdf..52e4617d 100644 --- a/resources/tagtypes/68.json +++ b/resources/tagtypes/68.json @@ -1,5 +1,5 @@ { - "version": 2, + "version": 3, "name": "HS BWY 3.46\"", "width": 480, "height": 176, @@ -14,7 +14,7 @@ "shortlut": 0, "zlib_compression": "27", "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 ], + "contentids": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 17, 19, 20, 21, 22, 23, 27 ], "template": { "1": { diff --git a/resources/tagtypes/69.json b/resources/tagtypes/69.json index c9d9eb93..1db87ccd 100644 --- a/resources/tagtypes/69.json +++ b/resources/tagtypes/69.json @@ -1,5 +1,5 @@ { - "version": 2, + "version": 3, "name": "TLSR BW 2.13\"", "width": 250, "height": 136, @@ -12,7 +12,7 @@ "shortlut": 0, "zlib_compression": "27", "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 ], + "contentids": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 17, 19, 20, 21, 22, 23, 27 ], "template": { "1": { diff --git a/resources/tagtypes/81.json b/resources/tagtypes/81.json index 3f52f89b..33397a09 100644 --- a/resources/tagtypes/81.json +++ b/resources/tagtypes/81.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "name": "Chroma29 2.9\" (UC8154)", "width": 296, "height": 128, @@ -11,6 +11,6 @@ "red": [255, 0, 0] }, "shortlut": 0, - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 27], + "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 14, 16, 17, 18, 19, 20, 21, 27], "usetemplate": 1 } diff --git a/resources/tagtypes/82.json b/resources/tagtypes/82.json index 9ffc7ead..facc4c46 100644 --- a/resources/tagtypes/82.json +++ b/resources/tagtypes/82.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "name": "Chroma29 2.9\"", "width": 296, "height": 128, @@ -11,6 +11,6 @@ "red": [255, 0, 0] }, "shortlut": 0, - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 14, 15, 16, 17, 18, 19, 20, 21, 27], + "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 14, 16, 17, 18, 19, 20, 21, 27], "usetemplate": 1 } diff --git a/resources/tagtypes/B0.json b/resources/tagtypes/B0.json index 0ec59d23..416fcb43 100644 --- a/resources/tagtypes/B0.json +++ b/resources/tagtypes/B0.json @@ -1,5 +1,5 @@ { - "version": 4, + "version": 5, "name": "Gicisky BLE EPD BW 2.13\"", "width": 250, "height": 128, @@ -10,7 +10,7 @@ "black": [ 0, 0, 0 ] }, "shortlut": 0, - "contentids": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 27 ], + "contentids": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 17, 19, 20, 21, 22, 23, 27 ], "template": { "1": { diff --git a/resources/tagtypes/B1.json b/resources/tagtypes/B1.json index d0a676fb..db422fcd 100644 --- a/resources/tagtypes/B1.json +++ b/resources/tagtypes/B1.json @@ -1,5 +1,5 @@ { - "version": 4, + "version": 5, "name": "Gicisky BLE EPD BWR 2.13\"", "width": 250, "height": 128, @@ -11,7 +11,7 @@ "red": [ 255, 0, 0 ] }, "shortlut": 0, - "contentids": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 27 ], + "contentids": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 17, 19, 20, 21, 22, 23, 27 ], "template": { "1": { diff --git a/resources/tagtypes/B2.json b/resources/tagtypes/B2.json index e252c02d..5ea7cc17 100644 --- a/resources/tagtypes/B2.json +++ b/resources/tagtypes/B2.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "name": "Gicisky BLE EPD BW 2.9\"", "width": 296, "height": 128, @@ -11,6 +11,6 @@ }, "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 ], + "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 16, 17, 18, 19, 20, 21 ], "usetemplate": 1 } diff --git a/resources/tagtypes/B3.json b/resources/tagtypes/B3.json index e574269e..afb8c951 100644 --- a/resources/tagtypes/B3.json +++ b/resources/tagtypes/B3.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "name": "Gicisky BLE EPD BWR 2.9\"", "width": 296, "height": 128, @@ -10,6 +10,6 @@ "black": [ 0, 0, 0 ], "red": [ 255, 0, 0 ] }, - "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 15, 16, 17, 18, 19, 20, 21, 27 ], + "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 16, 17, 18, 19, 20, 21, 27 ], "usetemplate": 1 } diff --git a/resources/tagtypes/BA.json b/resources/tagtypes/BA.json index 12742c89..1c251774 100644 --- a/resources/tagtypes/BA.json +++ b/resources/tagtypes/BA.json @@ -1,5 +1,5 @@ { - "version": 4, + "version": 5, "name": "Gicisky BLE TFT 2.13\"", "width": 250, "height": 136, @@ -10,7 +10,7 @@ "black": [ 0, 0, 0 ] }, "shortlut": 0, - "contentids": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 27 ], + "contentids": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 17, 19, 20, 21, 22, 23, 27 ], "template": { "1": { diff --git a/resources/tagtypes/C0.json b/resources/tagtypes/C0.json new file mode 100644 index 00000000..6080e2fc --- /dev/null +++ b/resources/tagtypes/C0.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "name": "BWRY example", + "width": 360, + "height": 184, + "rotatebuffer": 1, + "bpp": 2, + "colortable": { + "black": [ 0, 0, 0 ], + "white": [ 255, 255, 255 ], + "yellow": [ 255, 255, 0 ], + "red": [ 255, 0, 0 ] + }, + "shortlut": 0, + "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 16, 17, 18, 19, 20, 26 ], + "usetemplate": 1 +} diff --git a/resources/tagtypes/C1.json b/resources/tagtypes/C1.json new file mode 100644 index 00000000..fd172f6a --- /dev/null +++ b/resources/tagtypes/C1.json @@ -0,0 +1,21 @@ +{ + "version": 1, + "name": "ACeP 4.01", + "width": 640, + "height": 400, + "rotatebuffer": 0, + "bpp": 3, + "colortable": { + "black": [ 0, 0, 0 ], + "white": [ 255, 255, 255 ], + "green": [ 0, 255, 0 ], + "blue": [ 0, 0, 255 ], + "red": [ 255, 0, 0 ], + "yellow": [ 255, 255, 0 ], + "orange": [ 255, 128, 0 ] + }, + "highlight_color": 8, + "shortlut": 0, + "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 16, 17, 18, 19, 20, 26, 27 ], + "usetemplate": 5 +} diff --git a/resources/tagtypes/C2.json b/resources/tagtypes/C2.json new file mode 100644 index 00000000..8c5a6284 --- /dev/null +++ b/resources/tagtypes/C2.json @@ -0,0 +1,20 @@ +{ + "version": 1, + "name": "Spectra 7.3", + "width": 800, + "height": 480, + "rotatebuffer": 0, + "bpp": 4, + "colortable": { + "black": [ 0, 0, 0 ], + "white": [ 255, 255, 255 ], + "yellow": [ 255, 255, 0 ], + "red": [ 255, 0, 0 ], + "blue": [ 0, 0, 255 ], + "green": [ 0, 255, 0 ] + }, + "highlight_color": 8, + "shortlut": 0, + "contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 16, 17, 18, 19, 20, 26, 27 ], + "usetemplate": 54 +}