diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs index 651c549..5aca734 100644 --- a/.settings/org.eclipse.core.resources.prefs +++ b/.settings/org.eclipse.core.resources.prefs @@ -57,3 +57,26 @@ encoding//Debug/subdir_rules.mk=UTF-8 encoding//Debug/subdir_vars.mk=UTF-8 encoding//Debug/utils/subdir_rules.mk=UTF-8 encoding//Debug/utils/subdir_vars.mk=UTF-8 +encoding//Test__GNU/Core/Source/subdir_rules.mk=UTF-8 +encoding//Test__GNU/Core/Source/subdir_vars.mk=UTF-8 +encoding//Test__GNU/Generated\ Codes/subdir_rules.mk=UTF-8 +encoding//Test__GNU/Generated\ Codes/subdir_vars.mk=UTF-8 +encoding//Test__GNU/TM1650_SDK/src/subdir_rules.mk=UTF-8 +encoding//Test__GNU/TM1650_SDK/src/subdir_vars.mk=UTF-8 +encoding//Test__GNU/ivec_APP/src/subdir_rules.mk=UTF-8 +encoding//Test__GNU/ivec_APP/src/subdir_vars.mk=UTF-8 +encoding//Test__GNU/ivec_ECU/ivec_ecu_can/src/subdir_rules.mk=UTF-8 +encoding//Test__GNU/ivec_ECU/ivec_ecu_can/src/subdir_vars.mk=UTF-8 +encoding//Test__GNU/ivec_ECU/ivec_ecu_common/src/subdir_rules.mk=UTF-8 +encoding//Test__GNU/ivec_ECU/ivec_ecu_common/src/subdir_vars.mk=UTF-8 +encoding//Test__GNU/ivec_ECU/ivec_ecu_uart/src/subdir_rules.mk=UTF-8 +encoding//Test__GNU/ivec_ECU/ivec_ecu_uart/src/subdir_vars.mk=UTF-8 +encoding//Test__GNU/ivec_RTE/src/subdir_rules.mk=UTF-8 +encoding//Test__GNU/ivec_RTE/src/subdir_vars.mk=UTF-8 +encoding//Test__GNU/makefile=UTF-8 +encoding//Test__GNU/objects.mk=UTF-8 +encoding//Test__GNU/sources.mk=UTF-8 +encoding//Test__GNU/subdir_rules.mk=UTF-8 +encoding//Test__GNU/subdir_vars.mk=UTF-8 +encoding//Test__GNU/utils/subdir_rules.mk=UTF-8 +encoding//Test__GNU/utils/subdir_vars.mk=UTF-8 diff --git a/Core/Source/ivec_mcal_mcan.c b/Core/Source/ivec_mcal_mcan.c index 6bc6a99..c54c717 100644 --- a/Core/Source/ivec_mcal_mcan.c +++ b/Core/Source/ivec_mcal_mcan.c @@ -226,8 +226,8 @@ static const DL_MCAN_StdMsgIDFilterElement gMCAN0StdFiltelem1 = { //static const DL_MCAN_StdMsgIDFilterElement gMCAN0StdFiltelem1 = { // .sfec = 001, // .sft = 10, -// .sfid1 = 0xc8, -// .sfid2 = 0x7fe, +// .sfid1 = 0x3ff, +// .sfid2 = 0x400, //}; // apply mask pass only 200 and 201 id static const DL_MCAN_StdMsgIDFilterElement gMCAN0StdFiltelem2 = { @@ -259,10 +259,10 @@ static const DL_MCAN_StdMsgIDFilterElement gMCAN0StdFiltelem5 = { }; static const DL_MCAN_ExtMsgIDFilterElement gMCAN0ExtFiltelem1 = { - .efec = 0x1, - .eft = 0x0, - .efid1 = 2047, - .efid2 = 0x1FFFFFFF, + .efec = 001, + .eft = 10, + .efid1 = 0x1fffff69, + .efid2 = 0xff, }; static const DL_MCAN_ExtMsgIDFilterElement gMCAN0ExtFiltelem2 = { @@ -467,7 +467,7 @@ IVEC_McalStatus_e xMCAL_MCANInit(MCAN_Regs* MCAN, xCAN_baud_t BAUD) DL_MCAN_msgRAMConfig(MCAN, (DL_MCAN_MsgRAMConfigParams*) &gMCAN0MsgRAMConfigParams); /* Configure Standard ID filter element */ - // DL_MCAN_addStdMsgIDFilter(MCAN, 0U, (DL_MCAN_StdMsgIDFilterElement *) &gMCAN0StdFiltelem1); + //DL_MCAN_addStdMsgIDFilter(MCAN, 0U, (DL_MCAN_StdMsgIDFilterElement *) &gMCAN0StdFiltelem1); // ///DL_MCAN_addStdMsgIDFilter(MCAN, 1U, (DL_MCAN_StdMsgIDFilterElement *) &gMCAN0StdFiltelem2); // @@ -477,7 +477,7 @@ IVEC_McalStatus_e xMCAL_MCANInit(MCAN_Regs* MCAN, xCAN_baud_t BAUD) // // DL_MCAN_addStdMsgIDFilter(MCAN, 4U, (DL_MCAN_StdMsgIDFilterElement *) &gMCAN0StdFiltelem5); // -// DL_MCAN_addExtMsgIDFilter(MCAN, 0U,(DL_MCAN_ExtMsgIDFilterElement *)&gMCAN0ExtFiltelem1); + //DL_MCAN_addExtMsgIDFilter(MCAN, 0U,(DL_MCAN_ExtMsgIDFilterElement *)&gMCAN0ExtFiltelem1); // // DL_MCAN_addExtMsgIDFilter(MCAN, 1U,(DL_MCAN_ExtMsgIDFilterElement *)&gMCAN0ExtFiltelem2); // diff --git a/ivec_RTE/src/ivec_rte.c b/ivec_RTE/src/ivec_rte.c index c2af55c..ea5ff19 100644 --- a/ivec_RTE/src/ivec_rte.c +++ b/ivec_RTE/src/ivec_rte.c @@ -220,6 +220,23 @@ void vCanFilterMaskSaveVal(uint8_t ucIdx, uint32_t mask, bool isExtended) { maskCount = ucIdx; maskValues[maskCount] = mask; +// isExtendedID[maskCount++] = isExtended; +// if(isExtended) +// { +// extendedFilter++; +// } +// else +// { +// standardFilter++; +// } +} + + +void vCanFilterSaveVal(uint8_t ucIdx, uint32_t Filter, bool isExtended) +{ + filterCount = ucIdx; + // Store filter value + filterValues[filterCount] = Filter; isExtendedID[maskCount++] = isExtended; if(isExtended) { @@ -229,15 +246,7 @@ void vCanFilterMaskSaveVal(uint8_t ucIdx, uint32_t mask, bool isExtended) { standardFilter++; } -} - -void vCanFilterSaveVal(uint8_t ucIdx, uint32_t Filter, bool isExtended) -{ - filterCount = ucIdx; - // Store filter value - filterValues[filterCount] = Filter; - isExtendedID[filterCount++] = isExtended; } @@ -274,17 +283,16 @@ void vCanConfigFilter() { xECU_CanReInit(CANFD0,g_u16CanSpeed); DL_MCAN_setOpMode(CANFD0, DL_MCAN_OPERATION_MODE_SW_INIT); - gMCAN0MsgRAMConfigParamsFiltered.lse = extendedFilter; //0; // Set dynamically based on actual filters + gMCAN0MsgRAMConfigParamsFiltered.lse = extendedFilter; //0; // Set dynamically based on actual filters gMCAN0MsgRAMConfigParamsFiltered.lss = standardFilter; //1; // Set dynamically based on actual filters DL_MCAN_config(CANFD0, (DL_MCAN_ConfigParams*) &gMCAN0ConfigParamsFiltered); DL_MCAN_msgRAMConfig(CANFD0, (DL_MCAN_MsgRAMConfigParams*) &gMCAN0MsgRAMConfigParamsFiltered); -// maskCount = 1; -// isExtendedID[0] = 0; -// filterValues[0] = 0xc8; -// maskValues[0] = 0X7FE; + uint8_t extendedFilterNumber = 0; + uint8_t stadardFilterNumber = 0; for (int i = 0; i < maskCount; i++) { - +// filterValues[0] = 0x3ff; +// maskValues[0] = 0x400; if (isExtendedID[i]) { // Extended ID filter DL_MCAN_ExtMsgIDFilterElement extFilterElement; @@ -293,6 +301,7 @@ void vCanConfigFilter() { extFilterElement.efec = 001; extFilterElement.eft = 10; DL_MCAN_addExtMsgIDFilter(CANFD0, i, (DL_MCAN_StdMsgIDFilterElement *) &extFilterElement); + extendedFilterNumber++; } else { @@ -304,7 +313,8 @@ void vCanConfigFilter() { // stdFilterElement.sfid2 = 0x7fe; stdFilterElement.sfec = 001; stdFilterElement.sft = 10; - DL_MCAN_addStdMsgIDFilter(CANFD0, i,(DL_MCAN_StdMsgIDFilterElement *) &stdFilterElement); + DL_MCAN_addStdMsgIDFilter(CANFD0, stadardFilterNumber,(DL_MCAN_StdMsgIDFilterElement *) &stdFilterElement); + stadardFilterNumber++; } } @@ -312,19 +322,16 @@ void vCanConfigFilter() { /* Set Extended ID Mask. */ DL_MCAN_setExtIDAndMask(CANFD0, (0x1FFFFFFFU)); /* Take MCAN out of the SW initialization mode */ - DL_MCAN_setOpMode(CANFD0, DL_MCAN_OPERATION_MODE_NORMAL); + DL_MCAN_setOpMode(CANFD0, DL_MCAN_OPERATION_MODE_NORMAL); -// gMCAN0MsgRAMConfigParamsFiltered.lse = standardFilter; // Set dynamically based on actual filters -// gMCAN0MsgRAMConfigParamsFiltered.lss = extendedFilter; // Set dynamically based on actual filters -// DL_MCAN_config(CANFD0, (DL_MCAN_ConfigParams*) &gMCAN0ConfigParamsFiltered); -// DL_MCAN_msgRAMConfig(CANFD0, &gMCAN0MsgRAMConfigParamsFiltered); // Reset counters after applying filters maskCount = 0; filterCount = 0; - -// // Re-enable CAN after filters - //CANInitF(CANFD0,g_u16CanSpeed); + extendedFilterNumber = 0; + stadardFilterNumber = 0; + extendedFilter = 0; + standardFilter = 0; }