mirror of
https://github.com/OpenEPaperLink/OpenEPaperLink.git
synced 2026-03-21 06:06:23 +01:00
Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eb0064363f | ||
|
|
c1324c5089 | ||
|
|
df3c615eef | ||
|
|
d5e19d20fa | ||
|
|
e62a1b07bf | ||
|
|
4d06ef546d | ||
|
|
7096f7e756 | ||
|
|
1abedff388 | ||
|
|
8d2546a2aa | ||
|
|
c5a8058d62 | ||
|
|
ef59b87ae0 | ||
|
|
d526c43fd8 | ||
|
|
86abc112dd | ||
|
|
af50f96671 |
18
.github/workflows/release.yml
vendored
18
.github/workflows/release.yml
vendored
@@ -196,6 +196,24 @@ jobs:
|
|||||||
cp ESP32_S3_16_8_LILYGO_AP/firmware.bin espbinaries/ESP32_S3_16_8_LILYGO_AP.bin
|
cp ESP32_S3_16_8_LILYGO_AP/firmware.bin espbinaries/ESP32_S3_16_8_LILYGO_AP.bin
|
||||||
cp ESP32_S3_16_8_LILYGO_AP/merged-firmware.bin espbinaries/ESP32_S3_16_8_LILYGO_AP_full.bin
|
cp ESP32_S3_16_8_LILYGO_AP/merged-firmware.bin espbinaries/ESP32_S3_16_8_LILYGO_AP_full.bin
|
||||||
|
|
||||||
|
- name: Build firmware for ESP32_S3_16_8_LILYGO_T3
|
||||||
|
run: |
|
||||||
|
cd ESP32_AP-Flasher
|
||||||
|
export PLATFORMIO_BUILD_FLAGS="-D BUILD_VERSION=${{ github.ref_name }} -D SHA=$GITHUB_SHA"
|
||||||
|
pio run --environment ESP32_S3_16_8_LILYGO_T3
|
||||||
|
pio run --target buildfs --environment ESP32_S3_16_8_LILYGO_T3
|
||||||
|
mkdir /home/runner/work/OpenEPaperLink/OpenEPaperLink/ESP32_S3_16_8_LILYGO_T3
|
||||||
|
cp ~/.platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin /home/runner/work/OpenEPaperLink/OpenEPaperLink/ESP32_S3_16_8_LILYGO_T3/boot_app0.bin
|
||||||
|
cp .pio/build/ESP32_S3_16_8_LILYGO_T3/firmware.bin /home/runner/work/OpenEPaperLink/OpenEPaperLink/ESP32_S3_16_8_LILYGO_T3/firmware.bin
|
||||||
|
cp .pio/build/ESP32_S3_16_8_LILYGO_T3/bootloader.bin /home/runner/work/OpenEPaperLink/OpenEPaperLink/ESP32_S3_16_8_LILYGO_T3/bootloader.bin
|
||||||
|
cp .pio/build/ESP32_S3_16_8_LILYGO_T3/partitions.bin /home/runner/work/OpenEPaperLink/OpenEPaperLink/ESP32_S3_16_8_LILYGO_T3/partitions.bin
|
||||||
|
cp .pio/build/ESP32_S3_16_8_LILYGO_T3/littlefs.bin /home/runner/work/OpenEPaperLink/OpenEPaperLink/ESP32_S3_16_8_LILYGO_T3/littlefs.bin
|
||||||
|
cd /home/runner/work/OpenEPaperLink/OpenEPaperLink/ESP32_S3_16_8_LILYGO_T3
|
||||||
|
esptool.py --chip esp32-s3 merge_bin -o merged-firmware.bin --flash_mode dio --flash_freq 80m --flash_size 16MB 0x0000 bootloader.bin 0x8000 partitions.bin 0xe000 boot_app0.bin 0x10000 firmware.bin 0x00910000 littlefs.bin
|
||||||
|
cd /home/runner/work/OpenEPaperLink/OpenEPaperLink
|
||||||
|
cp ESP32_S3_16_8_LILYGO_T3/firmware.bin espbinaries/ESP32_S3_16_8_LILYGO_T3.bin
|
||||||
|
cp ESP32_S3_16_8_LILYGO_T3/merged-firmware.bin espbinaries/ESP32_S3_16_8_LILYGO_T3_full.bin
|
||||||
|
|
||||||
- name: Build firmware for OpenEPaperLink_Nano_TLSR
|
- name: Build firmware for OpenEPaperLink_Nano_TLSR
|
||||||
run: |
|
run: |
|
||||||
cd ESP32_AP-Flasher
|
cd ESP32_AP-Flasher
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ class nrfswd : protected swd {
|
|||||||
|
|
||||||
uint8_t nrf_read_bank(uint32_t address, uint32_t buffer[], int size);
|
uint8_t nrf_read_bank(uint32_t address, uint32_t buffer[], int size);
|
||||||
uint8_t nrf_write_bank(uint32_t address, uint32_t buffer[], int size);
|
uint8_t nrf_write_bank(uint32_t address, uint32_t buffer[], int size);
|
||||||
|
uint8_t nrf_erase_all();
|
||||||
uint8_t erase_all_flash();
|
uint8_t erase_all_flash();
|
||||||
uint8_t erase_uicr();
|
uint8_t erase_uicr();
|
||||||
uint8_t erase_page(uint32_t page);
|
uint8_t erase_page(uint32_t page);
|
||||||
|
|||||||
@@ -287,6 +287,95 @@ board_upload.maximum_ram_size = 327680
|
|||||||
board_upload.flash_size = 16MB
|
board_upload.flash_size = 16MB
|
||||||
; ----------------------------------------------------------------------------------------
|
; ----------------------------------------------------------------------------------------
|
||||||
; !!! this configuration expects an ESP32-S3 16MB Flash 8MB RAM
|
; !!! this configuration expects an ESP32-S3 16MB Flash 8MB RAM
|
||||||
|
; !!! Dedicated pinout for using the Lilygo T-Display-S3 board.
|
||||||
|
; ----------------------------------------------------------------------------------------
|
||||||
|
[env:ESP32_S3_16_8_LILYGO_T3]
|
||||||
|
board = esp32-s3-devkitc-1
|
||||||
|
board_build.partitions = large_spiffs_16MB.csv
|
||||||
|
monitor_dtr = 0
|
||||||
|
monitor_rts = 0
|
||||||
|
build_unflags =
|
||||||
|
-std=gnu++11
|
||||||
|
-D CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y
|
||||||
|
-D ILI9341_DRIVER
|
||||||
|
lib_deps = ${env.lib_deps}
|
||||||
|
build_flags =
|
||||||
|
-std=gnu++17
|
||||||
|
${env.build_flags}
|
||||||
|
-D HAS_TFT
|
||||||
|
-D CORE_DEBUG_LEVEL=1
|
||||||
|
-D ARDUINO_USB_CDC_ON_BOOT=1
|
||||||
|
-D CONFIG_ESP32S3_SPIRAM_SUPPORT=1
|
||||||
|
-D CONFIG_SPIRAM_USE_MALLOC=1
|
||||||
|
-D POWER_NO_SOFT_POWER
|
||||||
|
-D BOARD_HAS_PSRAM
|
||||||
|
-D CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC=y
|
||||||
|
-D HAS_BLE_WRITER
|
||||||
|
-D FLASHER_AP_SS=-1
|
||||||
|
-D FLASHER_AP_CLK=-1
|
||||||
|
-D FLASHER_AP_MOSI=-1
|
||||||
|
-D FLASHER_AP_MISO=-1
|
||||||
|
-D FLASHER_AP_RESET=44 ;47 ;purple RST
|
||||||
|
-D FLASHER_AP_POWER={-1}
|
||||||
|
-D FLASHER_AP_TEST=-1
|
||||||
|
-D FLASHER_AP_TXD=17 ;white 2
|
||||||
|
-D FLASHER_AP_RXD=18 ;orange 3
|
||||||
|
-D FLASHER_DEBUG_TXD=12 ;15 ;yellow TX
|
||||||
|
-D FLASHER_DEBUG_RXD=13 ;7 ;blue RX
|
||||||
|
-D FLASHER_DEBUG_PROG=21 ;green 9
|
||||||
|
-D FLASHER_LED=-1
|
||||||
|
-D HAS_RGB_LED
|
||||||
|
-D FLASHER_RGB_LED=48
|
||||||
|
-D ST7789_DRIVER
|
||||||
|
;-D ST7735_DRIVER
|
||||||
|
;-D ST7735_GREENTAB160x80
|
||||||
|
-D TFT_INVERSION_ON
|
||||||
|
-D TFT_PARALLEL_8_BIT
|
||||||
|
-D TFT_WIDTH=170 ;80
|
||||||
|
-D TFT_HEIGHT=320 ;160
|
||||||
|
;-D TFT_MISO=-1
|
||||||
|
;-D TFT_MOSI=13
|
||||||
|
;-D TFT_SCLK=12
|
||||||
|
-D TFT_WR=8
|
||||||
|
-D TFT_RD=9
|
||||||
|
-D TFT_CS=6 ;10
|
||||||
|
-D TFT_DC=7 ;11
|
||||||
|
-D TFT_RST=5 ;1
|
||||||
|
-D TFT_D0=39
|
||||||
|
-D TFT_D1=40
|
||||||
|
-D TFT_D2=41
|
||||||
|
-D TFT_D3=42
|
||||||
|
-D TFT_D4=45
|
||||||
|
-D TFT_D5=46
|
||||||
|
-D TFT_D6=47
|
||||||
|
-D TFT_D7=48
|
||||||
|
-D TFT_BL=38
|
||||||
|
-D TFT_RGB_ORDER=TFT_BGR
|
||||||
|
-D USE_HSPI_PORT
|
||||||
|
-D LOAD_FONT2
|
||||||
|
-D LOAD_FONT4
|
||||||
|
-D LOAD_GLCD
|
||||||
|
;-D LOAD_FONT6
|
||||||
|
;-D LOAD_FONT7
|
||||||
|
;-D LOAD_FONT8
|
||||||
|
;-D LOAD_GFXFF
|
||||||
|
;-D SMOOTH_FONT
|
||||||
|
-D MD5_ENABLED=1
|
||||||
|
-D SERIAL_FLASHER_INTERFACE_UART=1
|
||||||
|
-D SERIAL_FLASHER_BOOT_HOLD_TIME_MS=200
|
||||||
|
-D SERIAL_FLASHER_RESET_HOLD_TIME_MS=200
|
||||||
|
-D C6_OTA_FLASHING
|
||||||
|
-D HAS_SUBGHZ ; previously disabled but now enabled. Disabling causes the Channel chooser to disfunction.
|
||||||
|
build_src_filter =
|
||||||
|
+<*>-<usbflasher.cpp>-<swd.cpp>-<webflasher.cpp>
|
||||||
|
board_build.flash_mode=qio
|
||||||
|
board_build.arduino.memory_type = qio_opi
|
||||||
|
board_build.psram_type=qspi_opi
|
||||||
|
board_upload.maximum_size = 16777216
|
||||||
|
board_upload.maximum_ram_size = 327680
|
||||||
|
board_upload.flash_size = 16MB
|
||||||
|
; ----------------------------------------------------------------------------------------
|
||||||
|
; !!! this configuration expects an ESP32-S3 16MB Flash 8MB RAM
|
||||||
; ----------------------------------------------------------------------------------------
|
; ----------------------------------------------------------------------------------------
|
||||||
[env:ESP32_S3_C6_BIG_AP]
|
[env:ESP32_S3_C6_BIG_AP]
|
||||||
board = esp32-s3-devkitc-1
|
board = esp32-s3-devkitc-1
|
||||||
|
|||||||
@@ -461,7 +461,7 @@ void spr2buffer(TFT_eSprite &spr, String &fileout, imgParam &imageParams) {
|
|||||||
case 1:
|
case 1:
|
||||||
case 2: {
|
case 2: {
|
||||||
long bufw = spr.width(), bufh = spr.height();
|
long bufw = spr.width(), bufh = spr.height();
|
||||||
size_t buffer_size = (bufw * bufh) / 8;
|
size_t buffer_size = ((bufw * bufh) + 7) / 8; // round up: not all dimensions are multiples of 8
|
||||||
#ifdef BOARD_HAS_PSRAM
|
#ifdef BOARD_HAS_PSRAM
|
||||||
uint8_t *buffer = (uint8_t *)ps_malloc(buffer_size);
|
uint8_t *buffer = (uint8_t *)ps_malloc(buffer_size);
|
||||||
#else
|
#else
|
||||||
@@ -585,7 +585,7 @@ void spr2buffer(TFT_eSprite &spr, String &fileout, imgParam &imageParams) {
|
|||||||
case 3:
|
case 3:
|
||||||
case 4: {
|
case 4: {
|
||||||
long bufw = spr.width(), bufh = spr.height();
|
long bufw = spr.width(), bufh = spr.height();
|
||||||
size_t buffer_size = (bufw * bufh) / 8 * imageParams.bpp;
|
size_t buffer_size = ((bufw * bufh) + 7) / 8 * imageParams.bpp;
|
||||||
uint8_t *buffer = (uint8_t *)ps_malloc(buffer_size);
|
uint8_t *buffer = (uint8_t *)ps_malloc(buffer_size);
|
||||||
if (!buffer) {
|
if (!buffer) {
|
||||||
Serial.println("Failed to allocate buffer");
|
Serial.println("Failed to allocate buffer");
|
||||||
|
|||||||
@@ -264,7 +264,19 @@ void nrfswd::write_register(uint32_t address, uint32_t value) {
|
|||||||
bool state3 = DP_Read(DP_RDBUFF, temp);
|
bool state3 = DP_Read(DP_RDBUFF, temp);
|
||||||
// if (showDebug) Serial.printf("%i%i%i Write Register: 0x%08x : 0x%08x\r\n", state1, state2, state3, address, value);
|
// if (showDebug) Serial.printf("%i%i%i Write Register: 0x%08x : 0x%08x\r\n", state1, state2, state3, address, value);
|
||||||
}
|
}
|
||||||
|
uint8_t nrfswd::nrf_erase_all() {
|
||||||
|
nrf_port_selection(1);
|
||||||
|
nrf_write_port(1, AP_NRF_ERASEALL, 1);
|
||||||
|
long timeout = millis();
|
||||||
|
while (nrf_read_port(1, AP_NRF_ERASEALLSTATUS)) {
|
||||||
|
if (millis() - timeout > 1000) return 1;
|
||||||
|
}
|
||||||
|
nrf_write_port(1, AP_NRF_ERASEALL, 0);
|
||||||
|
nrf_port_selection(0);
|
||||||
|
nrf_soft_reset();
|
||||||
|
init();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
uint8_t nrfswd::erase_all_flash() {
|
uint8_t nrfswd::erase_all_flash() {
|
||||||
write_register(0x4001e504, 2);
|
write_register(0x4001e504, 2);
|
||||||
long timeout = millis();
|
long timeout = millis();
|
||||||
|
|||||||
@@ -306,6 +306,7 @@ typedef enum {
|
|||||||
|
|
||||||
CMD_ERASE_FLASH = 26,
|
CMD_ERASE_FLASH = 26,
|
||||||
CMD_ERASE_INFOPAGE = 27,
|
CMD_ERASE_INFOPAGE = 27,
|
||||||
|
CMD_ERASE_ALL = 28,
|
||||||
CMD_SAVE_MAC_FROM_FW = 40,
|
CMD_SAVE_MAC_FROM_FW = 40,
|
||||||
CMD_PASS_THROUGH = 50,
|
CMD_PASS_THROUGH = 50,
|
||||||
|
|
||||||
@@ -420,6 +421,16 @@ void processFlasherCommand(struct flasherCommand* cmd, uint8_t transportType) {
|
|||||||
}
|
}
|
||||||
sendFlasherAnswer(CMD_ERASE_INFOPAGE, NULL, 0, transportType);
|
sendFlasherAnswer(CMD_ERASE_INFOPAGE, NULL, 0, transportType);
|
||||||
break;
|
break;
|
||||||
|
case CMD_ERASE_ALL:
|
||||||
|
if (selectedController == CONTROLLER_NRF82511) {
|
||||||
|
if (nrfflasherp == nullptr) return;
|
||||||
|
nrfflasherp->nrf_erase_all();
|
||||||
|
} else if (selectedController == CONTROLLER_CC) {
|
||||||
|
if (ccflasherp == nullptr) return;
|
||||||
|
ccflasherp->erase_chip();
|
||||||
|
}
|
||||||
|
sendFlasherAnswer(CMD_ERASE_ALL, NULL, 0, transportType);
|
||||||
|
break;
|
||||||
case CMD_SELECT_PORT:
|
case CMD_SELECT_PORT:
|
||||||
wsSerial("> select port");
|
wsSerial("> select port");
|
||||||
selectedFlasherPort = cmd->data[0];
|
selectedFlasherPort = cmd->data[0];
|
||||||
@@ -453,7 +464,7 @@ void processFlasherCommand(struct flasherCommand* cmd, uint8_t transportType) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
nrfflasherp->init();
|
nrfflasherp->init();
|
||||||
temp_buff[0] = (nrfflasherp->isConnected && !nrfflasherp->isLocked);
|
temp_buff[0] = nrfflasherp->isConnected ? (nrfflasherp->isLocked ? 2 : 1) : 0;
|
||||||
sendFlasherAnswer(CMD_SELECT_NRF82511, temp_buff, 1, transportType);
|
sendFlasherAnswer(CMD_SELECT_NRF82511, temp_buff, 1, transportType);
|
||||||
currentFlasherOffset = 0;
|
currentFlasherOffset = 0;
|
||||||
selectedController = CONTROLLER_NRF82511;
|
selectedController = CONTROLLER_NRF82511;
|
||||||
|
|||||||
@@ -4,6 +4,13 @@ This is an alternative firmware and protocol for the multiple Electronic Shelf L
|
|||||||
|
|
||||||
The software in this project consists of two parts: Accesspoint-firmware and Tag firmware.
|
The software in this project consists of two parts: Accesspoint-firmware and Tag firmware.
|
||||||
Additionally, there are various hardware designs for accesspoints and flasher-interfaces to program the tags, preferably using programming jigs
|
Additionally, there are various hardware designs for accesspoints and flasher-interfaces to program the tags, preferably using programming jigs
|
||||||
|
|
||||||
|
>[!Note]
|
||||||
|
>Please refer to the [Wiki](https://github.com/jjwbruijn/OpenEPaperLink/wiki) for the latest information.
|
||||||
|
>
|
||||||
|
>Much of this README is now obsolete, but it has been retained for historical reference.
|
||||||
|
>
|
||||||
|
>For example the use of tags as RF coprocessors is no longer supported.
|
||||||
|
|
||||||
## Aims
|
## Aims
|
||||||
- Low power (currently around 9µA with a minimum of 40 second latency)
|
- Low power (currently around 9µA with a minimum of 40 second latency)
|
||||||
|
|||||||
@@ -120,6 +120,9 @@ python3 OEPL-Flasher.py -e -c -p COM31 read blaat.bin --flash
|
|||||||
See this [page](https://github.com/OpenEPaperLink/OpenEPaperLink/wiki/Chroma-Series-SubGhz-Tags#flashing-cc1110-based-chroma-tags)
|
See this [page](https://github.com/OpenEPaperLink/OpenEPaperLink/wiki/Chroma-Series-SubGhz-Tags#flashing-cc1110-based-chroma-tags)
|
||||||
on the Wiki for additional information.
|
on the Wiki for additional information.
|
||||||
|
|
||||||
|
## EFR32-based
|
||||||
|
|
||||||
|
This flasher does **NOT** support tags based on the EFR32. See the [wiki](https://github.com/OpenEPaperLink/OpenEPaperLink/wiki/Flashing-SiLabs-based-M3-Newton-Displays) for information on how to flash those.
|
||||||
## Credits
|
## Credits
|
||||||
|
|
||||||
Much code was reused from ATC1441's various flashers
|
Much code was reused from ATC1441's various flashers
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"version": 3,
|
"version": 4,
|
||||||
"name": "M3 4.2\" BWY",
|
"name": "M3 4.2\" BWY",
|
||||||
"width": 400,
|
"width": 400,
|
||||||
"height": 300,
|
"height": 300,
|
||||||
@@ -15,6 +15,7 @@
|
|||||||
"black": [ 0, 0, 0 ],
|
"black": [ 0, 0, 0 ],
|
||||||
"yellow": [ 200, 200, 0 ]
|
"yellow": [ 200, 200, 0 ]
|
||||||
},
|
},
|
||||||
|
"highlight_color": 3,
|
||||||
"shortlut": 0,
|
"shortlut": 0,
|
||||||
"zlib_compression": "27",
|
"zlib_compression": "27",
|
||||||
"options": [ "button", "led" ],
|
"options": [ "button", "led" ],
|
||||||
|
|||||||
25
resources/tagtypes/4F.json
Executable file
25
resources/tagtypes/4F.json
Executable file
@@ -0,0 +1,25 @@
|
|||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"name": "M3 2.6\" BWRY",
|
||||||
|
"width": 360,
|
||||||
|
"height": 184,
|
||||||
|
"rotatebuffer": 3,
|
||||||
|
"bpp": 2,
|
||||||
|
"colortable": {
|
||||||
|
"white": [ 255, 255, 255 ],
|
||||||
|
"black": [ 0, 0, 0 ],
|
||||||
|
"red": [ 255, 0, 0 ],
|
||||||
|
"yellow": [ 255, 255, 0 ]
|
||||||
|
},
|
||||||
|
"perceptual": {
|
||||||
|
"white": [ 255, 255, 255 ],
|
||||||
|
"black": [ 0, 0, 0 ],
|
||||||
|
"red": [ 255, 0, 0 ],
|
||||||
|
"yellow": [ 200, 200, 0 ]
|
||||||
|
},
|
||||||
|
"shortlut": 0,
|
||||||
|
"zlib_compression": "27",
|
||||||
|
"options": [ "button", "led" ],
|
||||||
|
"contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 16, 17, 18, 19, 20, 26, 27 ],
|
||||||
|
"usetemplate": 1
|
||||||
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"version": 2,
|
"version": 4,
|
||||||
"name": "HD150 5.83\" BWR",
|
"name": "HD150 5.83\" BWR",
|
||||||
"width": 648,
|
"width": 648,
|
||||||
"height": 480,
|
"height": 480,
|
||||||
@@ -21,21 +21,44 @@
|
|||||||
"month": [ 300, 310, "Signika-SB.ttf", 110 ],
|
"month": [ 300, 310, "Signika-SB.ttf", 110 ],
|
||||||
"day": [ 300, 75, "Signika-SB.ttf", 250 ]
|
"day": [ 300, 75, "Signika-SB.ttf", 250 ]
|
||||||
},
|
},
|
||||||
"10": {
|
"4": {
|
||||||
"title": [ 300, 10, "fonts/bahnschrift30" ],
|
"location": [ 41, 25, "fonts/calibrib80" ],
|
||||||
"pos": [ 300, 50 ]
|
"wind": [ 177, 225, "fonts/calibrib30" ],
|
||||||
|
"temp": [ 46, 300, "fonts/calibrib100" ],
|
||||||
|
"icon": [ 527, 100, 150, 2 ],
|
||||||
|
"dir": [ 122, 75, 180 ],
|
||||||
|
"umbrella": [ 582, 313, 102 ]
|
||||||
|
},
|
||||||
|
"8": {
|
||||||
|
"location": [ 10, 0, "fonts/calibrib80" ],
|
||||||
|
"column": [ 7, 92 ],
|
||||||
|
"day": [ 43, 138, "fonts/calibrib30", 188, 356 ],
|
||||||
|
"rain": [ 49, 425 ],
|
||||||
|
"icon": [ 46, 225, 60 ],
|
||||||
|
"wind": [ 17, 150 ],
|
||||||
|
"line": [ 96, 463 ]
|
||||||
},
|
},
|
||||||
"9": {
|
"9": {
|
||||||
"title": [ 6, 0, "Signika-SB.ttf", 32 ],
|
"title": [ 6, 0, "Signika-SB.ttf", 32 ],
|
||||||
"items": 6,
|
"items": 6,
|
||||||
"line": [ 9, 40, "calibrib16.vlw" ],
|
"line": [ 9, 50, "calibrib16.vlw" ],
|
||||||
"desc": [ 2, 8, "REFSAN12.vlw", 1.2 ]
|
"desc": [ 2, 10, "REFSAN12.vlw", 1.2 ]
|
||||||
|
},
|
||||||
|
"10": {
|
||||||
|
"title": [ 324, 13, "fonts/bahnschrift20" ],
|
||||||
|
"pos": [ 324, 50 ]
|
||||||
},
|
},
|
||||||
"11": {
|
"11": {
|
||||||
"rotate": 0,
|
"rotate": 0,
|
||||||
"mode": 1,
|
"mode": 1,
|
||||||
"days": 7,
|
"days": 7,
|
||||||
"gridparam": [ 7, 17, 30, "calibrib16.vlw", "tahoma9.vlw", 14 ]
|
"gridparam": [ 3, 21, 38, "calibrib16.vlw", "tahoma9.vlw", 14 ]
|
||||||
|
},
|
||||||
|
"27": {
|
||||||
|
"bars": [ 18, 620, 413, 20, 22 ],
|
||||||
|
"time": [ "calibrib16.vlw" ],
|
||||||
|
"yaxis": [ "calibrib16.vlw", 1, 12 ],
|
||||||
|
"head": [ "calibrib30.vlw" ]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
18
resources/tagtypes/70.json
Normal file
18
resources/tagtypes/70.json
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"name": "HS 2.9\" HighRes",
|
||||||
|
"width": 384,
|
||||||
|
"height": 168,
|
||||||
|
"rotatebuffer": 1,
|
||||||
|
"bpp": 2,
|
||||||
|
"colortable": {
|
||||||
|
"white": [ 255, 255, 255 ],
|
||||||
|
"black": [ 0, 0, 0 ],
|
||||||
|
"red": [ 255, 0, 0 ]
|
||||||
|
},
|
||||||
|
"shortlut": 0,
|
||||||
|
"zlib_compression": "27",
|
||||||
|
"options": [ "button", "led" ],
|
||||||
|
"contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 16, 17, 18, 19, 20, 26, 27 ],
|
||||||
|
"usetemplate": 51
|
||||||
|
}
|
||||||
18
resources/tagtypes/71.json
Normal file
18
resources/tagtypes/71.json
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"name": "HS 2.13\" BWR High Res",
|
||||||
|
"width": 296,
|
||||||
|
"height": 144,
|
||||||
|
"rotatebuffer": 1,
|
||||||
|
"bpp": 2,
|
||||||
|
"colortable": {
|
||||||
|
"white": [ 255, 255, 255 ],
|
||||||
|
"black": [ 0, 0, 0 ],
|
||||||
|
"red": [ 255, 0, 0 ]
|
||||||
|
},
|
||||||
|
"zlib_compression": "27",
|
||||||
|
"shortlut": 2,
|
||||||
|
"options": [ "button" ],
|
||||||
|
"contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 16, 17, 18, 19, 20, 21, 27 ],
|
||||||
|
"usetemplate": 1
|
||||||
|
}
|
||||||
25
resources/tagtypes/90.json
Normal file
25
resources/tagtypes/90.json
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"name": "M3 4.2\" BWRY",
|
||||||
|
"width": 400,
|
||||||
|
"height": 300,
|
||||||
|
"rotatebuffer": 0,
|
||||||
|
"bpp": 2,
|
||||||
|
"colortable": {
|
||||||
|
"white": [ 255, 255, 255 ],
|
||||||
|
"black": [ 0, 0, 0 ],
|
||||||
|
"red": [ 255, 0, 0 ],
|
||||||
|
"yellow": [ 255, 255, 0 ]
|
||||||
|
},
|
||||||
|
"perceptual": {
|
||||||
|
"white": [ 255, 255, 255 ],
|
||||||
|
"black": [ 0, 0, 0 ],
|
||||||
|
"red": [ 255, 0, 0 ],
|
||||||
|
"yellow": [ 200, 200, 0 ]
|
||||||
|
},
|
||||||
|
"shortlut": 0,
|
||||||
|
"zlib_compression": "27",
|
||||||
|
"options": [ "button", "led" ],
|
||||||
|
"contentids": [ 22, 23, 1, 4, 5, 7, 8, 9, 10, 11, 17, 18, 19, 20, 27 ],
|
||||||
|
"usetemplate": 2
|
||||||
|
}
|
||||||
24
resources/tagtypes/91.json
Executable file
24
resources/tagtypes/91.json
Executable file
@@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"name": "M3 1.6\" 200px BWRY",
|
||||||
|
"width": 200,
|
||||||
|
"height": 200,
|
||||||
|
"rotatebuffer": 3,
|
||||||
|
"bpp": 2,
|
||||||
|
"colortable": {
|
||||||
|
"white": [ 255, 255, 255 ],
|
||||||
|
"black": [ 0, 0, 0 ],
|
||||||
|
"red": [ 255, 0, 0 ],
|
||||||
|
"yellow": [ 255, 255, 0 ]
|
||||||
|
},
|
||||||
|
"perceptual": {
|
||||||
|
"white": [ 255, 255, 255 ],
|
||||||
|
"black": [ 0, 0, 0 ],
|
||||||
|
"red": [ 255, 0, 0 ],
|
||||||
|
"yellow": [ 200, 200, 0 ]
|
||||||
|
},
|
||||||
|
"shortlut": 0,
|
||||||
|
"options": [ "button", "led" ],
|
||||||
|
"contentids": [ 22, 23, 1, 2, 3, 4, 5, 7, 10, 14, 17, 18, 19, 20, 21 ],
|
||||||
|
"usetemplate": 48
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user