mirror of
https://github.com/OpenEPaperLink/OpenEPaperLink.git
synced 2026-03-21 07:06:36 +01:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
33f77b2192 | ||
|
|
e079c30c54 | ||
|
|
eba9f54454 | ||
|
|
a0a39e98cd |
@@ -10,54 +10,6 @@
|
||||
"/www/painter.js",
|
||||
"/www/setup.html",
|
||||
"/www/setup.js",
|
||||
"/www/upload-demo.html",
|
||||
"/fonts/weathericons30.vlw",
|
||||
"/fonts/weathericons70.vlw",
|
||||
"/fonts/weathericons78.vlw",
|
||||
"/fonts/calibrib120.vlw",
|
||||
"/fonts/calibrib150.vlw",
|
||||
"/fonts/calibrib50.vlw",
|
||||
"/fonts/calibrib60.vlw",
|
||||
"/fonts/BellCent10.vlw",
|
||||
"/tagtypes/00.json",
|
||||
"/tagtypes/01.json",
|
||||
"/tagtypes/02.json",
|
||||
"/tagtypes/05.json",
|
||||
"/tagtypes/11.json",
|
||||
"/tagtypes/21.json",
|
||||
"/tagtypes/22.json",
|
||||
"/tagtypes/26.json",
|
||||
"/tagtypes/27.json",
|
||||
"/tagtypes/2E.json",
|
||||
"/tagtypes/2F.json",
|
||||
"/tagtypes/30.json",
|
||||
"/tagtypes/31.json",
|
||||
"/tagtypes/32.json",
|
||||
"/tagtypes/33.json",
|
||||
"/tagtypes/34.json",
|
||||
"/tagtypes/35.json",
|
||||
"/tagtypes/36.json",
|
||||
"/tagtypes/40.json",
|
||||
"/tagtypes/41.json",
|
||||
"/tagtypes/42.json",
|
||||
"/tagtypes/43.json",
|
||||
"/tagtypes/55.json",
|
||||
"/tagtypes/60.json",
|
||||
"/tagtypes/61.json",
|
||||
"/tagtypes/62.json",
|
||||
"/tagtypes/80.json",
|
||||
"/tagtypes/81.json",
|
||||
"/tagtypes/82.json",
|
||||
"/tagtypes/83.json",
|
||||
"/tagtypes/B0.json",
|
||||
"/tagtypes/B1.json",
|
||||
"/tagtypes/B2.json",
|
||||
"/tagtypes/B3.json",
|
||||
"/tagtypes/B5.json",
|
||||
"/tagtypes/BD.json",
|
||||
"/tagtypes/BE.json",
|
||||
"/tagtypes/E0.json",
|
||||
"/tagtypes/E1.json",
|
||||
"/tagtypes/F0.json"
|
||||
"/www/upload-demo.html"
|
||||
]
|
||||
}
|
||||
|
||||
Binary file not shown.
Binary file not shown.
BIN
ESP32_AP-Flasher/data/www/g5decoder.js.gz
Normal file
BIN
ESP32_AP-Flasher/data/www/g5decoder.js.gz
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -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<const char *>());
|
||||
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<char *>(input.c_str()), delimiters);
|
||||
int i = 0;
|
||||
while (ptr != nullptr && i < maxValues) {
|
||||
waveform[i++] = static_cast<uint8_t>(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
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -6,9 +6,9 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0" />
|
||||
|
||||
<title>Open EPaper Link Access Point</title>
|
||||
<script src="main.js" defer></script>
|
||||
<script src="g5decoder.js?2"></script>
|
||||
<link rel="stylesheet" href="main.css" type="text/css" />
|
||||
<script src="main.js?2.74" defer></script>
|
||||
<script src="g5decoder.js?2.74"></script>
|
||||
<link rel="stylesheet" href="main.css?2.74" type="text/css" />
|
||||
<!--<link rel="icon" type="image/vnd.icon" href="favicon.ico">-->
|
||||
<link rel="stylesheet"
|
||||
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" />
|
||||
|
||||
@@ -97,7 +97,7 @@ export async function initUpdate() {
|
||||
} else {
|
||||
const release = releaseDetails[0];
|
||||
if (release?.tag_name) {
|
||||
if (parseInt(release.tag_name) == parseInt(currentVer)) {
|
||||
if (normalizeVersion(release.tag_name) === normalizeVersion(currentVer)) {
|
||||
easyupdate.innerHTML = `Version ${currentVer}. You are up to date`;
|
||||
} else if (release.date < formatEpoch(currentBuildtime - 30 * 60)) {
|
||||
easyupdate.innerHTML = `Your version is newer than the latest release date.<br>Are you the developer? :-)`;
|
||||
@@ -638,3 +638,7 @@ async function fetchAndCheckTagtypes(cleanup) {
|
||||
print("Error: " + error, "red");
|
||||
}
|
||||
}
|
||||
|
||||
function normalizeVersion(version) {
|
||||
return version.replace(/(\.\d*?)0+$/, '$1').replace(/\.$/, '');
|
||||
}
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -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" ],
|
||||
|
||||
@@ -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 ],
|
||||
|
||||
@@ -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 ],
|
||||
|
||||
@@ -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 ],
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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" ],
|
||||
|
||||
@@ -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" ],
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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 ],
|
||||
|
||||
@@ -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 ],
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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 ],
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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" ],
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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": {
|
||||
|
||||
17
resources/tagtypes/C0.json
Normal file
17
resources/tagtypes/C0.json
Normal file
@@ -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
|
||||
}
|
||||
21
resources/tagtypes/C1.json
Normal file
21
resources/tagtypes/C1.json
Normal file
@@ -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
|
||||
}
|
||||
20
resources/tagtypes/C2.json
Normal file
20
resources/tagtypes/C2.json
Normal file
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user