From 5a5f46886a5a8df8aceb689dcb433f01ada72525 Mon Sep 17 00:00:00 2001 From: freepdk Date: Fri, 17 Jun 2022 13:34:12 +0200 Subject: [PATCH] add DMO SKUs: 30252 / S0722540 / S0904980 --- .github/auto_build.sh | 4 +++ Src/main.c | 82 ++++++++++++++++++++++++++++++++++--------- 2 files changed, 69 insertions(+), 17 deletions(-) diff --git a/.github/auto_build.sh b/.github/auto_build.sh index 8d1528c..ba50a2b 100644 --- a/.github/auto_build.sh +++ b/.github/auto_build.sh @@ -17,6 +17,10 @@ build_sku 30857 build_sku 30336 build_sku 30332 build_sku 30256 +build_sku 30252 +build_sku S0722540 +build_sku S0904980 + DATE=$(date +'%Y%m%d') GIT=$(git describe --tags --abbrev=0) diff --git a/Src/main.c b/Src/main.c index d898766..2138da8 100644 --- a/Src/main.c +++ b/Src/main.c @@ -50,24 +50,21 @@ static void MX_I2C2_Init(void); // //choose between one of the dumped SKU (roll types) for emulation -//#define DMO_SKU_S0722430 // 54 mm x 101 mm / 2.125 in x 4 in / 220 pcs. -//#define DMO_SKU_S0722550 // 19 mm x 51 mm / 0.75 in x 2 in / 500 pcs. -//#define DMO_SKU_S0722400 // 36 mm x 89 mm / 1.4 in x 3.5 in / 50 pcs. -//#define DMO_SKU_1744907 // 102 mm x 152 mm / 4 in x 6 in / 220 pcs. -//#define DMO_SKU_30857 // 57 mm x 104 mm / 2.25 in x 4 in / 250 pcs. -//#define DMO_SKU_30336 // 25 mm x 51 mm / 1 in x 2.125 in / 500 pcs. -//#define DMO_SKU_30332 // 25 mm x 25 mm / 1 in x 1 in / 750 pcs. -//#define DMO_SKU_30256 // 59 mm x 104 mm / 2.3125 in x 4 in / 300 pcs. +//#define DMO_SKU_S0722430 // 54 mm x 101 mm / 2.125 in x 4 in / 220 pcs. +//#define DMO_SKU_S0722550 // 19 mm x 51 mm / 0.75 in x 2 in / 500 pcs. +//#define DMO_SKU_S0722400 // 36 mm x 89 mm / 1.4 in x 3.5 in / 50 pcs. +//#define DMO_SKU_1744907 // 102 mm x 152 mm / 4 in x 6 in / 220 pcs. +//#define DMO_SKU_30857 // 57 mm x 104 mm / 2.25 in x 4 in / 250 pcs. +//#define DMO_SKU_30336 // 25 mm x 51 mm / 1 in x 2.125 in / 500 pcs. +//#define DMO_SKU_30332 // 25 mm x 25 mm / 1 in x 1 in / 750 pcs. +//#define DMO_SKU_30256 // 59 mm x 104 mm / 2.3125 in x 4 in / 300 pcs. +//#define DMO_SKU_30252 // 28 mm x 89 mm / 1.125 in x 3.5 in / 350 pcs. +//#define‎DMO_SKU_S0722540 // 57 mm x 32 mm / 1.25 in x 2.25 in / 1000 pcs. +//#define DMO_SKU_S0904980 // 104 mm x 159 mm / 4 in x 6 in / 220 pcs. +//#define DMO_SKU_ //choose one of the dumped original tags for UID + signature emulation. It does not have to match the dumped data -#define SLIX2_TAG_EMU 1 -//#define SLIX2_TAG_EMU 2 -//#define SLIX2_TAG_EMU 3 -//#define SLIX2_TAG_EMU 4 -//#define SLIX2_TAG_EMU 5 -//#define SLIX2_TAG_EMU 6 -//#define SLIX2_TAG_EMU 7 -//#define SLIX2_TAG_EMU 8 +#define SLIX2_TAG_EMU 1 // 1-12 #if SLIX2_TAG_EMU == 1 static const uint8_t DMO_TAG_SLIX2_INVENTORY[SLIX2_INVENTORY_LEN] = {0x01,0xBA,0x6C,0x60,0x3D,0x08,0x01,0x04,0xE0}; @@ -101,6 +98,22 @@ static const uint8_t DMO_TAG_SLIX2_SIGNATURE[SLIX2_SIGNATURE_LEN] = {0x5F,0x64,0 static const uint8_t DMO_TAG_SLIX2_INVENTORY[SLIX2_INVENTORY_LEN] = {0x01,0x5C,0x63,0x7B,0x3F,0x08,0x01,0x04,0xE0}; static const uint8_t DMO_TAG_SLIX2_SYSINFO[SLIX2_SYSINFO_LEN] = {0x0F,0x5C,0x63,0x7B,0x3F,0x08,0x01,0x04,0xE0,0x01,0x3D,0x4F,0x03,0x01}; static const uint8_t DMO_TAG_SLIX2_SIGNATURE[SLIX2_SIGNATURE_LEN] = {0x6A,0x67,0x2D,0xAE,0x8D,0xFB,0xC7,0xC2,0x12,0x65,0x49,0x41,0x9B,0x3C,0x5F,0xAF,0xD7,0xC6,0xC0,0x97,0x33,0x43,0x99,0xE5,0xD0,0x5A,0xD9,0x71,0xFE,0x7B,0x74,0xA9}; +#elif SLIX2_TAG_EMU == 9 +static const uint8_t DMO_TAG_SLIX2_INVENTORY[SLIX2_INVENTORY_LEN] = {0x01,0x31,0x4B,0xA4,0x44,0x08,0x01,0x04,0xE0}; +static const uint8_t DMO_TAG_SLIX2_SYSINFO[SLIX2_SYSINFO_LEN] = {0x0F,0x31,0x4B,0xA4,0x44,0x08,0x01,0x04,0xE0,0x01,0x3D,0x4F,0x03,0x01}; +static const uint8_t DMO_TAG_SLIX2_SIGNATURE[SLIX2_SIGNATURE_LEN] = {0xE3,0x27,0x6A,0x9C,0xD7,0x8B,0xA0,0xB3,0x37,0x2F,0xAD,0xF2,0x2E,0x14,0xBF,0x87,0xF7,0x48,0x32,0x18,0x72,0x02,0xF3,0xBF,0x0D,0x5A,0xAD,0xBF,0x23,0xA9,0x44,0xD8}; +#elif SLIX2_TAG_EMU == 10 +static const uint8_t DMO_TAG_SLIX2_INVENTORY[SLIX2_INVENTORY_LEN] = {0x01,0x77,0x16,0x15,0x29,0x08,0x01,0x04,0xE0}; +static const uint8_t DMO_TAG_SLIX2_SYSINFO[SLIX2_SYSINFO_LEN] = {0x0F,0x77,0x16,0x15,0x29,0x08,0x01,0x04,0xE0,0x01,0x3D,0x4F,0x03,0x01}; +static const uint8_t DMO_TAG_SLIX2_SIGNATURE[SLIX2_SIGNATURE_LEN] = {0xE7,0x63,0x11,0x38,0xCF,0x8E,0xE3,0x14,0xE6,0x90,0xD2,0x3E,0x80,0xA9,0x0B,0x5B,0x7C,0x3C,0x73,0xAF,0x6B,0x5D,0x2F,0x18,0x79,0xD9,0x14,0x99,0xA7,0x88,0x50,0x10}; +#elif SLIX2_TAG_EMU == 11 +static const uint8_t DMO_TAG_SLIX2_INVENTORY[SLIX2_INVENTORY_LEN] = {0x01,0x49,0xCA,0x4D,0x44,0x08,0x01,0x04,0xE0}; +static const uint8_t DMO_TAG_SLIX2_SYSINFO[SLIX2_SYSINFO_LEN] = {0x0F,0x49,0xCA,0x4D,0x44,0x08,0x01,0x04 0xE0,0x01,0x3D,0x4F,0x03,0x01}; +static const uint8_t DMO_TAG_SLIX2_SIGNATURE[SLIX2_SIGNATURE_LEN] = {0xE1,0x59,0xA4,0x09,0x08,0xF1,0xE6,0x00,0x25 0x5F,0x59,0x96,0x8C,0x16,0x96,0x7B,0x81,0x52,0xA8,0x4C,0x09,0xDE,0x4C,0x2E,0xDF,0x9B,0xB3,0x65,0x5C,0x1E,0x00,0x20}; +#elif SLIX2_TAG_EMU == 12 +static const uint8_t DMO_TAG_SLIX2_INVENTORY[SLIX2_INVENTORY_LEN] = {0x01,0x49,0x4E,0xB1,0x44,0x08,0x01,0x04,0xE0}; +static const uint8_t DMO_TAG_SLIX2_SYSINFO[SLIX2_SYSINFO_LEN] = {0x0F,0x49,0x4E,0xB1,0x44,0x08,0x01,0x04,0xE0,0x01,0x3D,0x4F,0x03,0x01}; +static const uint8_t DMO_TAG_SLIX2_SIGNATURE[SLIX2_SIGNATURE_LEN] = {0x9C,0x42,0x9E,0x45,0x08,0xEF,0xA2,0xA5,0xF0,0x05,0xFC,0x86,0x27,0x37,0x98,0xF5,0xA5,0x9F,0xA2,0x87,0x20,0x9B,0x15,0x09,0x83,0x42,0x8E,0x64,0x3C,0x7A,0xC9,0xB9}; #endif #if defined (DMO_SKU_S0722430) @@ -199,7 +212,42 @@ static const uint8_t DMO_TAG_SLIX2_BLOCKS[SLIX2_BLOCKS*sizeof(uint32_t)] = { //3 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB6,0xFE,0x00,0x01 }; #endif - +#if defined (DMO_SKU_30252) +static const uint8_t DMO_TAG_SLIX2_BLOCKS[SLIX2_BLOCKS*sizeof(uint32_t)] = { //30252 28 x 89 mm, 350 pcs. + 0x03,0x0A,0x82,0xED,0x86,0x39,0x61,0xD2,0x03,0x14,0x1E,0x32,0xB6,0xCA,0x00,0x3C,0x59,0x25,0x6B,0x9D,0x33,0x30,0x32,0x35,0x32,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x24,0x01,0x01,0x00,0x00,0x00, + 0xA3,0x03,0x1E,0x00,0x24,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x79,0x03,0x17,0x01,0x00,0x00,0x00,0x00,0x37,0x01,0x5E,0x01,0xAA,0x3F,0x23,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0xD7,0xFA,0x00,0x1C,0x9B,0xF0,0x73,0x6B,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x35,0x80,0x3F,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x32,0x8C,0x00,0x30,0x67,0xCD,0x01,0xEF,0x00,0x00,0x00,0x00,0x89,0x36,0x77,0x59,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x11,0xF3,0x00,0x2C,0xDD,0xC3,0x3E,0x91,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFE,0x00,0x01 +}; +#endif +#if defined (DMO_SKU_S0722540) +static const uint8_t DMO_TAG_SLIX2_BLOCKS[SLIX2_BLOCKS*sizeof(uint32_t)] = { //S0722540 57 x 32 mm, 1000 pcs. + 0x03,0x0A,0x82,0xED,0x86,0x39,0x61,0xD2,0x03,0x14,0x1E,0x32,0xB6,0xCA,0x00,0x3C,0x82,0xEB,0xEE,0x6F,0x53,0x30,0x37,0x32,0x32,0x35,0x34,0x30,0x00,0x00,0x00,0x00,0x00,0xFF,0x06,0x01,0x01,0x00,0x00,0x00, + 0x9D,0x01,0x1E,0x00,0x58,0x00,0x00,0x00,0x00,0x00,0x19,0x00,0x3D,0x01,0x3B,0x02,0x00,0x00,0x00,0x00,0x6B,0x02,0xE8,0x03,0xA0,0x50,0x64,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0xD7,0xFA,0x00,0x1C,0xEC,0xE7,0x36,0x9F,0x00,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0xE8,0x49,0x6B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x32,0x8C,0x00,0x30,0xA4,0x4C,0x78,0x00,0x00,0x00,0x00,0x00,0x8C,0x05,0xEC,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x11,0xF3,0x00,0x2C,0xDD,0xC3,0x3E,0x91,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5C,0xFF,0x00,0x01 +}; +#endif +#if defined (DMO_SKU_S0904980) +static const uint8_t DMO_TAG_SLIX2_BLOCKS[SLIX2_BLOCKS*sizeof(uint32_t)] = { //S0904980 104 x 159 mm, 220 pcs. + 0x03,0x0A,0x82,0xED,0x86,0x39,0x61,0xD2,0x03,0x14,0x1E,0x32,0xB6,0xCA,0x00,0x3C,0x86,0xD3,0x18,0x6B,0x53,0x30,0x39,0x30,0x34,0x39,0x38,0x30,0x00,0x00,0x00,0x00,0x00,0xFF,0x04,0x01,0x01,0x00,0x00,0x00, + 0x73,0x06,0x1E,0x00,0x26,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x3A,0x06,0x14,0x04,0x00,0x00,0x00,0x00,0x33,0x04,0xDC,0x00,0xF1,0x46,0x16,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0xD7,0xFA,0x00,0x1C,0xEC,0x16,0x52,0x70,0x00,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x8E,0x05,0x2E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x32,0x8C,0x00,0x30,0xB6,0x6B,0x7D,0x6A,0x00,0x00,0x00,0x00,0x9D,0x01,0x96,0x5E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x11,0xF3,0x00,0x2C,0xDD,0xC3,0x3E,0x91,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0D,0xFF,0x00,0x01 +}; +#endif ///////////////////////////////////////////////////////// // I2C to real CLRC688 for reading presented tags