diff --git a/ESP32_AP-Flasher/data/fonts/twcondensed20.vlw b/ESP32_AP-Flasher/data/fonts/twcondensed20.vlw index 01bda1fa..39a9758e 100644 Binary files a/ESP32_AP-Flasher/data/fonts/twcondensed20.vlw and b/ESP32_AP-Flasher/data/fonts/twcondensed20.vlw differ diff --git a/ESP32_AP-Flasher/data/www/content_cards.json.gz b/ESP32_AP-Flasher/data/www/content_cards.json.gz index ba51825e..7a009a47 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/index.html.gz b/ESP32_AP-Flasher/data/www/index.html.gz index 9703f1c0..7b5cd87d 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 1f667b1c..f9ce4bf6 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/include/makeimage.h b/ESP32_AP-Flasher/include/makeimage.h index c3a65e27..1214e531 100644 --- a/ESP32_AP-Flasher/include/makeimage.h +++ b/ESP32_AP-Flasher/include/makeimage.h @@ -3,6 +3,8 @@ #pragma once +#include "tag_db.h" + extern TFT_eSPI tft; #define SHORTLUT_DISABLED 0 @@ -10,10 +12,12 @@ extern TFT_eSPI tft; #define SHORTLUT_ALLOWED 2 struct imgParam { + HwType hwdata; + bool hasRed; uint8_t dataType; uint8_t dither; - bool grayLut = false; + // bool grayLut = false; uint8_t bufferbpp = 8; uint8_t rotate = 0; uint16_t highlightColor = 2; diff --git a/ESP32_AP-Flasher/include/tag_db.h b/ESP32_AP-Flasher/include/tag_db.h index 3abae83b..42a44097 100644 --- a/ESP32_AP-Flasher/include/tag_db.h +++ b/ESP32_AP-Flasher/include/tag_db.h @@ -76,7 +76,15 @@ struct Config { String env; }; +struct Color { + uint8_t r, g, b; + Color() : r(0), g(0), b(0) {} + Color(uint16_t value_) : r((value_ >> 8) & 0xF8 | (value_ >> 13) & 0x07), g((value_ >> 3) & 0xFC | (value_ >> 9) & 0x03), b((value_ << 3) & 0xF8 | (value_ >> 2) & 0x07) {} + Color(uint8_t r_, uint8_t g_, uint8_t b_) : r(r_), g(g_), b(b_) {} +}; + struct HwType { + uint8_t id; uint16_t width; uint16_t height; uint8_t rotatebuffer; @@ -84,6 +92,7 @@ struct HwType { uint8_t shortlut; uint8_t zlib; uint16_t highlightColor; + std::vector colortable; }; struct varStruct { @@ -109,6 +118,7 @@ extern void clearPending(tagRecord* taginfo); extern void initAPconfig(); extern void saveAPconfig(); extern HwType getHwType(const uint8_t id); + /// @brief Update a variable with the given key and value /// /// @param key Variable key @@ -117,6 +127,7 @@ extern HwType getHwType(const uint8_t id); /// @return true If variable was created/updated /// @return false If not extern bool setVarDB(const std::string& key, const String& value, const bool notify = true); + extern void cleanupCurrent(); extern void pushTagInfo(tagRecord* taginfo); extern void popTagInfo(const uint8_t mac[8] = nullptr); diff --git a/ESP32_AP-Flasher/src/contentmanager.cpp b/ESP32_AP-Flasher/src/contentmanager.cpp index ce1a29e9..a4434648 100644 --- a/ESP32_AP-Flasher/src/contentmanager.cpp +++ b/ESP32_AP-Flasher/src/contentmanager.cpp @@ -201,16 +201,18 @@ void drawNew(const uint8_t mac[8], tagRecord *&taginfo) { taginfo->nextupdate = now + 60; imgParam imageParams; + imageParams.hwdata = hwdata; imageParams.width = hwdata.width; imageParams.height = hwdata.height; imageParams.bpp = hwdata.bpp; imageParams.rotatebuffer = hwdata.rotatebuffer; + imageParams.shortlut = hwdata.shortlut; imageParams.highlightColor = getColor(String(hwdata.highlightColor)); imageParams.hasRed = false; imageParams.dataType = DATATYPE_IMG_RAW_1BPP; imageParams.dither = 2; - if (taginfo->hasCustomLUT && taginfo->lut != 1) imageParams.grayLut = true; + // if (taginfo->hasCustomLUT && taginfo->lut != 1) imageParams.grayLut = true; imageParams.invert = taginfo->invert; imageParams.symbols = 0; @@ -220,7 +222,6 @@ void drawNew(const uint8_t mac[8], tagRecord *&taginfo) { } else { imageParams.zlib = 0; } - imageParams.shortlut = hwdata.shortlut; imageParams.lut = EPD_LUT_NO_REPEATS; if (taginfo->lut == 2) imageParams.lut = EPD_LUT_FAST_NO_REDS; @@ -655,7 +656,11 @@ void drawString(TFT_eSprite &spr, String content, int16_t posx, int16_t posy, St posx -= truetype.getStringWidth(content); } truetype.setTextBoundary(posx, spr.width(), spr.height()); - truetype.setTextColor(spr.color16to8(color), spr.color16to8(color)); + if (spr.getColorDepth() == 8) { + truetype.setTextColor(spr.color16to8(color), spr.color16to8(color)); + } else { + truetype.setTextColor(color, color); + } truetype.textDraw(posx, posy, content); truetype.end(); } break; @@ -716,9 +721,14 @@ void drawTextBox(TFT_eSprite &spr, String &content, int16_t &posx, int16_t &posy } void initSprite(TFT_eSprite &spr, int w, int h, imgParam &imageParams) { - spr.setColorDepth(8); + spr.setColorDepth(16); spr.createSprite(w, h); - spr.setRotation(3); + if (spr.getPointer() == nullptr) { + wsErr("low on memory. Fallback to 8bpp"); + util::printLargestFreeBlock(); + spr.setColorDepth(8); + spr.createSprite(w, h); + } if (spr.getPointer() == nullptr) { wsErr("low on memory. Fallback to 1bpp"); util::printLargestFreeBlock(); @@ -730,6 +740,7 @@ void initSprite(TFT_eSprite &spr, int w, int h, imgParam &imageParams) { if (spr.getPointer() == nullptr) { wsErr("Failed to create sprite"); } + spr.setRotation(3); spr.fillSprite(TFT_WHITE); } @@ -1266,9 +1277,9 @@ bool getCalFeed(String &filename, JsonObject &cfgobj, tagRecord *&taginfo, imgPa drawString(spr, String(languageDaysShort[dayInfo->tm_wday]) + " " + String(dayInfo->tm_mday), colStart + colWidth / 2, calTop, loc["gridparam"][3], TC_DATUM, TFT_BLACK); if (dayInfo->tm_wday == 0 || dayInfo->tm_wday == 6) { - spr.fillRect(colStart + 1, calTop + calYOffset, colWidth - 1, calHeight - 1, TFT_DARKGREY); + spr.fillRect(colStart + 1, calTop + calYOffset, colWidth - 1, calHeight - 1, getColor("darkgray")); } else { - spr.fillRect(colStart + 1, calTop + calYOffset, colWidth - 1, calHeight - 1, TFT_LIGHTGREY); + spr.fillRect(colStart + 1, calTop + calYOffset, colWidth - 1, calHeight - 1, getColor("lightgray")); } } @@ -2153,9 +2164,9 @@ uint16_t getColor(const String &color) { if (color == "1" || color == "" || color == "black") return TFT_BLACK; if (color == "2" || color == "red") return TFT_RED; if (color == "3" || color == "yellow") return TFT_YELLOW; - if (color == "4" || color == "lightgray") return TFT_LIGHTGREY; + if (color == "4" || color == "lightgray") return 0xBDF7; if (color == "5" || color == "darkgray") return TFT_DARKGREY; - if (color == "6" || color == "pink") return TFT_PINK; + if (color == "6" || color == "pink") return 0xFBCF; uint16_t r, g, b; if (color.length() == 7 && color[0] == '#' && sscanf(color.c_str(), "#%2hx%2hx%2hx", &r, &g, &b) == 3) { diff --git a/ESP32_AP-Flasher/src/makeimage.cpp b/ESP32_AP-Flasher/src/makeimage.cpp index 24d79f5a..89b36584 100644 --- a/ESP32_AP-Flasher/src/makeimage.cpp +++ b/ESP32_AP-Flasher/src/makeimage.cpp @@ -8,6 +8,7 @@ #include "leds.h" #include "miniz-oepl.h" #include "storage.h" +#include "tag_db.h" #include "util.h" #ifdef HAS_TFT @@ -62,13 +63,6 @@ void jpg2buffer(String filein, String fileout, imgParam &imageParams) { } } -struct Color { - uint8_t r, g, b; - Color() : r(0), g(0), b(0) {} - Color(uint16_t value_) : r((value_ >> 8) & 0xF8 | (value_ >> 13) & 0x07), g((value_ >> 3) & 0xFC | (value_ >> 9) & 0x03), b((value_ << 3) & 0xF8 | (value_ >> 2) & 0x07) {} - Color(uint8_t r_, uint8_t g_, uint8_t b_) : r(r_), g(g_), b(b_) {} -}; - struct Error { int32_t r; int32_t g; @@ -102,32 +96,22 @@ void spr2color(TFT_eSprite &spr, imgParam &imageParams, uint8_t *buffer, size_t memset(buffer, 0, buffer_size); - std::vector palette = { - {255, 255, 255}, // White - {0, 0, 0}, // Black - {255, 0, 0} // Red - }; + std::vector palette = imageParams.hwdata.colortable; if (imageParams.invert == 1) { std::swap(palette[0], palette[1]); } Color color; - if (imageParams.dither == 2) { - color = {128, 128, 128}; - palette.push_back(color); - color = {211, 211, 211}; - palette.push_back(color); - color = {255, 192, 203}; - palette.push_back(color); - } else if (imageParams.grayLut) { - color = {160, 160, 160}; - palette.push_back(color); - Serial.println("rendering with gray"); - } int num_colors = palette.size(); if (imageParams.bufferbpp == 1) num_colors = 2; Error *error_bufferold = new Error[bufw + 4]; Error *error_buffernew = new Error[bufw + 4]; + const uint8_t ditherMatrix[4][4] = { + {0, 9, 2, 10}, + {12, 5, 14, 6}, + {3, 11, 1, 8}, + {15, 7, 13, 4}}; + memset(error_bufferold, 0, bufw * sizeof(Error)); for (uint16_t y = 0; y < bufh; y++) { memset(error_buffernew, 0, bufw * sizeof(Error)); @@ -147,8 +131,17 @@ void spr2color(TFT_eSprite &spr, imgParam &imageParams, uint8_t *buffer, size_t break; } + if (imageParams.dither == 2) { + // Ordered dithering + uint8_t ditherValue = ditherMatrix[y % 4][x % 4]; + error_bufferold[x].r = (ditherValue << 4) - 120; // * 256 / 16 - 128 + 8 + error_bufferold[x].g = (ditherValue << 4) - 120; + error_bufferold[x].b = (ditherValue << 4) - 120; + } + int best_color_index = 0; uint32_t best_color_distance = colorDistance(color, palette[0], error_bufferold[x]); + for (int i = 1; i < num_colors; i++) { if (best_color_distance == 0) break; uint32_t distance = colorDistance(color, palette[i], error_bufferold[x]); @@ -157,7 +150,6 @@ void spr2color(TFT_eSprite &spr, imgParam &imageParams, uint8_t *buffer, size_t best_color_index = i; } } - uint8_t bitIndex = 7 - (x % 8); uint32_t byteIndex = (y * bufw + x) / 8; @@ -173,29 +165,19 @@ void spr2color(TFT_eSprite &spr, imgParam &imageParams, uint8_t *buffer, size_t buffer[byteIndex] |= (1 << bitIndex); break; case 3: - if (imageParams.grayLut) { - buffer[byteIndex] |= (1 << bitIndex); - imageParams.hasRed = true; - } else { - if (!is_red && (x + y) % 2) buffer[byteIndex] |= (1 << bitIndex); - } - break; - case 4: - if (!is_red && ((x + y / 2) % 2 == 0) && (y % 2 == 0)) buffer[byteIndex] |= (1 << bitIndex); - break; - case 5: - if (is_red && (x + y) % 2) buffer[byteIndex] |= (1 << bitIndex); imageParams.hasRed = true; + buffer[byteIndex] |= (1 << bitIndex); break; } if (imageParams.dither == 1) { + // Burkes Dithering + Error error = { color.r + error_bufferold[x].r - palette[best_color_index].r, color.g + error_bufferold[x].g - palette[best_color_index].g, color.b + error_bufferold[x].b - palette[best_color_index].b}; - // Burkes Dithering error_buffernew[x].r += error.r >> 2; error_buffernew[x].g += error.g >> 2; error_buffernew[x].b += error.b >> 2; diff --git a/ESP32_AP-Flasher/src/newproto.cpp b/ESP32_AP-Flasher/src/newproto.cpp index c236dc66..d1eab0cb 100644 --- a/ESP32_AP-Flasher/src/newproto.cpp +++ b/ESP32_AP-Flasher/src/newproto.cpp @@ -526,12 +526,12 @@ void processDataReq(struct espAvailDataReq* eadr, bool local, IPAddress remoteIP if (taginfo == nullptr) { if (config.lock == 1 || (config.lock == 2 && eadr->adr.wakeupReason != WAKEUP_REASON_FIRSTBOOT)) return; #ifdef HAS_SUBGHZ - if(apInfo.hasSubGhz && eadr->adr.currentChannel > 0 && eadr->adr.currentChannel == apInfo.SubGhzChannel) { - // Empty intentionally + if (apInfo.hasSubGhz && eadr->adr.currentChannel > 0 && eadr->adr.currentChannel == apInfo.SubGhzChannel) { + // Empty intentionally } else #endif - if (eadr->adr.currentChannel > 0 && eadr->adr.currentChannel != apInfo.channel) { - Serial.printf("Tag %s reports illegal channel %d\n", hexmac, eadr->adr.currentChannel); + if (local == true && eadr->adr.currentChannel > 0 && eadr->adr.currentChannel != apInfo.channel) { + Serial.printf("Tag %s reports illegal channel %d\n", hexmac, eadr->adr.currentChannel); return; } taginfo = new tagRecord; @@ -662,23 +662,23 @@ void setAPchannel() { udpsync.getAPList(); } else { if (curChannel.channel != config.channel) { - curChannel.channel = config.channel; - bSendRadioLayer = true; + curChannel.channel = config.channel; + bSendRadioLayer = true; } } #ifdef HAS_SUBGHZ - if(curChannel.subghzchannel != config.subghzchannel) { - curChannel.subghzchannel = config.subghzchannel; - apInfo.SubGhzChannel = config.subghzchannel; - bSendRadioLayer = true; + if (curChannel.subghzchannel != config.subghzchannel) { + curChannel.subghzchannel = config.subghzchannel; + apInfo.SubGhzChannel = config.subghzchannel; + bSendRadioLayer = true; } #endif - if(bSendRadioLayer) { - tmp = curChannel; - if(config.channel == 0) { - tmp.channel = 0; // don't set the 802.15.4 channel + if (bSendRadioLayer) { + tmp = curChannel; + if (config.channel == 0) { + tmp.channel = 0; // don't set the 802.15.4 channel } - sendChannelPower(&tmp); + sendChannelPower(&tmp); } } diff --git a/ESP32_AP-Flasher/src/tag_db.cpp b/ESP32_AP-Flasher/src/tag_db.cpp index 02d5b766..f71fd2b0 100644 --- a/ESP32_AP-Flasher/src/tag_db.cpp +++ b/ESP32_AP-Flasher/src/tag_db.cpp @@ -388,6 +388,7 @@ HwType getHwType(const uint8_t id) { filter["shortlut"] = true; filter["zlib_compression"] = true; filter["highlight_color"] = true; + filter["colortable"] = true; StaticJsonDocument<1000> doc; DeserializationError error = deserializeJson(doc, jsonFile, DeserializationOption::Filter(filter)); jsonFile.close(); @@ -395,17 +396,28 @@ HwType getHwType(const uint8_t id) { Serial.println("json error in " + String(filename)); Serial.println(error.c_str()); } else { - hwdata[id].width = doc["width"]; - hwdata[id].height = doc["height"]; - hwdata[id].rotatebuffer = doc["rotatebuffer"]; - hwdata[id].bpp = doc["bpp"]; - hwdata[id].shortlut = doc["shortlut"]; + HwType& hwType = hwdata[id]; + hwType.id = id; + hwType.width = doc["width"]; + hwType.height = doc["height"]; + hwType.rotatebuffer = doc["rotatebuffer"]; + hwType.bpp = doc["bpp"]; + hwType.shortlut = doc["shortlut"]; if (doc.containsKey("zlib_compression")) { - hwdata[id].zlib = strtol(doc["zlib_compression"], nullptr, 16); + hwType.zlib = strtol(doc["zlib_compression"], nullptr, 16); } else { - hwdata[id].zlib = 0; + hwType.zlib = 0; + } + hwType.highlightColor = doc.containsKey("highlight_color") ? doc["highlight_color"].as() : 2; + JsonObject colorTable = doc["colortable"]; + for (auto kv : colorTable) { + JsonArray color = kv.value(); + Color c; + c.r = color[0]; + c.g = color[1]; + c.b = color[2]; + hwType.colortable.push_back(c); } - hwdata[id].highlightColor = doc.containsKey("highlight_color") ? doc["highlight_color"].as() : 2; return hwdata.at(id); } } diff --git a/ESP32_AP-Flasher/src/truetype.cpp b/ESP32_AP-Flasher/src/truetype.cpp index d37b5d46..273c89eb 100644 --- a/ESP32_AP-Flasher/src/truetype.cpp +++ b/ESP32_AP-Flasher/src/truetype.cpp @@ -1023,7 +1023,8 @@ void truetypeClass::addPixel(int16_t _x, int16_t _y, uint16_t _colorCode) { switch (framebufferBit) { case 16: // 16bit horizontal { - uint16_t *p = (uint16_t *)&userFrameBuffer[(uint16_t)_x + (uint16_t)_y * displayWidthFrame]; + uint16_t *p = (uint16_t *)&userFrameBuffer[(uint16_t)_x * 2 + (uint16_t)_y * displayWidthFrame]; + _colorCode = (_colorCode >> 8) | (_colorCode << 8); *p = _colorCode; } break; case 8: // 8bit Horizontal diff --git a/ESP32_AP-Flasher/src/web.cpp b/ESP32_AP-Flasher/src/web.cpp index 09dbde34..9cd0a20e 100644 --- a/ESP32_AP-Flasher/src/web.cpp +++ b/ESP32_AP-Flasher/src/web.cpp @@ -290,6 +290,11 @@ void init_web() { uint8_t md5[8]; if (hex2mac(request->getParam("md5")->value(), md5)) { PendingItem *queueItem = getQueueItem(mac, *reinterpret_cast(md5)); + if (queueItem == nullptr) { + Serial.println("getQueueItem: no queue item"); + request->send(404, "text/plain", "File not found"); + return; + } if (queueItem->data == nullptr) { fs::File file = contentFS->open(queueItem->filename); if (file) { diff --git a/ESP32_AP-Flasher/wwwroot/content_cards.json b/ESP32_AP-Flasher/wwwroot/content_cards.json index 51d80263..0c897ade 100644 --- a/ESP32_AP-Flasher/wwwroot/content_cards.json +++ b/ESP32_AP-Flasher/wwwroot/content_cards.json @@ -23,7 +23,8 @@ "type": "select", "options": { "0": "off", - "1": "on" + "1": "floyd-steinberg dithering", + "2": "ordered dithering" } } ] @@ -479,7 +480,8 @@ "type": "select", "options": { "0": "off", - "1": "on" + "1": "floyd-steinberg dithering", + "2": "ordered dithering" } }, { diff --git a/ESP32_AP-Flasher/wwwroot/index.html b/ESP32_AP-Flasher/wwwroot/index.html index c6b5a52a..2d52661d 100644 --- a/ESP32_AP-Flasher/wwwroot/index.html +++ b/ESP32_AP-Flasher/wwwroot/index.html @@ -238,7 +238,7 @@ It sets the mac automatically, tries to recognize the type, and starts flashing. Currently, Solum M2 tags only.



