diff --git a/examples/position_sense/endat_diagnostic/endat_periodic_trigger.c b/examples/position_sense/endat_diagnostic/endat_periodic_trigger.c index 03b4c51..791cea7 100644 --- a/examples/position_sense/endat_diagnostic/endat_periodic_trigger.c +++ b/examples/position_sense/endat_diagnostic/endat_periodic_trigger.c @@ -276,12 +276,6 @@ void pruEnDatIrqHandler0(void *args) /* debug, inncrement PRU SDFM IRQ count */ gPruEnDatIrqCnt0++; - /* clear Cmp3 event*/ - uint32_t event_clear; - event_clear = HW_RD_REG8((uint8_t*)gPruss_iep + CSL_ICSS_G_PR1_IEP1_SLV_CMP_STATUS_REG); - event_clear |= IEP_CMP3_EVNT; - HW_WR_REG8((uint8_t*)gPruss_iep + CSL_ICSS_G_PR1_IEP1_SLV_CMP_STATUS_REG, event_clear); - /* Clear interrupt at source */ /* Write 18 to ICSSG_STATUS_CLR_INDEX_REG Firmware: TRIGGER_HOST_SDFM_IRQ defined as 18 @@ -296,12 +290,6 @@ void pruEnDatIrqHandler1(void *args) /* debug, inncrement PRU SDFM IRQ count */ gPruEnDatIrqCnt1++; - /* clear Cmp5 event*/ - uint32_t event_clear; - event_clear = HW_RD_REG8((uint8_t*)gPruss_iep + CSL_ICSS_G_PR1_IEP1_SLV_CMP_STATUS_REG); - event_clear |= IEP_CMP5_EVNT; - HW_WR_REG8((uint8_t*)gPruss_iep + CSL_ICSS_G_PR1_IEP1_SLV_CMP_STATUS_REG, event_clear); - /* Clear interrupt at source */ /* Write 18 to ICSSG_STATUS_CLR_INDEX_REG Firmware: TRIGGER_HOST_SDFM_IRQ defined as 18 @@ -318,12 +306,6 @@ void pruEnDatIrqHandler2(void *args) /* debug, inncrement PRU SDFM IRQ count */ gPruEnDatIrqCnt2++; - /* clear Cmp6 event*/ - uint32_t event_clear; - event_clear = HW_RD_REG8((uint8_t*)gPruss_iep + CSL_ICSS_G_PR1_IEP1_SLV_CMP_STATUS_REG); - event_clear |= IEP_CMP6_EVNT; - HW_WR_REG8((uint8_t*)gPruss_iep + CSL_ICSS_G_PR1_IEP1_SLV_CMP_STATUS_REG, event_clear); - /* Clear interrupt at source */ /* Write 18 to ICSSG_STATUS_CLR_INDEX_REG Firmware: TRIGGER_HOST_SDFM_IRQ defined as 18 diff --git a/source/current_sense/sdfm/firmware/firmware_version.h b/source/current_sense/sdfm/firmware/firmware_version.h index f022a45..e808b21 100644 --- a/source/current_sense/sdfm/firmware/firmware_version.h +++ b/source/current_sense/sdfm/firmware/firmware_version.h @@ -62,7 +62,7 @@ FIRMWARE_VERSION_REVISION .set 0x01 ; bit23..16 major number FIRMWARE_VERSION_MAJOR .set 0x01 ; bit15..0 minor number -FIRMWARE_VERSION_MINOR .set 0x0002 +FIRMWARE_VERSION_MINOR .set 0x0003 ICSS_FIRMWARE_RELEASE_1 .set ((FIRMWARE_DEVICE_AM64x_AM243x << 8) | (FIRMWARE_PROTOCOL_TYPE_SDFM << 0)) ICSS_FIRMWARE_RELEASE_2 .set ((FIRMWARE_VERSION_RELEASE << 31) | (FIRMWARE_VERSION_REVISION << 24) | (FIRMWARE_VERSION_MAJOR << 16) | (FIRMWARE_VERSION_MINOR << 0)) diff --git a/source/current_sense/sdfm/firmware/sdfm.asm b/source/current_sense/sdfm/firmware/sdfm.asm index 9176264..d6ae1ba 100644 --- a/source/current_sense/sdfm/firmware/sdfm.asm +++ b/source/current_sense/sdfm/firmware/sdfm.asm @@ -782,24 +782,7 @@ FN_NC_LOOP_TASK: LDI R0.b0, 0 MOV R18.b0, R30.b3 ; save T0 SD channel select xchg BANK_CTXT_NC, &R1, 4*18 - - .if $isdefed("SDFM_RTU_CORE") - ; Clear IEP0 CMP7 event - LBCO &TEMP_REG0.b0, CT_PRU_ICSSG_IEP0, ICSSG_IEP_CMP_STATUS_REG, 1 - SET TEMP_REG0.t7 - SBCO &TEMP_REG0.b0, CT_PRU_ICSSG_IEP0, ICSSG_IEP_CMP_STATUS_REG, 1 - .elseif $isdefed("SDFM_PRU_CORE") - ; Clear IEP0 CMP4 event - LBCO &TEMP_REG0.b0, CT_PRU_ICSSG_IEP0, ICSSG_IEP_CMP_STATUS_REG, 1 - SET TEMP_REG0.t4 - SBCO &TEMP_REG0.b0, CT_PRU_ICSSG_IEP0, ICSSG_IEP_CMP_STATUS_REG, 1 - .elseif $isdefed("SDFM_TXPRU_CORE") - ; Clear IEP0 CMP8 event - LBCO &TEMP_REG0.b0, CT_PRU_ICSSG_IEP0, ICSSG_IEP_CMP_STATUS_REG, 1 - SET TEMP_REG0.t8 - SBCO &TEMP_REG0.b0, CT_PRU_ICSSG_IEP0, ICSSG_IEP_CMP_STATUS_REG, 1 - .endif ; SDFM_TXPRU_CORE - + .if $isdefed("DEBUG_CODE") ;Debug code :GPIO HIGH LBBO &GPIO_TGL_ADDR, SDFM_CFG_BASE_PTR_REG, SDFM_CFG_LOW_THR_CH0_SET_VAL_ADDR_OFFSET, SDFM_CFG_GPIO_SET_ADDR_SZ @@ -1052,19 +1035,16 @@ FN_IEP0_INIT: .if $isdefed("SDFM_RTU_CORE") ; Clear IEP0 CMP7 event - LBCO &TEMP_REG0.b0, CT_PRU_ICSSG_IEP0, ICSSG_IEP_CMP_STATUS_REG, 1 - SET TEMP_REG0.t7 + LDI TEMP_REG0.b0, 0x80 SBCO &TEMP_REG0.b0, CT_PRU_ICSSG_IEP0, ICSSG_IEP_CMP_STATUS_REG, 1 .elseif $isdefed("SDFM_PRU_CORE") ; Clear IEP0 CMP4 event - LBCO &TEMP_REG0.b0, CT_PRU_ICSSG_IEP0, ICSSG_IEP_CMP_STATUS_REG, 1 - SET TEMP_REG0.t4 + LDI TEMP_REG0.b0, 0x10 SBCO &TEMP_REG0.b0, CT_PRU_ICSSG_IEP0, ICSSG_IEP_CMP_STATUS_REG, 1 .elseif $isdefed("SDFM_TXPRU_CORE") ; Clear IEP0 CMP8 event - LBCO &TEMP_REG0.b0, CT_PRU_ICSSG_IEP0, ICSSG_IEP_CMP_STATUS_REG, 1 - SET TEMP_REG0.t8 - SBCO &TEMP_REG0.b0, CT_PRU_ICSSG_IEP0, ICSSG_IEP_CMP_STATUS_REG, 1 + LDI TEMP_REG0.w0, 0x100 + SBCO &TEMP_REG0.w0, CT_PRU_ICSSG_IEP0, ICSSG_IEP_CMP_STATUS_REG, 2 .endif ; SDFM_TXPRU_CORE .if $isdefed("SDFM_PRU_CORE") diff --git a/source/current_sense/sdfm/firmware/sdfm_bin.h b/source/current_sense/sdfm/firmware/sdfm_bin.h index 81ddcfb..7e88fee 100644 --- a/source/current_sense/sdfm/firmware/sdfm_bin.h +++ b/source/current_sense/sdfm/firmware/sdfm_bin.h @@ -57,7 +57,7 @@ const uint32_t SDFM_PRU0_image_0[] = { 0x240000c1, 0x24020981, 0x240101c2, -0x24000282, +0x24000382, 0xe1c07781, 0x32000000, 0x240fff81, @@ -70,7 +70,7 @@ const uint32_t SDFM_PRU0_image_0[] = { 0x10000000, 0xf1171701, 0xc9000104, -0x23022a99, +0x23022699, 0x1d00e1e1, 0xe1171701, 0xf1171701, @@ -79,7 +79,7 @@ const uint32_t SDFM_PRU0_image_0[] = { 0xcf0001fd, 0x1f00e1e1, 0xe1011701, -0x23017099, +0x23016d99, 0x32800000, 0x240c00c2, 0x24000082, @@ -104,13 +104,13 @@ const uint32_t SDFM_PRU0_image_0[] = { 0x0b04e1e1, 0x110fe1e2, 0x10020256, +0x23018e99, +0x2302bb99, 0x23019299, -0x2302bf99, -0x23019699, -0x2301c699, -0x23020b99, +0x2301c299, +0x23020799, 0x1f19fefe, -0x23021499, +0x23021099, 0x240fffd5, 0x24ffff95, 0x240000d4, @@ -131,7 +131,7 @@ const uint32_t SDFM_PRU0_image_0[] = { 0x09020101, 0x1281c1c1, 0x10c1c1da, -0x23017799, +0x23017499, 0x91001a01, 0x1f00e1e1, 0x81001a01, @@ -331,9 +331,6 @@ const uint32_t SDFM_PRU0_image_0[] = { 0x24000000, 0x107e7e12, 0x2f852381, -0x91741a01, -0x1f04e1e1, -0x81741a01, 0x240260de, 0x10000000, 0x11ffffe2, @@ -387,10 +384,10 @@ const uint32_t SDFM_PRU0_image_0[] = { 0x240000e2, 0xf1083782, 0x58e2e102, -0x21015100, +0x21014e00, 0x04e2e1e1, 0x81983a81, -0x21016500, +0x21016200, 0x59031c07, 0xf1b83781, 0x91983a82, @@ -433,8 +430,7 @@ const uint32_t SDFM_PRU0_image_0[] = { 0x240000e1, 0x81143a81, 0x81103a81, -0x91741a01, -0x1f04e1e1, +0x24001001, 0x81741a01, 0x91001a01, 0x110f0101, @@ -475,7 +471,7 @@ const uint32_t SDFM_PRU0_image_0[] = { 0x09015341, 0x13414141, 0x13804141, -0x2101c100, +0x2101bd00, 0x6836030d, 0xf14e1701, 0xc9010417, @@ -488,7 +484,7 @@ const uint32_t SDFM_PRU0_image_0[] = { 0x09015341, 0x13414141, 0x13804141, -0x2101c100, +0x2101bd00, 0x6856030c, 0xf17e1701, 0xc902040a, @@ -530,7 +526,7 @@ const uint32_t SDFM_PRU0_image_0[] = { 0x09033b21, 0x09011b41, 0x13414141, -0x21020600, +0x21020200, 0x68360314, 0x24000081, 0xf16c1741, @@ -550,7 +546,7 @@ const uint32_t SDFM_PRU0_image_0[] = { 0x09033b21, 0x09011b41, 0x13414141, -0x21020600, +0x21020200, 0x68560313, 0x24000081, 0xf19c1741, @@ -635,53 +631,53 @@ const uint32_t SDFM_PRU0_image_0[] = { 0xd1005f2e, 0x01018282, 0x1b01e3e3, -0x21027400, +0x21027000, 0x01028282, 0x1b02e3e3, -0x21027400, +0x21027000, 0x01038282, 0x1b03e3e3, -0x21027400, +0x21027000, 0x01048282, 0x1b04e3e3, -0x21027400, +0x21027000, 0x01058282, 0x1b05e3e3, -0x21027400, +0x21027000, 0x01068282, 0x1b06e3e3, -0x21027400, +0x21027000, 0x01078282, 0x1b07e3e3, -0x21027400, +0x21027000, 0x01088282, 0x1b08e3e3, -0x21027400, +0x21027000, 0x01098282, 0x1b09e3e3, -0x21027400, +0x21027000, 0x010a8282, 0x1b0ae3e3, -0x21027400, +0x21027000, 0x010b8282, 0x1b0be3e3, -0x21027400, +0x21027000, 0x010c8282, 0x1b0ce3e3, -0x21027400, +0x21027000, 0x010d8282, 0x1b0de3e3, -0x21027400, +0x21027000, 0x010e8282, 0x1b0ee3e3, -0x21027400, +0x21027000, 0x010f8282, 0x1b0fe3e3, -0x21027400, +0x21027000, 0x01108282, 0x1b10e3e3, 0x24000042, -0x2102ba00, +0x2102b600, 0x240000e2, 0x31070043, 0xd1011f00, @@ -704,49 +700,49 @@ const uint32_t SDFM_PRU0_image_0[] = { 0xc9005f2e, 0x01018282, 0x1b01e3e3, -0x2102b900, +0x2102b500, 0x01028282, 0x1b02e3e3, -0x2102b900, +0x2102b500, 0x01038282, 0x1b03e3e3, -0x2102b900, +0x2102b500, 0x01048282, 0x1b04e3e3, -0x2102b900, +0x2102b500, 0x01058282, 0x1b05e3e3, -0x2102b900, +0x2102b500, 0x01068282, 0x1b06e3e3, -0x2102b900, +0x2102b500, 0x01078282, 0x1b07e3e3, -0x2102b900, +0x2102b500, 0x01088282, 0x1b08e3e3, -0x2102b900, +0x2102b500, 0x01098282, 0x1b09e3e3, -0x2102b900, +0x2102b500, 0x010a8282, 0x1b0ae3e3, -0x2102b900, +0x2102b500, 0x010b8282, 0x1b0be3e3, -0x2102b900, +0x2102b500, 0x010c8282, 0x1b0ce3e3, -0x2102b900, +0x2102b500, 0x010d8282, 0x1b0de3e3, -0x2102b900, +0x2102b500, 0x010e8282, 0x1b0ee3e3, -0x2102b900, +0x2102b500, 0x010f8282, 0x1b0fe3e3, -0x2102b900, +0x2102b500, 0x01108282, 0x1b10e3e3, 0x24000142, diff --git a/source/current_sense/sdfm/firmware/sdfm_pru_bin.h b/source/current_sense/sdfm/firmware/sdfm_pru_bin.h index c8dd80b..d3ad219 100644 --- a/source/current_sense/sdfm/firmware/sdfm_pru_bin.h +++ b/source/current_sense/sdfm/firmware/sdfm_pru_bin.h @@ -57,7 +57,7 @@ const uint32_t pru_SDFM_PRU0_image_0[] = { 0x240000c1, 0x24020981, 0x240101c2, -0x24000282, +0x24000382, 0xe1c07781, 0x32000000, 0x240fff81, @@ -70,7 +70,7 @@ const uint32_t pru_SDFM_PRU0_image_0[] = { 0x10000000, 0xf1171701, 0xc9000104, -0x23022a99, +0x23022699, 0x1d00e1e1, 0xe1171701, 0xf1171701, @@ -79,7 +79,7 @@ const uint32_t pru_SDFM_PRU0_image_0[] = { 0xcf0001fd, 0x1f00e1e1, 0xe1011701, -0x23017099, +0x23016d99, 0x32800000, 0x240c00c2, 0x24000082, @@ -104,13 +104,13 @@ const uint32_t pru_SDFM_PRU0_image_0[] = { 0x0b04e1e1, 0x110fe1e2, 0x10020256, +0x23018e99, +0x2302bb99, 0x23019299, -0x2302bf99, -0x23019699, -0x2301c699, -0x23020b99, +0x2301c299, +0x23020799, 0x1f19fefe, -0x23021499, +0x23021099, 0x240fffd5, 0x24ffff95, 0x240000d4, @@ -131,7 +131,7 @@ const uint32_t pru_SDFM_PRU0_image_0[] = { 0x09020101, 0x1281c1c1, 0x10c1c1da, -0x23017799, +0x23017499, 0x91001a01, 0x1f00e1e1, 0x81001a01, @@ -331,9 +331,6 @@ const uint32_t pru_SDFM_PRU0_image_0[] = { 0x24000000, 0x107e7e12, 0x2f852381, -0x91741a01, -0x1f04e1e1, -0x81741a01, 0x240e60de, 0x10000000, 0x11ffffe2, @@ -387,10 +384,10 @@ const uint32_t pru_SDFM_PRU0_image_0[] = { 0x240000e2, 0xf1083782, 0x58e2e102, -0x21015100, +0x21014e00, 0x04e2e1e1, 0x81983a81, -0x21016500, +0x21016200, 0x59031c07, 0xf1b83781, 0x91983a82, @@ -433,8 +430,7 @@ const uint32_t pru_SDFM_PRU0_image_0[] = { 0x240000e1, 0x81143a81, 0x81103a81, -0x91741a01, -0x1f04e1e1, +0x24001001, 0x81741a01, 0x91001a01, 0x110f0101, @@ -475,7 +471,7 @@ const uint32_t pru_SDFM_PRU0_image_0[] = { 0x09015341, 0x13414141, 0x13804141, -0x2101c100, +0x2101bd00, 0x6836030d, 0xf14e1701, 0xc9010417, @@ -488,7 +484,7 @@ const uint32_t pru_SDFM_PRU0_image_0[] = { 0x09015341, 0x13414141, 0x13804141, -0x2101c100, +0x2101bd00, 0x6856030c, 0xf17e1701, 0xc902040a, @@ -530,7 +526,7 @@ const uint32_t pru_SDFM_PRU0_image_0[] = { 0x09033b21, 0x09011b41, 0x13414141, -0x21020600, +0x21020200, 0x68360314, 0x24000081, 0xf16c1741, @@ -550,7 +546,7 @@ const uint32_t pru_SDFM_PRU0_image_0[] = { 0x09033b21, 0x09011b41, 0x13414141, -0x21020600, +0x21020200, 0x68560313, 0x24000081, 0xf19c1741, @@ -635,53 +631,53 @@ const uint32_t pru_SDFM_PRU0_image_0[] = { 0xd1005f2e, 0x01018282, 0x1b01e3e3, -0x21027400, +0x21027000, 0x01028282, 0x1b02e3e3, -0x21027400, +0x21027000, 0x01038282, 0x1b03e3e3, -0x21027400, +0x21027000, 0x01048282, 0x1b04e3e3, -0x21027400, +0x21027000, 0x01058282, 0x1b05e3e3, -0x21027400, +0x21027000, 0x01068282, 0x1b06e3e3, -0x21027400, +0x21027000, 0x01078282, 0x1b07e3e3, -0x21027400, +0x21027000, 0x01088282, 0x1b08e3e3, -0x21027400, +0x21027000, 0x01098282, 0x1b09e3e3, -0x21027400, +0x21027000, 0x010a8282, 0x1b0ae3e3, -0x21027400, +0x21027000, 0x010b8282, 0x1b0be3e3, -0x21027400, +0x21027000, 0x010c8282, 0x1b0ce3e3, -0x21027400, +0x21027000, 0x010d8282, 0x1b0de3e3, -0x21027400, +0x21027000, 0x010e8282, 0x1b0ee3e3, -0x21027400, +0x21027000, 0x010f8282, 0x1b0fe3e3, -0x21027400, +0x21027000, 0x01108282, 0x1b10e3e3, 0x24000042, -0x2102ba00, +0x2102b600, 0x240000e2, 0x31070043, 0xd1011f00, @@ -704,49 +700,49 @@ const uint32_t pru_SDFM_PRU0_image_0[] = { 0xc9005f2e, 0x01018282, 0x1b01e3e3, -0x2102b900, +0x2102b500, 0x01028282, 0x1b02e3e3, -0x2102b900, +0x2102b500, 0x01038282, 0x1b03e3e3, -0x2102b900, +0x2102b500, 0x01048282, 0x1b04e3e3, -0x2102b900, +0x2102b500, 0x01058282, 0x1b05e3e3, -0x2102b900, +0x2102b500, 0x01068282, 0x1b06e3e3, -0x2102b900, +0x2102b500, 0x01078282, 0x1b07e3e3, -0x2102b900, +0x2102b500, 0x01088282, 0x1b08e3e3, -0x2102b900, +0x2102b500, 0x01098282, 0x1b09e3e3, -0x2102b900, +0x2102b500, 0x010a8282, 0x1b0ae3e3, -0x2102b900, +0x2102b500, 0x010b8282, 0x1b0be3e3, -0x2102b900, +0x2102b500, 0x010c8282, 0x1b0ce3e3, -0x2102b900, +0x2102b500, 0x010d8282, 0x1b0de3e3, -0x2102b900, +0x2102b500, 0x010e8282, 0x1b0ee3e3, -0x2102b900, +0x2102b500, 0x010f8282, 0x1b0fe3e3, -0x2102b900, +0x2102b500, 0x01108282, 0x1b10e3e3, 0x24000142, diff --git a/source/current_sense/sdfm/firmware/sdfm_rtu_bin.h b/source/current_sense/sdfm/firmware/sdfm_rtu_bin.h index 0c7d1ed..2c394bb 100644 --- a/source/current_sense/sdfm/firmware/sdfm_rtu_bin.h +++ b/source/current_sense/sdfm/firmware/sdfm_rtu_bin.h @@ -57,7 +57,7 @@ const uint32_t pru_SDFM_RTU0_image_0[] = { 0x240000c1, 0x24020981, 0x240101c2, -0x24000282, +0x24000382, 0xe1c07781, 0x32000000, 0x240fff81, @@ -70,7 +70,7 @@ const uint32_t pru_SDFM_RTU0_image_0[] = { 0x10000000, 0xf1171701, 0xc9000104, -0x23021299, +0x23020e99, 0x1d00e1e1, 0xe1171701, 0xf1171701, @@ -79,7 +79,7 @@ const uint32_t pru_SDFM_RTU0_image_0[] = { 0xcf0001fd, 0x1f00e1e1, 0xe1011701, -0x23016599, +0x23016299, 0x32800000, 0xf1021701, 0x51010104, @@ -97,12 +97,12 @@ const uint32_t pru_SDFM_RTU0_image_0[] = { 0x0b04e1e1, 0x110fe1e2, 0x10020256, +0x23017699, 0x23017a99, -0x23017e99, -0x2301ae99, -0x2301f399, +0x2301aa99, +0x2301ef99, 0x1f19fefe, -0x2301fc99, +0x2301f899, 0x240fffd5, 0x24ffff95, 0x240000d4, @@ -123,7 +123,7 @@ const uint32_t pru_SDFM_RTU0_image_0[] = { 0x09020101, 0x1281c1c1, 0x10c1c1da, -0x23016c99, +0x23016999, 0xf114179a, 0xd1009a02, 0x21004a00, @@ -320,9 +320,6 @@ const uint32_t pru_SDFM_RTU0_image_0[] = { 0x24000000, 0x107e7e12, 0x2f852381, -0x91741a01, -0x1f07e1e1, -0x81741a01, 0x240260de, 0x10000000, 0x11ffffe2, @@ -376,10 +373,10 @@ const uint32_t pru_SDFM_RTU0_image_0[] = { 0x240000e2, 0xf1083782, 0x58e2e102, -0x21014600, +0x21014300, 0x04e2e1e1, 0x81b03a81, -0x21015a00, +0x21015700, 0x59031c07, 0xf1b83781, 0x91b03a82, @@ -416,8 +413,7 @@ const uint32_t pru_SDFM_RTU0_image_0[] = { 0x24170081, 0x81380a81, 0x20990000, -0x91741a01, -0x1f07e1e1, +0x24008001, 0x81741a01, 0x240000e1, 0x81b43a81, @@ -451,7 +447,7 @@ const uint32_t pru_SDFM_RTU0_image_0[] = { 0x09015341, 0x13414141, 0x13804141, -0x2101a900, +0x2101a500, 0x6836030d, 0xf14e1701, 0xc9010417, @@ -464,7 +460,7 @@ const uint32_t pru_SDFM_RTU0_image_0[] = { 0x09015341, 0x13414141, 0x13804141, -0x2101a900, +0x2101a500, 0x6856030c, 0xf17e1701, 0xc902040a, @@ -506,7 +502,7 @@ const uint32_t pru_SDFM_RTU0_image_0[] = { 0x09033b21, 0x09011b41, 0x13414141, -0x2101ee00, +0x2101ea00, 0x68360314, 0x24000081, 0xf16c1741, @@ -526,7 +522,7 @@ const uint32_t pru_SDFM_RTU0_image_0[] = { 0x09033b21, 0x09011b41, 0x13414141, -0x2101ee00, +0x2101ea00, 0x68560313, 0x24000081, 0xf19c1741, @@ -611,53 +607,53 @@ const uint32_t pru_SDFM_RTU0_image_0[] = { 0xd1005f2e, 0x01018282, 0x1b01e3e3, -0x21025c00, +0x21025800, 0x01028282, 0x1b02e3e3, -0x21025c00, +0x21025800, 0x01038282, 0x1b03e3e3, -0x21025c00, +0x21025800, 0x01048282, 0x1b04e3e3, -0x21025c00, +0x21025800, 0x01058282, 0x1b05e3e3, -0x21025c00, +0x21025800, 0x01068282, 0x1b06e3e3, -0x21025c00, +0x21025800, 0x01078282, 0x1b07e3e3, -0x21025c00, +0x21025800, 0x01088282, 0x1b08e3e3, -0x21025c00, +0x21025800, 0x01098282, 0x1b09e3e3, -0x21025c00, +0x21025800, 0x010a8282, 0x1b0ae3e3, -0x21025c00, +0x21025800, 0x010b8282, 0x1b0be3e3, -0x21025c00, +0x21025800, 0x010c8282, 0x1b0ce3e3, -0x21025c00, +0x21025800, 0x010d8282, 0x1b0de3e3, -0x21025c00, +0x21025800, 0x010e8282, 0x1b0ee3e3, -0x21025c00, +0x21025800, 0x010f8282, 0x1b0fe3e3, -0x21025c00, +0x21025800, 0x01108282, 0x1b10e3e3, 0x24000042, -0x2102a200, +0x21029e00, 0x240000e2, 0x31070043, 0xd1011f00, @@ -680,49 +676,49 @@ const uint32_t pru_SDFM_RTU0_image_0[] = { 0xc9005f2e, 0x01018282, 0x1b01e3e3, -0x2102a100, +0x21029d00, 0x01028282, 0x1b02e3e3, -0x2102a100, +0x21029d00, 0x01038282, 0x1b03e3e3, -0x2102a100, +0x21029d00, 0x01048282, 0x1b04e3e3, -0x2102a100, +0x21029d00, 0x01058282, 0x1b05e3e3, -0x2102a100, +0x21029d00, 0x01068282, 0x1b06e3e3, -0x2102a100, +0x21029d00, 0x01078282, 0x1b07e3e3, -0x2102a100, +0x21029d00, 0x01088282, 0x1b08e3e3, -0x2102a100, +0x21029d00, 0x01098282, 0x1b09e3e3, -0x2102a100, +0x21029d00, 0x010a8282, 0x1b0ae3e3, -0x2102a100, +0x21029d00, 0x010b8282, 0x1b0be3e3, -0x2102a100, +0x21029d00, 0x010c8282, 0x1b0ce3e3, -0x2102a100, +0x21029d00, 0x010d8282, 0x1b0de3e3, -0x2102a100, +0x21029d00, 0x010e8282, 0x1b0ee3e3, -0x2102a100, +0x21029d00, 0x010f8282, 0x1b0fe3e3, -0x2102a100, +0x21029d00, 0x01108282, 0x1b10e3e3, 0x24000142, diff --git a/source/current_sense/sdfm/firmware/sdfm_txpru_bin.h b/source/current_sense/sdfm/firmware/sdfm_txpru_bin.h index 725c3f7..37c38f4 100644 --- a/source/current_sense/sdfm/firmware/sdfm_txpru_bin.h +++ b/source/current_sense/sdfm/firmware/sdfm_txpru_bin.h @@ -57,7 +57,7 @@ const uint32_t pru_SDFM_TXPRU0_image_0[] = { 0x240000c1, 0x24020981, 0x240101c2, -0x24000282, +0x24000382, 0xe1c07781, 0x32000000, 0x240fff81, @@ -70,7 +70,7 @@ const uint32_t pru_SDFM_TXPRU0_image_0[] = { 0x10000000, 0xf1171701, 0xc9000104, -0x23021299, +0x23020e99, 0x1d00e1e1, 0xe1171701, 0xf1171701, @@ -79,7 +79,7 @@ const uint32_t pru_SDFM_TXPRU0_image_0[] = { 0xcf0001fd, 0x1f00e1e1, 0xe1011701, -0x23016599, +0x23016299, 0x32800000, 0xf1021701, 0x51010104, @@ -97,12 +97,12 @@ const uint32_t pru_SDFM_TXPRU0_image_0[] = { 0x0b04e1e1, 0x110fe1e2, 0x10020256, +0x23017699, 0x23017a99, -0x23017e99, -0x2301ae99, -0x2301f399, +0x2301aa99, +0x2301ef99, 0x1f19fefe, -0x2301fc99, +0x2301f899, 0x240fffd5, 0x24ffff95, 0x240000d4, @@ -123,7 +123,7 @@ const uint32_t pru_SDFM_TXPRU0_image_0[] = { 0x09020101, 0x1281c1c1, 0x10c1c1da, -0x23016c99, +0x23016999, 0xf114179a, 0xd1009a02, 0x21004a00, @@ -320,9 +320,6 @@ const uint32_t pru_SDFM_TXPRU0_image_0[] = { 0x24000000, 0x107e7e12, 0x2f852381, -0x91741a01, -0x1f08e1e1, -0x81741a01, 0x241a60de, 0x10000000, 0x11ffffe2, @@ -376,10 +373,10 @@ const uint32_t pru_SDFM_TXPRU0_image_0[] = { 0x240000e2, 0xf1083782, 0x58e2e102, -0x21014600, +0x21014300, 0x04e2e1e1, 0x81c03a81, -0x21015a00, +0x21015700, 0x59031c07, 0xf1b83781, 0x91c03a82, @@ -416,9 +413,8 @@ const uint32_t pru_SDFM_TXPRU0_image_0[] = { 0x24180081, 0x81381c81, 0x20990000, -0x91741a01, -0x1f08e1e1, -0x81741a01, +0x24010081, +0x81741a81, 0x240000e1, 0x81c43a81, 0xf1b03781, @@ -451,7 +447,7 @@ const uint32_t pru_SDFM_TXPRU0_image_0[] = { 0x09015341, 0x13414141, 0x13804141, -0x2101a900, +0x2101a500, 0x6836030d, 0xf14e1701, 0xc9010417, @@ -464,7 +460,7 @@ const uint32_t pru_SDFM_TXPRU0_image_0[] = { 0x09015341, 0x13414141, 0x13804141, -0x2101a900, +0x2101a500, 0x6856030c, 0xf17e1701, 0xc902040a, @@ -506,7 +502,7 @@ const uint32_t pru_SDFM_TXPRU0_image_0[] = { 0x09033b21, 0x09011b41, 0x13414141, -0x2101ee00, +0x2101ea00, 0x68360314, 0x24000081, 0xf16c1741, @@ -526,7 +522,7 @@ const uint32_t pru_SDFM_TXPRU0_image_0[] = { 0x09033b21, 0x09011b41, 0x13414141, -0x2101ee00, +0x2101ea00, 0x68560313, 0x24000081, 0xf19c1741, @@ -611,53 +607,53 @@ const uint32_t pru_SDFM_TXPRU0_image_0[] = { 0xd1005f2e, 0x01018282, 0x1b01e3e3, -0x21025c00, +0x21025800, 0x01028282, 0x1b02e3e3, -0x21025c00, +0x21025800, 0x01038282, 0x1b03e3e3, -0x21025c00, +0x21025800, 0x01048282, 0x1b04e3e3, -0x21025c00, +0x21025800, 0x01058282, 0x1b05e3e3, -0x21025c00, +0x21025800, 0x01068282, 0x1b06e3e3, -0x21025c00, +0x21025800, 0x01078282, 0x1b07e3e3, -0x21025c00, +0x21025800, 0x01088282, 0x1b08e3e3, -0x21025c00, +0x21025800, 0x01098282, 0x1b09e3e3, -0x21025c00, +0x21025800, 0x010a8282, 0x1b0ae3e3, -0x21025c00, +0x21025800, 0x010b8282, 0x1b0be3e3, -0x21025c00, +0x21025800, 0x010c8282, 0x1b0ce3e3, -0x21025c00, +0x21025800, 0x010d8282, 0x1b0de3e3, -0x21025c00, +0x21025800, 0x010e8282, 0x1b0ee3e3, -0x21025c00, +0x21025800, 0x010f8282, 0x1b0fe3e3, -0x21025c00, +0x21025800, 0x01108282, 0x1b10e3e3, 0x24000042, -0x2102a200, +0x21029e00, 0x240000e2, 0x31070043, 0xd1011f00, @@ -680,49 +676,49 @@ const uint32_t pru_SDFM_TXPRU0_image_0[] = { 0xc9005f2e, 0x01018282, 0x1b01e3e3, -0x2102a100, +0x21029d00, 0x01028282, 0x1b02e3e3, -0x2102a100, +0x21029d00, 0x01038282, 0x1b03e3e3, -0x2102a100, +0x21029d00, 0x01048282, 0x1b04e3e3, -0x2102a100, +0x21029d00, 0x01058282, 0x1b05e3e3, -0x2102a100, +0x21029d00, 0x01068282, 0x1b06e3e3, -0x2102a100, +0x21029d00, 0x01078282, 0x1b07e3e3, -0x2102a100, +0x21029d00, 0x01088282, 0x1b08e3e3, -0x2102a100, +0x21029d00, 0x01098282, 0x1b09e3e3, -0x2102a100, +0x21029d00, 0x010a8282, 0x1b0ae3e3, -0x2102a100, +0x21029d00, 0x010b8282, 0x1b0be3e3, -0x2102a100, +0x21029d00, 0x010c8282, 0x1b0ce3e3, -0x2102a100, +0x21029d00, 0x010d8282, 0x1b0de3e3, -0x2102a100, +0x21029d00, 0x010e8282, 0x1b0ee3e3, -0x2102a100, +0x21029d00, 0x010f8282, 0x1b0fe3e3, -0x2102a100, +0x21029d00, 0x01108282, 0x1b10e3e3, 0x24000142, diff --git a/source/position_sense/endat/firmware/endat_main.asm b/source/position_sense/endat/firmware/endat_main.asm index c5944ab..c691f42 100644 --- a/source/position_sense/endat/firmware/endat_main.asm +++ b/source/position_sense/endat/firmware/endat_main.asm @@ -659,30 +659,30 @@ HANDLE_PERIODIC_TRIGGER_MODE: ; Get pending events from IEP - LBCO &R0, ICSS_IEP, ICSS_IEP_CMP_STATUS_REG, 4 + LBCO &R0, ICSS_IEP, ICSS_IEP_CMP_STATUS_REG, 1 .if $isdefed("ENABLE_MULTI_MAKE_RTU") ; wait till IEP CMP3 event QBBC HANDLE_PERIODIC_TRIGGER_MODE, R0, 3 ; Clear IEP CMP3 event - SET R0, R0, 3 + LDI R0.b0, 0x8 .elseif $isdefed("ENABLE_MULTI_MAKE_PRU") ;Check PRU host trigger for ch1 ; wait till IEP CMP5 event QBBC HANDLE_PERIODIC_TRIGGER_MODE, R0, 5 ; Clear IEP CMP5 event - SET R0, R0, 5 + LDI R0.b0, 0x20 .elseif $isdefed("ENABLE_MULTI_MAKE_TXPRU") ; wait till IEP CMP6 event QBBC HANDLE_PERIODIC_TRIGGER_MODE, R0, 6 ; Clear IEP CMP6 event - SET R0, R0, 6 + LDI R0.b0, 0x40 .else ; wait till IEP CMP3 event QBBC HANDLE_PERIODIC_TRIGGER_MODE, R0, 3 ; Clear IEP CMP3 event - SET R0, R0, 3 + LDI R0.b0, 0x8 .endif - SBCO &R0, ICSS_IEP, ICSS_IEP_CMP_STATUS_REG, 4 + SBCO &R0, ICSS_IEP, ICSS_IEP_CMP_STATUS_REG, 1 ; Let the fall thr' to trigger mode happen properly and trigger bit ; will be cleared after command processing diff --git a/source/position_sense/endat/firmware/endat_master_bin.h b/source/position_sense/endat/firmware/endat_master_bin.h index ab57638..d7c3a78 100644 --- a/source/position_sense/endat/firmware/endat_master_bin.h +++ b/source/position_sense/endat/firmware/endat_master_bin.h @@ -1,7 +1,60 @@ +/* + * + * Copyright (c) 2021-2023, Texas Instruments Incorporated + * All rights reserved not granted herein. + * + * Limited License. + * + * Texas Instruments Incorporated grants a world-wide, royalty-free, + * non-exclusive license under copyrights and patents it now or hereafter + * owns or controls to make, have made, use, import, offer to sell and sell ("Utilize") + * this software subject to the terms herein. With respect to the foregoing patent + * license, such license is granted solely to the extent that any such patent + * is necessary to Utilize the software alone. The patent license shall not apply to any + * combinations which include this software, other than combinations with devices + * manufactured by or for TI ('TI Devices'). No hardware patent is licensed hereunder. + * + * Redistributions must preserve existing copyright notices and reproduce this license + * (including the above copyright notice and the disclaimer and (if applicable) source + * code license limitations below) in the documentation and/or other materials provided + * with the distribution + * + * Redistribution and use in binary form, without modification, are permitted provided + * that the following conditions are met: + * No reverse engineering, decompilation, or disassembly of this software is + * permitted with respect to any software provided in binary form. + * Any redistribution and use are licensed by TI for use only with TI Devices. + * Nothing shall obligate TI to provide you with source code for the software + * licensed and provided to you in object code. + * + * If software source code is provided to you, modification and redistribution of the + * source code are permitted provided that the following conditions are met: + * Any redistribution and use of the source code, including any resulting derivative works, + * are licensed by TI for use only with TI Devices. + * Any redistribution and use of any object code compiled from the source code and + * any resulting derivative works, are licensed by TI for use only with TI Devices. + * + * Neither the name of Texas Instruments Incorporated nor the names of its suppliers + * may be used to endorse or promote products derived from this software without + * specific prior written permission. + * + * DISCLAIMER. + * + * THIS SOFTWARE IS PROVIDED BY TI AND TI'S LICENSORS "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL TI AND + * TI'S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ const uint32_t EnDatFirmware_0[] = { 0x21000300, 0x00000207, -0x00020001, +0x00020002, 0x91002b8e, 0x1f03eeee, 0x81002b8e, @@ -132,10 +185,10 @@ const uint32_t EnDatFirmware_0[] = { 0x81031800, 0x91001800, 0x69000007, -0x91743a80, +0x91741a00, 0xcf03e0fd, -0x1f03e0e0, -0x81743a80, +0x24000800, +0x81741a00, 0x24000100, 0x81021800, 0x91021800, diff --git a/source/position_sense/endat/firmware/endat_master_multi_PRU_bin.h b/source/position_sense/endat/firmware/endat_master_multi_PRU_bin.h index a110906..bbb7da5 100644 --- a/source/position_sense/endat/firmware/endat_master_multi_PRU_bin.h +++ b/source/position_sense/endat/firmware/endat_master_multi_PRU_bin.h @@ -54,7 +54,7 @@ const uint32_t EnDatFirmwareMultiMakePRU_0[] = { 0x21000300, 0x00000207, -0x00020001, +0x00020002, 0x91002b8e, 0x1f03eeee, 0x81002b8e, @@ -196,10 +196,10 @@ const uint32_t EnDatFirmwareMultiMakePRU_0[] = { 0x81071800, 0x91041800, 0x69000007, -0x91743a80, +0x91741a00, 0xcf05e0fd, -0x1f05e0e0, -0x81743a80, +0x24002000, +0x81741a00, 0x24000100, 0x81061800, 0x91061800, diff --git a/source/position_sense/endat/firmware/endat_master_multi_RTU_bin.h b/source/position_sense/endat/firmware/endat_master_multi_RTU_bin.h index 9df4101..0585448 100644 --- a/source/position_sense/endat/firmware/endat_master_multi_RTU_bin.h +++ b/source/position_sense/endat/firmware/endat_master_multi_RTU_bin.h @@ -54,7 +54,7 @@ const uint32_t EnDatFirmwareMultiMakeRTU_0[] = { 0x21000300, 0x00000207, -0x00020001, +0x00020002, 0x91002b8e, 0x1f03eeee, 0x81002b8e, @@ -196,10 +196,10 @@ const uint32_t EnDatFirmwareMultiMakeRTU_0[] = { 0x81031800, 0x91001800, 0x69000007, -0x91743a80, +0x91741a00, 0xcf03e0fd, -0x1f03e0e0, -0x81743a80, +0x24000800, +0x81741a00, 0x24000100, 0x81021800, 0x91021800, diff --git a/source/position_sense/endat/firmware/endat_master_multi_TXPRU_bin.h b/source/position_sense/endat/firmware/endat_master_multi_TXPRU_bin.h index 98df899..561c52f 100644 --- a/source/position_sense/endat/firmware/endat_master_multi_TXPRU_bin.h +++ b/source/position_sense/endat/firmware/endat_master_multi_TXPRU_bin.h @@ -54,7 +54,7 @@ const uint32_t EnDatFirmwareMultiMakeTXPRU_0[] = { 0x21000300, 0x00000207, -0x00020001, +0x00020002, 0x91003c8e, 0x1f03eeee, 0x81003c8e, @@ -196,10 +196,10 @@ const uint32_t EnDatFirmwareMultiMakeTXPRU_0[] = { 0x810b1800, 0x91081800, 0x69000007, -0x91743a80, +0x91741a00, 0xcf06e0fd, -0x1f06e0e0, -0x81743a80, +0x24004000, +0x81741a00, 0x24000100, 0x810a1800, 0x910a1800, diff --git a/source/position_sense/endat/firmware/endat_master_multi_bin.h b/source/position_sense/endat/firmware/endat_master_multi_bin.h index 9490b11..571eb8e 100644 --- a/source/position_sense/endat/firmware/endat_master_multi_bin.h +++ b/source/position_sense/endat/firmware/endat_master_multi_bin.h @@ -51,11 +51,10 @@ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * */ - const uint32_t EnDatFirmwareMulti_0[] = { 0x21000300, 0x00000207, -0x00020001, +0x00020002, 0x91002b8e, 0x1f03eeee, 0x81002b8e, @@ -194,10 +193,10 @@ const uint32_t EnDatFirmwareMulti_0[] = { 0x81031800, 0x91001800, 0x69000007, -0x91743a80, +0x91741a00, 0xcf03e0fd, -0x1f03e0e0, -0x81743a80, +0x24000800, +0x81741a00, 0x24000100, 0x81021800, 0x91021800, diff --git a/source/position_sense/endat/firmware/firmware_version.h b/source/position_sense/endat/firmware/firmware_version.h index 1dc5fe5..d5eb5c2 100644 --- a/source/position_sense/endat/firmware/firmware_version.h +++ b/source/position_sense/endat/firmware/firmware_version.h @@ -59,7 +59,7 @@ FIRMWARE_VERSION_REVISION .set 0x00 ; bit23..16 major number FIRMWARE_VERSION_MAJOR .set 0x02 ; bit15..0 minor number -FIRMWARE_VERSION_MINOR .set 0x0001 +FIRMWARE_VERSION_MINOR .set 0x0002 ICSS_FIRMWARE_RELEASE_1 .set ((FIRMWARE_DEVICE_AM64x << 8) | (FIRMWARE_PROTOCOL_TYPE_ENDAT_MASTER << 0)) ICSS_FIRMWARE_RELEASE_2 .set ((FIRMWARE_VERSION_RELEASE << 31) | (FIRMWARE_VERSION_REVISION << 24) | (FIRMWARE_VERSION_MAJOR << 16) | (FIRMWARE_VERSION_MINOR << 0))