From 073dd0c50a9e1be73c7810f64474913ce194843e Mon Sep 17 00:00:00 2001 From: Matthew Kelch Date: Fri, 5 Apr 2024 07:48:58 -0400 Subject: [PATCH] Add support for M3 2.9 BW Variant (#278) --- .gitignore | 3 +++ .../hal/Newton_M3_nRF52811/tagtype_db.cpp | 8 +++++++- oepl-definitions.h | 5 +++-- resources/tagtypes/40.json | 2 +- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 3fa9fc6e..46726838 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,6 @@ sdcc/sdcc ESP32_AP-Flasher/.vscode/extensions.json ARM_Tag_FW\Newton_M3_nRF52811\$PROJECT_DIR + +# OS generated files +.DS_Store diff --git a/ARM_Tag_FW/Newton_M3_nRF52811/hal/Newton_M3_nRF52811/tagtype_db.cpp b/ARM_Tag_FW/Newton_M3_nRF52811/hal/Newton_M3_nRF52811/tagtype_db.cpp index 0c17d8f6..6d553cd5 100644 --- a/ARM_Tag_FW/Newton_M3_nRF52811/hal/Newton_M3_nRF52811/tagtype_db.cpp +++ b/ARM_Tag_FW/Newton_M3_nRF52811/hal/Newton_M3_nRF52811/tagtype_db.cpp @@ -41,9 +41,9 @@ void identifyTagInfo() { 22 F0 BF 05 15 0A 14 04 00 12 00 18 03 10 01 04 07 07 01 80 00 00 24 FF FF FF FF FF FF FF FF FF 5.85 BW 99 78 B1 05 15 0A 06 04 00 0D 01 68 01 B8 00 38 07 07 01 80 00 00 43 FF FF FF FF FF FF FF FF FF 2.6" 72 92 1E 7E 15 0B 09 04 00 15 00 80 01 A8 00 38 00 01 01 9C 00 00 22 FF FF FF FF FF FF FF FF FF 2.9" FREEZER + 2F A5 03 06 15 0C 07 04 00 15 00 80 01 A8 00 38 00 07 81 1D 00 00 4E FF FF FF FF FF FF FF FF FF 2.9" BW 31 50 53 06 16 02 19 04 00 12 01 C8 00 C8 00 04 00 07 01 9C 00 00 40 FF FF FF FF FF FF FF FF FF - 2F A5 03 06 15 0C 07 04 00 15 00 80 01 A8 00 38 00 07 81 1D 00 00 4E FF FF FF FF FF FF FF FF FF 2.9-unknown? 4B F3 DE 04 15 05 07 04 00 0F 01 C8 00 90 00 38 00 07 01 19 00 00 4D FF FF FF FF FF FF FF FF FF 1.3-peghook @@ -182,6 +182,12 @@ void identifyTagInfo() { epd->drawDirectionRight = true; epd->XOffset = 8; break; + case STYPE_SIZE_029_BW: + tag.OEPLtype = SOLUM_M3_BW_29; + tag.macSuffix = 0xAEB0; + epd->drawDirectionRight = true; + epd->XOffset = 8; + break; case STYPE_SIZE_029_FREEZER: tag.OEPLtype = SOLUM_M3_BW_29; tag.macSuffix = 0x82D0; diff --git a/oepl-definitions.h b/oepl-definitions.h index f9a190a5..f2127401 100755 --- a/oepl-definitions.h +++ b/oepl-definitions.h @@ -84,6 +84,7 @@ #define STYPE_SIZE_022 0x41 #define STYPE_SIZE_026 0x43 #define STYPE_SIZE_029 0x42 +#define STYPE_SIZE_029_BW 0x4E #define STYPE_SIZE_029_FREEZER 0x22 #define STYPE_SIZE_042 0x46 #define STYPE_SIZE_043 0x47 @@ -113,7 +114,7 @@ #define DATATYPE_IMG_DIFF 0x10 // always 1BPP ** deprecated #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_ZLIB 0x30 // compressed format. +#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] @@ -156,7 +157,7 @@ #define EPD_LUT_FAST 3 #define EPD_LUT_OTA 0x10 -// these are the 'custom image' arguments that will be sent in addition to their 'type'. +// these are the 'custom image' arguments that will be sent in addition to their 'type'. #define CUSTOM_IMAGE_NOCUSTOM 0x00 // regular image type #define CUSTOM_IMAGE_SPLASHSCREEN 0x01 // will show at first boot/powerup #define CUSTOM_IMAGE_LOST_CONNECTION 0x02 // this image will be shown (if it exists on the tag) if the tag looses its connection diff --git a/resources/tagtypes/40.json b/resources/tagtypes/40.json index d0414ce0..f3406366 100644 --- a/resources/tagtypes/40.json +++ b/resources/tagtypes/40.json @@ -1,6 +1,6 @@ { "version": 0, - "name": "M3 2.9\" FREEZER", + "name": "M3 2.9\" BW", "width": 384, "height": 168, "rotatebuffer": 3,