- Using OEPL-Flasher.py, you have full control over the flashing of the tag.
+ Using OEPL-Flasher.py, you have full control over the flashing of the tag.
Use the --ip argument to connect to the flasher.

Usage:
diff --git a/ESP32_AP-Flasher/wwwroot/main.js b/ESP32_AP-Flasher/wwwroot/main.js index 2356971e..f62daa42 100644 --- a/ESP32_AP-Flasher/wwwroot/main.js +++ b/ESP32_AP-Flasher/wwwroot/main.js @@ -1012,7 +1012,7 @@ function populateSelectTag(hwtype, capabilities) { let option; cardconfig.forEach(item => { const capcheck = item.capabilities ?? 0; - if (tagTypes[hwtype].contentids.includes(item.id) && (capabilities & capcheck || capcheck == 0) && (apConfig.savespace == 0 || !item.properties?.includes("savespace"))) { + if (tagTypes[hwtype].contentids?.includes(item.id) && (capabilities & capcheck || capcheck == 0) && (apConfig.savespace == 0 || !item.properties?.includes("savespace"))) { option = document.createElement("option"); option.value = item.id; option.text = item.name; @@ -1327,6 +1327,10 @@ const downloadTagtype = async (hwtype) => { console.log(url); const response = await fetch(url); + if (!response.ok) { + console.log("github download error " + response.status); + return response; + } const clonedResponse = response.clone(); const fileContent = await clonedResponse.blob(); @@ -1398,7 +1402,7 @@ async function getTagtype(hwtype) { } if (!response.ok) { - let data = { name: 'unknown id ' + hwtype.toString(16), width: 0, height: 0, bpp: 0, rotatebuffer: 0, colortable: [], busy: false }; + let data = { name: 'unknown id ' + hwtype.toString(16).toUpperCase(), width: 0, height: 0, bpp: 0, rotatebuffer: 0, colortable: [], busy: false }; tagTypes[hwtype] = data; getTagtypeBusy = false; return data; diff --git a/Tag_Flasher/OEPL-Flasher.py b/Tag_Flasher/OEPL-Flasher.py index 9793862f..81d704a5 100644 --- a/Tag_Flasher/OEPL-Flasher.py +++ b/Tag_Flasher/OEPL-Flasher.py @@ -418,17 +418,19 @@ def main(): if transport == TRANSPORT_TCP: try: data = tcp_socket.recv(1) + data_str = data.decode('utf-8') except socket.timeout: - data = "" + data_str = "" pass else: try: data = ser.read(1) + data_str = data.decode('utf-8') except UnicodeDecodeError: - data = "" + data_str = "" pass - print(data, end='') - if chr(0x04) in data: + print(data_str, end='') + if chr(0x04) in data_str: break except KeyboardInterrupt: diff --git a/miscellaneous/render_bitmapfonts/render_bitmapfonts.pde b/miscellaneous/render_bitmapfonts/render_bitmapfonts.pde index cfdd2cf6..5457ff8c 100644 --- a/miscellaneous/render_bitmapfonts/render_bitmapfonts.pde +++ b/miscellaneous/render_bitmapfonts/render_bitmapfonts.pde @@ -56,7 +56,7 @@ void setup() { String str = "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_abcdefghijklmnopqrstuvwxyz{|}~°ÄÅÆÖØÚÜßáäåæéíöøúüýąČěľłńŘřŚŠź"; char[] charsetbasic = str.toCharArray(); - str = "ACDEFHIJLMNOPRSTUVWZiortzÁØÚČŚŠ0123456789-"; + str = "ACDEFHIJLMNOPRSTUVWZiortzÁÅÄÖØÚČŚŠ0123456789-"; char[] charsetdaynames = str.toCharArray(); str = "0123456789.°-"; char[] charsetnumbers = str.toCharArray(); diff --git a/resources/tagtypes/00.json b/resources/tagtypes/00.json index b4a4a875..2fbf8724 100644 --- a/resources/tagtypes/00.json +++ b/resources/tagtypes/00.json @@ -1,16 +1,14 @@ { - "version": 0, + "version": 1, "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 ] + "red": [ 255, 0, 0 ] }, "shortlut": 2, "options": [ "button", "customlut" ], diff --git a/resources/tagtypes/01.json b/resources/tagtypes/01.json index c352251f..ead6d55e 100644 --- a/resources/tagtypes/01.json +++ b/resources/tagtypes/01.json @@ -1,16 +1,14 @@ { - "version": 0, + "version": 1, "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 ] + "red": [ 255, 0, 0 ] }, "shortlut": 2, "options": [ "button", "customlut" ], diff --git a/resources/tagtypes/02.json b/resources/tagtypes/02.json index 9ef822f9..8bd6fba5 100644 --- a/resources/tagtypes/02.json +++ b/resources/tagtypes/02.json @@ -1,16 +1,14 @@ { - "version": 0, + "version": 1, "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 ] + "red": [ 255, 0, 0 ] }, "shortlut": 1, "options": [ "button" ], diff --git a/resources/tagtypes/05.json b/resources/tagtypes/05.json index 69738b9f..b35d98ec 100644 --- a/resources/tagtypes/05.json +++ b/resources/tagtypes/05.json @@ -1,16 +1,14 @@ { - "version": 0, + "version": 1, "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 ] + "red": [ 255, 0, 0 ] }, "shortlut": 1, "zlib_compression": "27", diff --git a/resources/tagtypes/11.json b/resources/tagtypes/11.json index 3ea87e6c..96aa3051 100644 --- a/resources/tagtypes/11.json +++ b/resources/tagtypes/11.json @@ -1,16 +1,14 @@ { - "version": 0, + "version": 1, "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 ] + "red": [ 255, 0, 0 ] }, "shortlut": 0, "options": [ "button" ], diff --git a/resources/tagtypes/21.json b/resources/tagtypes/21.json index 5968ace4..9e863aae 100644 --- a/resources/tagtypes/21.json +++ b/resources/tagtypes/21.json @@ -1,15 +1,13 @@ { - "version": 0, + "version": 1, "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 ] + "black": [ 0, 0, 0 ] }, "highlight_color": 5, "shortlut": 0, diff --git a/resources/tagtypes/22.json b/resources/tagtypes/22.json index 84d6b972..dd7bcb77 100644 --- a/resources/tagtypes/22.json +++ b/resources/tagtypes/22.json @@ -1,16 +1,14 @@ { - "version": 0, + "version": 1, "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 ] + "red": [ 255, 0, 0 ] }, "shortlut": 0, "options": [ "button" ], diff --git a/resources/tagtypes/26.json b/resources/tagtypes/26.json index ef96c4b6..ece9cbc6 100644 --- a/resources/tagtypes/26.json +++ b/resources/tagtypes/26.json @@ -1,11 +1,10 @@ { - "version": 0, + "version": 1, "name": "M2 7.5\" BW", "width": 640, "height": 384, "rotatebuffer": 0, "bpp": 1, - "colors": 2, "colortable": { "white": [ 255, 255, 255 ], "black": [ 0, 0, 0 ] diff --git a/resources/tagtypes/27.json b/resources/tagtypes/27.json index a417127c..2fb9f78e 100644 --- a/resources/tagtypes/27.json +++ b/resources/tagtypes/27.json @@ -1,15 +1,15 @@ { - "version": 0, + "version": 1, "name": "ST‐GM29MT1 2.9\"", "width": 296, "height": 128, "rotatebuffer": 1, "bpp": 1, - "colors": 2, "colortable": { "white": [ 255, 255, 255 ], "black": [ 0, 0, 0 ] }, + "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 ], diff --git a/resources/tagtypes/2E.json b/resources/tagtypes/2E.json index 736d97f7..61ded3df 100644 --- a/resources/tagtypes/2E.json +++ b/resources/tagtypes/2E.json @@ -1,16 +1,14 @@ { - "version": 0, + "version": 1, "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 ] + "red": [ 255, 0, 0 ] }, "shortlut": 0, "zlib_compression": "27", diff --git a/resources/tagtypes/2F.json b/resources/tagtypes/2F.json index 6db2d566..da4f5eb3 100644 --- a/resources/tagtypes/2F.json +++ b/resources/tagtypes/2F.json @@ -1,16 +1,14 @@ { - "version": 0, + "version": 1, "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 ] + "red": [ 255, 0, 0 ] }, "shortlut": 0, "zlib_compression": "27", diff --git a/resources/tagtypes/30.json b/resources/tagtypes/30.json index d636caf8..993f0b5b 100644 --- a/resources/tagtypes/30.json +++ b/resources/tagtypes/30.json @@ -1,16 +1,14 @@ { - "version": 0, + "version": 1, "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 ] + "red": [ 255, 0, 0 ] }, "shortlut": 0, "zlib_compression": "27", diff --git a/resources/tagtypes/31.json b/resources/tagtypes/31.json index d1903d3a..7f822a1f 100644 --- a/resources/tagtypes/31.json +++ b/resources/tagtypes/31.json @@ -5,12 +5,10 @@ "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 ] + "red": [ 255, 0, 0 ] }, "shortlut": 0, "zlib_compression": "27", diff --git a/resources/tagtypes/32.json b/resources/tagtypes/32.json index 40e34c89..329ed6fd 100644 --- a/resources/tagtypes/32.json +++ b/resources/tagtypes/32.json @@ -1,16 +1,14 @@ { - "version": 0, + "version": 1, "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 ] + "red": [ 255, 0, 0 ] }, "shortlut": 0, "zlib_compression": "27", diff --git a/resources/tagtypes/33.json b/resources/tagtypes/33.json index 3cccccbf..dd08928b 100644 --- a/resources/tagtypes/33.json +++ b/resources/tagtypes/33.json @@ -1,16 +1,14 @@ { - "version": 0, + "version": 1, "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 ] + "red": [ 255, 0, 0 ] }, "shortlut": 0, "zlib_compression": "27", diff --git a/resources/tagtypes/34.json b/resources/tagtypes/34.json index f5698d61..dc9d42be 100644 --- a/resources/tagtypes/34.json +++ b/resources/tagtypes/34.json @@ -1,16 +1,14 @@ { - "version": 0, + "version": 1, "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 ] + "red": [ 255, 0, 0 ] }, "shortlut": 0, "zlib_compression": "27", diff --git a/resources/tagtypes/35.json b/resources/tagtypes/35.json index bd8f1df4..1ac5551d 100644 --- a/resources/tagtypes/35.json +++ b/resources/tagtypes/35.json @@ -1,16 +1,14 @@ { - "version": 0, + "version": 1, "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 ] + "red": [ 255, 0, 0 ] }, "shortlut": 0, "zlib_compression": "27", diff --git a/resources/tagtypes/36.json b/resources/tagtypes/36.json index 6faf463e..376eff7d 100644 --- a/resources/tagtypes/36.json +++ b/resources/tagtypes/36.json @@ -1,16 +1,14 @@ { - "version": 0, + "version": 1, "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 ] + "red": [ 255, 0, 0 ] }, "shortlut": 0, "zlib_compression": "27", diff --git a/resources/tagtypes/41.json b/resources/tagtypes/41.json index 2ebdf4be..39ec4917 100644 --- a/resources/tagtypes/41.json +++ b/resources/tagtypes/41.json @@ -1,16 +1,14 @@ { - "version": 0, + "version": 1, "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 ] + "red": [ 255, 0, 0 ] }, "shortlut": 0, "zlib_compression": "27", diff --git a/resources/tagtypes/42.json b/resources/tagtypes/42.json index 1ecbb38f..e8909052 100644 --- a/resources/tagtypes/42.json +++ b/resources/tagtypes/42.json @@ -1,15 +1,13 @@ { - "version": 0, - "name": "M3 5.85\" FREEZER", + "version": 1, + "name": "M3 5.85\" BW", "width": 792, "height": 272, "rotatebuffer": 0, "bpp": 1, - "colors": 2, "colortable": { "white": [ 255, 255, 255 ], - "black": [ 0, 0, 0 ], - "gray": [ 150, 150, 150 ] + "black": [ 0, 0, 0 ] }, "shortlut": 0, "zlib_compression": "27", diff --git a/resources/tagtypes/43.json b/resources/tagtypes/43.json new file mode 100644 index 00000000..9068c611 --- /dev/null +++ b/resources/tagtypes/43.json @@ -0,0 +1,19 @@ +{ + "version": 1, + "name": "M3 1.3\" Peghook", + "width": 200, + "height": 144, + "rotatebuffer": 3, + "bpp": 2, + "colors": 3, + "colortable": { + "white": [ 255, 255, 255 ], + "black": [ 0, 0, 0 ], + "red": [ 255, 0, 0 ] + }, + "shortlut": 0, + "zlib_compression": "27", + "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": 0 +} \ No newline at end of file diff --git a/resources/tagtypes/55.json b/resources/tagtypes/55.json index 8c555b6b..0abbf2be 100644 --- a/resources/tagtypes/55.json +++ b/resources/tagtypes/55.json @@ -1,16 +1,14 @@ { - "version": 0, + "version": 1, "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 ] + "red": [ 255, 0, 0 ] }, "shortlut": 0, "options": [ "led" ], diff --git a/resources/tagtypes/60.json b/resources/tagtypes/60.json index 24e7bfd1..46f5bdab 100644 --- a/resources/tagtypes/60.json +++ b/resources/tagtypes/60.json @@ -1,16 +1,14 @@ { - "version": 0, + "version": 1, "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 ] + "yellow": [ 255, 255, 0 ] }, "highlight_color": 2, "shortlut": 0, diff --git a/resources/tagtypes/61.json b/resources/tagtypes/61.json index 7134c4ef..de4dca92 100644 --- a/resources/tagtypes/61.json +++ b/resources/tagtypes/61.json @@ -1,16 +1,14 @@ { - "version": 0, + "version": 1, "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 ] + "red": [ 255, 0, 0 ] }, "shortlut": 0, "options": [ "led" ], diff --git a/resources/tagtypes/62.json b/resources/tagtypes/62.json index 81e1fb9c..db5ea8ca 100644 --- a/resources/tagtypes/62.json +++ b/resources/tagtypes/62.json @@ -1,15 +1,13 @@ { - "version": 0, + "version": 1, "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 ] + "black": [ 0, 0, 0 ] }, "highlight_color": 5, "shortlut": 0, diff --git a/resources/tagtypes/80.json b/resources/tagtypes/80.json index 026bafa4..44280c5a 100644 --- a/resources/tagtypes/80.json +++ b/resources/tagtypes/80.json @@ -1,58 +1,17 @@ { - "version": 0, + "version": 1, "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 ] + "red": [ 255, 0, 0 ] }, "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 ] - } - } + "usetemplate": 5 } diff --git a/resources/tagtypes/81.json b/resources/tagtypes/81.json index 1e84a867..3f52f89b 100644 --- a/resources/tagtypes/81.json +++ b/resources/tagtypes/81.json @@ -1,16 +1,14 @@ { - "version": 0, + "version": 1, "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] + "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], diff --git a/resources/tagtypes/82.json b/resources/tagtypes/82.json index 0f1d2e67..9ffc7ead 100644 --- a/resources/tagtypes/82.json +++ b/resources/tagtypes/82.json @@ -1,16 +1,14 @@ { - "version": 0, + "version": 1, "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] + "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], diff --git a/resources/tagtypes/83.json b/resources/tagtypes/83.json index c4a3bef6..b0b3bfd0 100644 --- a/resources/tagtypes/83.json +++ b/resources/tagtypes/83.json @@ -1,57 +1,16 @@ { - "version": 0, + "version": 1, "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] + "red": [255, 0, 0] }, "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 ] - } - } + "contentids": [ 22, 23, 1, 4, 5, 7, 8, 9, 10, 11, 17, 18, 19, 20 ], + "usetemplate": 2 } diff --git a/resources/tagtypes/B2.json b/resources/tagtypes/B2.json index cddf1925..e252c02d 100644 --- a/resources/tagtypes/B2.json +++ b/resources/tagtypes/B2.json @@ -1,11 +1,10 @@ { - "version": 0, + "version": 1, "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 ] diff --git a/resources/tagtypes/B3.json b/resources/tagtypes/B3.json index 55663a28..e574269e 100644 --- a/resources/tagtypes/B3.json +++ b/resources/tagtypes/B3.json @@ -1,16 +1,14 @@ { - "version": 0, + "version": 1, "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 ] + "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 ], "usetemplate": 1 diff --git a/resources/tagtypes/B5.json b/resources/tagtypes/B5.json index c52c333b..1e669596 100644 --- a/resources/tagtypes/B5.json +++ b/resources/tagtypes/B5.json @@ -1,16 +1,14 @@ { - "version": 0, + "version": 1, "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 ] + "red": [ 255, 0, 0 ] }, "contentids": [ 22, 23, 1, 4, 5, 7, 8, 9, 10, 11, 17, 18, 19, 20 ], "usetemplate": 2 diff --git a/resources/tagtypes/BD.json b/resources/tagtypes/BD.json index e80eb9b1..8b476055 100644 --- a/resources/tagtypes/BD.json +++ b/resources/tagtypes/BD.json @@ -1,16 +1,14 @@ { - "version": 0, + "version": 1, "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] + "red": [255, 0, 0] }, "contentids": [ 22, 23, 1, 4, 5, 7, 8, 9, 10, 11, 17, 18, 19, 20], "usetemplate": 1, diff --git a/resources/tagtypes/BE.json b/resources/tagtypes/BE.json index fdb60886..76052014 100644 --- a/resources/tagtypes/BE.json +++ b/resources/tagtypes/BE.json @@ -1,15 +1,11 @@ { - "version": 0, + "version": 1, "name": "ATC MiThermometer BLE", "width": 6, "height": 8, "rotatebuffer": 1, "bpp": 1, - "colors": 1, - "colortable": { - "white": [ 255, 255, 255 ], - "black": [ 0, 0, 0 ] - }, + "colortable": {}, "shortlut": 0, "options": [ ], "contentids": [ 22 ], diff --git a/resources/tagtypes/E0.json b/resources/tagtypes/E0.json index c07412e2..c8ce1f42 100644 --- a/resources/tagtypes/E0.json +++ b/resources/tagtypes/E0.json @@ -1,16 +1,14 @@ { - "version": 0, + "version": 1, "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 ] + "red": [ 255, 0, 0 ] }, "shortlut": 0, "options": [ ], diff --git a/resources/tagtypes/E1.json b/resources/tagtypes/E1.json index ebd2fcaf..2cbdb01a 100644 --- a/resources/tagtypes/E1.json +++ b/resources/tagtypes/E1.json @@ -1,16 +1,14 @@ { - "version": 0, + "version": 1, "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 ] + "red": [ 255, 0, 0 ] }, "shortlut": 0, "options": [ ], diff --git a/resources/tagtypes/F0.json b/resources/tagtypes/F0.json index ab747222..f75f5c0d 100644 --- a/resources/tagtypes/F0.json +++ b/resources/tagtypes/F0.json @@ -1,11 +1,10 @@ { - "version": 0, + "version": 1, "name": "SLT‐EM007 Segmented", "width": 0, "height": 0, "rotatebuffer": 0, "bpp": 1, - "colors": 0, "colortable": { }, "shortlut": 0, "options": [ ],