From af129481c2f44c5582cc65326877758792dcb7db Mon Sep 17 00:00:00 2001 From: Rajul Bhambay Date: Thu, 14 Sep 2023 10:53:13 +0530 Subject: [PATCH] am64x/am243x: HDSL: Multi-channel Free-run Mode bugs - Multiple setups fix - Multiple encoders fix Fixes: PINDSW-6909 Signed-off-by: Rajul Bhambay --- .../position_sense/hdsl/firmware/datalink.asm | 7 ++- .../hdsl_master_icssg_multichannel_ch0_bin.h | 58 +++++++++---------- .../hdsl_master_icssg_multichannel_ch1_bin.h | 58 +++++++++---------- 3 files changed, 60 insertions(+), 63 deletions(-) diff --git a/source/position_sense/hdsl/firmware/datalink.asm b/source/position_sense/hdsl/firmware/datalink.asm index 37a0506..eb92ce0 100644 --- a/source/position_sense/hdsl/firmware/datalink.asm +++ b/source/position_sense/hdsl/firmware/datalink.asm @@ -1987,10 +1987,11 @@ wait_delay: NOP_2 NOP_2 NOP_2 - NOP_2 - NOP_2 .endif ;HDSL_MULTICHANNEL - + .if $defined(EXT_SYNC_ENABLE) + NOP_2 + NOP_2 + .endif ;EXT_SYNC_ENABLE ; same code as in learn ; with 4 or 3 bit encoder does not respond after time, starts working with 2 set it to 1 wait_on_rx_transtion_in_wait_delay: diff --git a/source/position_sense/hdsl/firmware/hdsl_master_icssg_multichannel_ch0_bin.h b/source/position_sense/hdsl/firmware/hdsl_master_icssg_multichannel_ch0_bin.h index e98998b..18e9672 100644 --- a/source/position_sense/hdsl/firmware/hdsl_master_icssg_multichannel_ch0_bin.h +++ b/source/position_sense/hdsl/firmware/hdsl_master_icssg_multichannel_ch0_bin.h @@ -54,7 +54,7 @@ * */ const uint32_t Hiperface_DSL2_0_RTU_0[] = { -0x21078b00, +0x21078900, 0x2eff8f8e, 0x24000725, 0x24041e8d, @@ -117,7 +117,7 @@ const uint32_t Hiperface_DSL2_0_RTU_0[] = { 0x23033bd1, 0x1d03c4c4, 0x2302cbd1, -0x2305ae9d, +0x2305ac9d, 0x05014545, 0x51074514, 0x49004502, @@ -159,7 +159,7 @@ const uint32_t Hiperface_DSL2_0_RTU_0[] = { 0x10000020, 0x0b018001, 0x14000130, -0x230363d1, +0x230361d1, 0x6f0005f6, 0x24001d05, 0xc918ff00, @@ -171,7 +171,7 @@ const uint32_t Hiperface_DSL2_0_RTU_0[] = { 0x10000020, 0x0b018001, 0x14000130, -0x230363d1, +0x230361d1, 0x6f0105f6, 0xc918ff00, 0x101f1f00, @@ -272,7 +272,7 @@ const uint32_t Hiperface_DSL2_0_RTU_0[] = { 0x1e05cdcd, 0x0b018001, 0x14000130, -0x230363d1, +0x230361d1, 0x6f0005f7, 0x240120eb, 0xf0cd0b0d, @@ -291,7 +291,7 @@ const uint32_t Hiperface_DSL2_0_RTU_0[] = { 0x1e05cdcd, 0x0b018001, 0x14000130, -0x230363d1, +0x230361d1, 0x6f0005f7, 0x24000001, 0x1c2d5050, @@ -314,7 +314,7 @@ const uint32_t Hiperface_DSL2_0_RTU_0[] = { 0x1f00cdcd, 0x0b018021, 0x14002130, -0x230363d1, +0x230361d1, 0x110fcdc0, 0x240168eb, 0xf0c00b00, @@ -339,7 +339,7 @@ const uint32_t Hiperface_DSL2_0_RTU_0[] = { 0x1e05cdcd, 0x0b018001, 0x14000130, -0x230363d1, +0x230361d1, 0x6f0005f7, 0x240120eb, 0xf0cd0b0d, @@ -358,7 +358,7 @@ const uint32_t Hiperface_DSL2_0_RTU_0[] = { 0x1e05cdcd, 0x0b018001, 0x14000130, -0x230363d1, +0x230361d1, 0x6f0005f7, 0x24000001, 0x1c2d5050, @@ -381,7 +381,7 @@ const uint32_t Hiperface_DSL2_0_RTU_0[] = { 0x1f00cdcd, 0x0b018021, 0x14002130, -0x230363d1, +0x230361d1, 0x110fcdc0, 0x240168eb, 0xf0c00b00, @@ -575,14 +575,14 @@ const uint32_t Hiperface_DSL2_0_RTU_0[] = { 0xd703ffff, 0x2400001e, 0x2400ff1e, -0x2103ae00, +0x2103ac00, 0x69074507, 0xc901c405, 0xd104ff00, 0xd703ffff, 0x2400ff1e, 0x2400ff1e, -0x21040200, +0x21040000, 0x51000c2d, 0x51015b04, 0x100c0c02, @@ -691,7 +691,7 @@ const uint32_t Hiperface_DSL2_0_RTU_0[] = { 0x79000002, 0x2400ff1e, 0x09017979, -0x21052300, +0x21052100, 0xd1077905, 0xd104ff00, 0xd703ffff, @@ -743,12 +743,12 @@ const uint32_t Hiperface_DSL2_0_RTU_0[] = { 0xd1047905, 0x106d6d79, 0x2400037b, -0x21036800, +0x21036600, 0x2102b600, 0x106d6d79, 0x2400027b, -0x21036800, -0x21044e00, +0x21036600, +0x21044c00, 0xd104ff00, 0xd703ffff, 0xd1074d03, @@ -879,7 +879,7 @@ const uint32_t Hiperface_DSL2_0_RTU_0[] = { 0x1f00c0c0, 0x1f008181, 0x81505880, -0x21064000, +0x21063e00, 0x20d10000, 0x117f6666, 0xc9066604, @@ -908,8 +908,6 @@ const uint32_t Hiperface_DSL2_0_RTU_0[] = { 0x31010001, 0x31010001, 0x31010001, -0x31010001, -0x31010001, 0x1f007e7e, 0x810c3c80, 0x24000c10, @@ -959,7 +957,7 @@ const uint32_t Hiperface_DSL2_0_RTU_0[] = { 0x2400017b, 0x2102b700, 0x2400017b, -0x21044e00, +0x21044c00, 0xd104ff00, 0xd703ffff, 0xd1077903, @@ -987,7 +985,7 @@ const uint32_t Hiperface_DSL2_0_RTU_0[] = { 0x2400ff1e, 0x09017979, 0x2400017b, -0x21044e00, +0x21044c00, 0x2eff838e, 0x24003f00, 0x81401800, @@ -1049,7 +1047,7 @@ const uint32_t Hiperface_DSL2_0_RTU_0[] = { 0x686e5303, 0x24000019, 0x79000002, -0x230620d1, +0x23061ed1, 0x10535300, 0x10333320, 0x10131340, @@ -1061,7 +1059,7 @@ const uint32_t Hiperface_DSL2_0_RTU_0[] = { 0x815618c4, 0x815818d8, 0x81637894, -0x2103f500, +0x2103f300, 0x31010004, 0xd104ff00, 0xd703ffff, @@ -1258,7 +1256,7 @@ const uint32_t Hiperface_DSL2_0_RTU_0[] = { 0x24003001, 0xd1066b0e, 0x2400010d, -0x23077dd1, +0x23077bd1, 0x68ab8d45, 0x13803b3b, 0x913d1880, @@ -1271,7 +1269,7 @@ const uint32_t Hiperface_DSL2_0_RTU_0[] = { 0x81531800, 0x7900003b, 0x2400020d, -0x23077dd1, +0x23077bd1, 0x688b8d38, 0x8137184b, 0x13803b3b, @@ -1314,7 +1312,7 @@ const uint32_t Hiperface_DSL2_0_RTU_0[] = { 0x1d09c4c4, 0x2400040d, 0x24003001, -0x23077dd1, +0x23077bd1, 0x15ff8d9c, 0x69005c34, 0x51009c33, @@ -1555,7 +1553,7 @@ const uint32_t Hiperface_DSL2_0_RTU_0[] = { 0xd703ffff, 0x2400001e, 0x2400001e, -0x230607d1, +0x230605d1, 0x108b8b9d, 0x91aa1800, 0x1f018000, @@ -1579,7 +1577,7 @@ const uint32_t Hiperface_DSL2_0_RTU_0[] = { 0xd703ffff, 0x2400001e, 0x2400001e, -0x230607d1, +0x230605d1, 0x91983880, 0x10eeeee1, 0x24000061, @@ -1672,7 +1670,7 @@ const uint32_t Hiperface_DSL2_0_RTU_0[] = { 0x810b1800, 0x81441800, 0x2eff8383, -0x2303a69d, +0x2303a49d, 0x24000866, 0x2400000c, 0x2400002c, @@ -1988,5 +1986,5 @@ const uint32_t Hiperface_DSL2_0_RTU_0[] = { 0x91003c82, 0x1308e2e2, 0x81003c82, -0x21064000}; +0x21063e00}; diff --git a/source/position_sense/hdsl/firmware/hdsl_master_icssg_multichannel_ch1_bin.h b/source/position_sense/hdsl/firmware/hdsl_master_icssg_multichannel_ch1_bin.h index c2c789d..28b0588 100644 --- a/source/position_sense/hdsl/firmware/hdsl_master_icssg_multichannel_ch1_bin.h +++ b/source/position_sense/hdsl/firmware/hdsl_master_icssg_multichannel_ch1_bin.h @@ -54,7 +54,7 @@ * */ const uint32_t Hiperface_DSL2_0_PRU_0[] = { -0x21078c00, +0x21078a00, 0x2eff8f8e, 0x24000725, 0x24041e8d, @@ -117,7 +117,7 @@ const uint32_t Hiperface_DSL2_0_PRU_0[] = { 0x23033bd1, 0x1d03c4c4, 0x2302cbd1, -0x2305ae9d, +0x2305ac9d, 0x05014545, 0x51074514, 0x49004502, @@ -159,7 +159,7 @@ const uint32_t Hiperface_DSL2_0_PRU_0[] = { 0x10000020, 0x0b018001, 0x14000130, -0x230363d1, +0x230361d1, 0x6f0005f6, 0x24001d05, 0xc919ff00, @@ -171,7 +171,7 @@ const uint32_t Hiperface_DSL2_0_PRU_0[] = { 0x10000020, 0x0b018001, 0x14000130, -0x230363d1, +0x230361d1, 0x6f0105f6, 0xc919ff00, 0x103f3f00, @@ -272,7 +272,7 @@ const uint32_t Hiperface_DSL2_0_PRU_0[] = { 0x1e05cdcd, 0x0b018001, 0x14000130, -0x230363d1, +0x230361d1, 0x6f0005f7, 0x240820eb, 0xf0cd0b0d, @@ -291,7 +291,7 @@ const uint32_t Hiperface_DSL2_0_PRU_0[] = { 0x1e05cdcd, 0x0b018001, 0x14000130, -0x230363d1, +0x230361d1, 0x6f0005f7, 0x24000001, 0x1c2d5050, @@ -314,7 +314,7 @@ const uint32_t Hiperface_DSL2_0_PRU_0[] = { 0x1f00cdcd, 0x0b018021, 0x14002130, -0x230363d1, +0x230361d1, 0x110fcdc0, 0x240868eb, 0xf0c00b00, @@ -339,7 +339,7 @@ const uint32_t Hiperface_DSL2_0_PRU_0[] = { 0x1e05cdcd, 0x0b018001, 0x14000130, -0x230363d1, +0x230361d1, 0x6f0005f7, 0x240820eb, 0xf0cd0b0d, @@ -358,7 +358,7 @@ const uint32_t Hiperface_DSL2_0_PRU_0[] = { 0x1e05cdcd, 0x0b018001, 0x14000130, -0x230363d1, +0x230361d1, 0x6f0005f7, 0x24000001, 0x1c2d5050, @@ -381,7 +381,7 @@ const uint32_t Hiperface_DSL2_0_PRU_0[] = { 0x1f00cdcd, 0x0b018021, 0x14002130, -0x230363d1, +0x230361d1, 0x110fcdc0, 0x240868eb, 0xf0c00b00, @@ -575,14 +575,14 @@ const uint32_t Hiperface_DSL2_0_PRU_0[] = { 0xd70bffff, 0x2400001e, 0x2400ff1e, -0x2103ae00, +0x2103ac00, 0x69074507, 0xc901c405, 0xd10cff00, 0xd70bffff, 0x2400ff1e, 0x2400ff1e, -0x21040200, +0x21040000, 0x51000c2d, 0x51015b04, 0x100c0c02, @@ -691,7 +691,7 @@ const uint32_t Hiperface_DSL2_0_PRU_0[] = { 0x79000002, 0x2400ff1e, 0x09017979, -0x21052300, +0x21052100, 0xd1077905, 0xd10cff00, 0xd70bffff, @@ -743,12 +743,12 @@ const uint32_t Hiperface_DSL2_0_PRU_0[] = { 0xd1047905, 0x106d6d79, 0x2400037b, -0x21036800, +0x21036600, 0x2102b600, 0x106d6d79, 0x2400027b, -0x21036800, -0x21044e00, +0x21036600, +0x21044c00, 0xd10cff00, 0xd70bffff, 0xd1074d03, @@ -879,7 +879,7 @@ const uint32_t Hiperface_DSL2_0_PRU_0[] = { 0x1f00c0c0, 0x1f008181, 0x81505880, -0x21064000, +0x21063e00, 0x20d10000, 0x117f6666, 0xc9066604, @@ -908,8 +908,6 @@ const uint32_t Hiperface_DSL2_0_PRU_0[] = { 0x31010001, 0x31010001, 0x31010001, -0x31010001, -0x31010001, 0x1f017e7e, 0x810c3c80, 0x24000c10, @@ -959,7 +957,7 @@ const uint32_t Hiperface_DSL2_0_PRU_0[] = { 0x2400017b, 0x2102b700, 0x2400017b, -0x21044e00, +0x21044c00, 0xd10cff00, 0xd70bffff, 0xd1077903, @@ -987,7 +985,7 @@ const uint32_t Hiperface_DSL2_0_PRU_0[] = { 0x2400ff1e, 0x09017979, 0x2400017b, -0x21044e00, +0x21044c00, 0x2eff838e, 0x24003f00, 0x81401800, @@ -1049,7 +1047,7 @@ const uint32_t Hiperface_DSL2_0_PRU_0[] = { 0x686e5303, 0x24000019, 0x79000002, -0x230620d1, +0x23061ed1, 0x10535300, 0x10333320, 0x10131340, @@ -1061,7 +1059,7 @@ const uint32_t Hiperface_DSL2_0_PRU_0[] = { 0x815618c4, 0x815818d8, 0x81637894, -0x2103f500, +0x2103f300, 0x31010004, 0xd10cff00, 0xd70bffff, @@ -1258,7 +1256,7 @@ const uint32_t Hiperface_DSL2_0_PRU_0[] = { 0x24003001, 0xd1066b0e, 0x2400010d, -0x23077ed1, +0x23077cd1, 0x68ab8d45, 0x13803b3b, 0x913d1880, @@ -1271,7 +1269,7 @@ const uint32_t Hiperface_DSL2_0_PRU_0[] = { 0x81531800, 0x7900003b, 0x2400020d, -0x23077ed1, +0x23077cd1, 0x688b8d38, 0x8137184b, 0x13803b3b, @@ -1314,7 +1312,7 @@ const uint32_t Hiperface_DSL2_0_PRU_0[] = { 0x1d09c4c4, 0x2400040d, 0x24003001, -0x23077ed1, +0x23077cd1, 0x15ff8d9c, 0x69005c34, 0x51009c33, @@ -1555,7 +1553,7 @@ const uint32_t Hiperface_DSL2_0_PRU_0[] = { 0xd70bffff, 0x2400001e, 0x2400001e, -0x230607d1, +0x230605d1, 0x108b8b9d, 0x91aa1800, 0x1f018000, @@ -1579,7 +1577,7 @@ const uint32_t Hiperface_DSL2_0_PRU_0[] = { 0xd70bffff, 0x2400001e, 0x2400001e, -0x230607d1, +0x230605d1, 0x91983880, 0x10eeeee1, 0x24000061, @@ -1673,7 +1671,7 @@ const uint32_t Hiperface_DSL2_0_PRU_0[] = { 0x810b1800, 0x81441800, 0x2eff8383, -0x2303a69d, +0x2303a49d, 0x24000866, 0x2400000c, 0x2400002c, @@ -1989,5 +1987,5 @@ const uint32_t Hiperface_DSL2_0_PRU_0[] = { 0x91003c82, 0x1308e2e2, 0x81003c82, -0x21064000}; +0x21063e00};