Обновление

This commit is contained in:
cfif 2025-12-16 14:23:41 +03:00
parent ba21000e8d
commit 66cd60a4b8
1 changed files with 242 additions and 247 deletions

View File

@ -29,7 +29,7 @@
#ifndef NULL #ifndef NULL
#define NULL ((void *)0) #define NULL ((void *)0)
#endif #endif
#define FLEXCAN_FD_INSTANCE_COUNT FLEXCAN_INSTANCE_COUNT /** all support can fd */ #define FLEXCAN_FD_INSTANCE_COUNT FLEXCAN_INSTANCE_COUNT /** all support can fd */
@ -277,16 +277,16 @@ typedef struct
/* CAN Instance */ /* CAN Instance */
static FLEXCAN_Type *const s_aFlexCan_InstanceTable[FLEXCAN_INSTANCE_COUNT] = static FLEXCAN_Type *const s_aFlexCan_InstanceTable[FLEXCAN_INSTANCE_COUNT] =
{ {
FLEXCAN0, FLEXCAN0,
FLEXCAN1, FLEXCAN1,
FLEXCAN2, FLEXCAN2,
FLEXCAN3 FLEXCAN3
}; };
/* Normal bit table */ /* Normal bit table */
static const FLEXCAN_BaudRegType s_aFlexCan_NormalBaudDividerTable[] = static const FLEXCAN_BaudRegType s_aFlexCan_NormalBaudDividerTable[] =
{ {
/* clock source hz baudrate presdiv propseg pseg1 pseg2 rjw */ /* clock source hz baudrate presdiv propseg pseg1 pseg2 rjw */
{ FLEXCAN_BAUDCLK_HZ_16M, FLEXCAN_BAUD_500K, 2, 8, 4, 3, 2 }, { FLEXCAN_BAUDCLK_HZ_16M, FLEXCAN_BAUD_500K, 2, 8, 4, 3, 2 },
{ FLEXCAN_BAUDCLK_HZ_24M, FLEXCAN_BAUD_100K, 12, 7, 6, 6, 1 }, { FLEXCAN_BAUDCLK_HZ_24M, FLEXCAN_BAUD_100K, 12, 7, 6, 6, 1 },
@ -314,11 +314,11 @@ static const FLEXCAN_BaudRegType s_aFlexCan_NormalBaudDividerTable[] =
{ FLEXCAN_BAUDCLK_HZ_150M, FLEXCAN_BAUD_1M, 10, 8, 3, 3, 1 }, { FLEXCAN_BAUDCLK_HZ_150M, FLEXCAN_BAUD_1M, 10, 8, 3, 3, 1 },
{ FLEXCAN_BAUDCLK_HZ_150M, FLEXCAN_BAUD_2M, 5, 8, 3, 3, 1 }, { FLEXCAN_BAUDCLK_HZ_150M, FLEXCAN_BAUD_2M, 5, 8, 3, 3, 1 },
}; };
/* Data bit table */ /* Data bit table */
static const FLEXCAN_BaudRegType s_aFlexCan_DataBaudDividerTable[] = static const FLEXCAN_BaudRegType s_aFlexCan_DataBaudDividerTable[] =
{ {
/* clock source hz baudrate presdiv propseg pseg1 pseg2 rjw */ /* clock source hz baudrate presdiv propseg pseg1 pseg2 rjw */
{ FLEXCAN_BAUDCLK_HZ_16M, FLEXCAN_BAUD_2M, 1, 3, 2, 2, 1 }, { FLEXCAN_BAUDCLK_HZ_16M, FLEXCAN_BAUD_2M, 1, 3, 2, 2, 1 },
{ FLEXCAN_BAUDCLK_HZ_24M, FLEXCAN_BAUD_1M, 2, 5, 3, 3, 1 }, { FLEXCAN_BAUDCLK_HZ_24M, FLEXCAN_BAUD_1M, 2, 5, 3, 3, 1 },
@ -341,7 +341,7 @@ static const FLEXCAN_BaudRegType s_aFlexCan_DataBaudDividerTable[] =
{ FLEXCAN_BAUDCLK_HZ_150M, FLEXCAN_BAUD_3M, 5, 5, 2, 2, 1 }, { FLEXCAN_BAUDCLK_HZ_150M, FLEXCAN_BAUD_3M, 5, 5, 2, 2, 1 },
{ FLEXCAN_BAUDCLK_HZ_150M, FLEXCAN_BAUD_5M, 2, 8, 3, 3, 1 } { FLEXCAN_BAUDCLK_HZ_150M, FLEXCAN_BAUD_5M, 2, 8, 3, 3, 1 }
}; };
/* ################################################################################## */ /* ################################################################################## */
@ -668,10 +668,10 @@ static uint8_t FLEXCAN_LL_ReceiveEnhanceFifo(uint8_t u8CanIndex, FLEXCAN_RxMsgTy
pRxMsg->u32DataLen = 0U; pRxMsg->u32DataLen = 0U;
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
if (FLEXCAN_LL_CheckFdInstance(u8CanIndex) == FLEXCAN_ERROR_OK) if (FLEXCAN_LL_CheckFdInstance(u8CanIndex) == FLEXCAN_ERROR_OK)
{ {
#endif #endif
pCan = (FLEXCAN_Type *)s_aFlexCan_InstanceTable[u8CanIndex]; pCan = (FLEXCAN_Type *)s_aFlexCan_InstanceTable[u8CanIndex];
/* The enhanced Rx FIFO has a watermark that is configured by setting EFRCR[ERFWM]. /* The enhanced Rx FIFO has a watermark that is configured by setting EFRCR[ERFWM].
@ -727,9 +727,9 @@ static uint8_t FLEXCAN_LL_ReceiveEnhanceFifo(uint8_t u8CanIndex, FLEXCAN_RxMsgTy
u32Status = FLEXCAN_HWA_ERFSRGetEnhancedFifoFlag(pCan, FLEXCAN_ERFSR_ERFDA_SHIFT, FLEXCAN_ERFSR_ERFDA_MASK); u32Status = FLEXCAN_HWA_ERFSRGetEnhancedFifoFlag(pCan, FLEXCAN_ERFSR_ERFDA_SHIFT, FLEXCAN_ERFSR_ERFDA_MASK);
} }
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
} }
#endif #endif
return pRxMsg->u32DataLen > 0U; return pRxMsg->u32DataLen > 0U;
} }
@ -1002,9 +1002,6 @@ static uint8_t FLEXCAN_LL_ProcessBaud(FLEXCAN_BaudCfgType *pBaudCfg)
* @param u32RxFilterCnt Filter id list length * @param u32RxFilterCnt Filter id list length
* @return FLEXCAN_ERROR_OK is ok * @return FLEXCAN_ERROR_OK is ok
*/ */
static FLEXCAN_ErrorType FLEXCAN_LL_SetLegacyFifo(uint8_t u8CanIndex, FLEXCAN_RxMbFilterType *pRxFilterList, uint32_t u32RxFilterCnt) static FLEXCAN_ErrorType FLEXCAN_LL_SetLegacyFifo(uint8_t u8CanIndex, FLEXCAN_RxMbFilterType *pRxFilterList, uint32_t u32RxFilterCnt)
{ {
FLEXCAN_ErrorType tRetVal; FLEXCAN_ErrorType tRetVal;
@ -1014,14 +1011,14 @@ static FLEXCAN_ErrorType FLEXCAN_LL_SetLegacyFifo(uint8_t u8CanIndex, FLEXCAN_Rx
FLEXCAN_Type *pCan; FLEXCAN_Type *pCan;
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
tRetVal = FLEXCAN_LL_CheckFdInstance(u8CanIndex); tRetVal = FLEXCAN_LL_CheckFdInstance(u8CanIndex);
if (tRetVal == FLEXCAN_ERROR_OK) if (tRetVal == FLEXCAN_ERROR_OK)
{ {
#else #else
tRetVal = FLEXCAN_ERROR_OK; tRetVal = FLEXCAN_ERROR_OK;
#endif #endif
pCan = (FLEXCAN_Type *)s_aFlexCan_InstanceTable[u8CanIndex]; pCan = (FLEXCAN_Type *)s_aFlexCan_InstanceTable[u8CanIndex];
/* set legacy fifo */ /* set legacy fifo */
@ -1056,21 +1053,21 @@ static FLEXCAN_ErrorType FLEXCAN_LL_SetLegacyFifo(uint8_t u8CanIndex, FLEXCAN_Rx
u32FilterNum++; u32FilterNum++;
} }
// filter elements number are multiple of 8 /* filter elements number are multiple of 8 */
u32FilterNumLeft = 8U - u32RxFilterCnt % 8U; u32FilterNumLeft = 8U - u32RxFilterCnt % 8U;
// set left same to last filter /* set left same to last filter */
for (u32Index = 0U; u32Index < u32FilterNumLeft; u32Index++) for (u32Index = 0U; u32Index < u32FilterNumLeft; u32Index++)
{ {
// extended id /* extended id */
if (pRxFilterList[u32FilterNum - 1U].eRxFrameType == FLEXCAN_ID_EXT) if (pRxFilterList[u32FilterNum - 1U].eRxFrameType == FLEXCAN_ID_EXT)
{ {
FLEXCAN_HWA_MbRam(pCan, 4U * 6U + u32FilterNum + u32Index, (1U << 30) | (pRxFilterList[u32FilterNum - 1U].u32RxCanId << 1)); // id FLEXCAN_HWA_MbRam(pCan, 4U * 6U + u32FilterNum + u32Index, (1U << 30) | (pRxFilterList[u32FilterNum - 1U].u32RxCanId << 1)); /* id */
FLEXCAN_HWA_SetIndividualMask(pCan, u32FilterNum + u32Index, (1U << 30) | pRxFilterList[u32FilterNum - 1U].u32RxCanIdMask); // mask FLEXCAN_HWA_SetIndividualMask(pCan, u32FilterNum + u32Index, (1U << 30) | pRxFilterList[u32FilterNum - 1U].u32RxCanIdMask); /* mask */
} }
else // standard id else /* standard id */
{ {
FLEXCAN_HWA_MbRam(pCan, 4U * 6U + u32FilterNum + u32Index, pRxFilterList[u32FilterNum - 1U].u32RxCanId << 19); // id FLEXCAN_HWA_MbRam(pCan, 4U * 6U + u32FilterNum + u32Index, pRxFilterList[u32FilterNum - 1U].u32RxCanId << 19); /* id */
FLEXCAN_HWA_SetIndividualMask(pCan, u32FilterNum + u32Index, (1U << 30) | (pRxFilterList[u32FilterNum - 1U].u32RxCanIdMask << 19)); // mask FLEXCAN_HWA_SetIndividualMask(pCan, u32FilterNum + u32Index, (1U << 30) | (pRxFilterList[u32FilterNum - 1U].u32RxCanIdMask << 19)); /* mask */
} }
} }
@ -1079,9 +1076,9 @@ static FLEXCAN_ErrorType FLEXCAN_LL_SetLegacyFifo(uint8_t u8CanIndex, FLEXCAN_Rx
/* left for tx = MaxMb-6 - (RFFN+1)*2 */ /* left for tx = MaxMb-6 - (RFFN+1)*2 */
u32FilterNum = u32FilterNum / 8U + (u32FilterNum % 8U > 0U ? 1U : 0U); u32FilterNum = u32FilterNum / 8U + (u32FilterNum % 8U > 0U ? 1U : 0U);
FLEXCAN_HWA_SetLegacyFifoFilterNum(pCan, u32FilterNum); FLEXCAN_HWA_SetLegacyFifoFilterNum(pCan, u32FilterNum);
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
} }
#endif #endif
return tRetVal; return tRetVal;
} }
@ -1102,14 +1099,14 @@ static FLEXCAN_ErrorType FLEXCAN_LL_SetEnhancedFifo(uint8_t u8CanIndex, FLEXCAN_
uint32_t u32Index; uint32_t u32Index;
FLEXCAN_Type *pCan; FLEXCAN_Type *pCan;
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
tRetVal = FLEXCAN_LL_CheckFdInstance(u8CanIndex); tRetVal = FLEXCAN_LL_CheckFdInstance(u8CanIndex);
if (tRetVal == FLEXCAN_ERROR_OK) if (tRetVal == FLEXCAN_ERROR_OK)
{ {
#else #else
tRetVal = FLEXCAN_ERROR_OK; tRetVal = FLEXCAN_ERROR_OK;
#endif #endif
uint32_t u32ExtIDFilterNum; uint32_t u32ExtIDFilterNum;
uint32_t u32StdIDFilterNum; uint32_t u32StdIDFilterNum;
@ -1204,9 +1201,9 @@ static FLEXCAN_ErrorType FLEXCAN_LL_SetEnhancedFifo(uint8_t u8CanIndex, FLEXCAN_
/* If DMA will be used, set MCR[DMA] to enable DMA operation and write ERFCR[DMALW] to configure the number of words to transfer for each Enhanced Rx FIFO data element */ /* If DMA will be used, set MCR[DMA] to enable DMA operation and write ERFCR[DMALW] to configure the number of words to transfer for each Enhanced Rx FIFO data element */
} }
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
} }
#endif #endif
return tRetVal; return tRetVal;
@ -1271,13 +1268,13 @@ static uint8_t FLEXCAN_LL_ProcessTx(uint8_t u8CanIndex, uint8_t u8Handler)
void FLEXCAN_InitMemory(uint8_t u8CanIndex) void FLEXCAN_InitMemory(uint8_t u8CanIndex)
{ {
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
FLEXCAN_ErrorType tRetVal; FLEXCAN_ErrorType tRetVal;
/* check parameter */ /* check parameter */
tRetVal = FLEXCAN_LL_CheckInstance(u8CanIndex); tRetVal = FLEXCAN_LL_CheckInstance(u8CanIndex);
if (tRetVal == FLEXCAN_ERROR_OK) if (tRetVal == FLEXCAN_ERROR_OK)
{ {
#endif #endif
s_aFlexCan_Setting_Table[u8CanIndex].bEnableFd = 0U; s_aFlexCan_Setting_Table[u8CanIndex].bEnableFd = 0U;
s_aFlexCan_Setting_Table[u8CanIndex].bEnableFifo = 0U; s_aFlexCan_Setting_Table[u8CanIndex].bEnableFifo = 0U;
@ -1298,9 +1295,9 @@ void FLEXCAN_InitMemory(uint8_t u8CanIndex)
/* set first state */ /* set first state */
s_aCurrentSequence[u8CanIndex] = FLEXCAN_SEQUENCE_DEINIT; s_aCurrentSequence[u8CanIndex] = FLEXCAN_SEQUENCE_DEINIT;
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
} }
#endif #endif
} }
@ -1321,7 +1318,7 @@ FLEXCAN_ErrorType FLEXCAN_Init(uint8_t u8CanIndex, const FLEXCAN_InitType *const
FLEXCAN_Type *pCan; FLEXCAN_Type *pCan;
FLEXCAN_BaudCfgType tBaudCfg; FLEXCAN_BaudCfgType tBaudCfg;
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
/* check parameter */ /* check parameter */
tRetVal = FLEXCAN_LL_CheckInstance(u8CanIndex); tRetVal = FLEXCAN_LL_CheckInstance(u8CanIndex);
@ -1363,7 +1360,7 @@ FLEXCAN_ErrorType FLEXCAN_Init(uint8_t u8CanIndex, const FLEXCAN_InitType *const
if (tRetVal == FLEXCAN_ERROR_OK) if (tRetVal == FLEXCAN_ERROR_OK)
{ {
#endif #endif
/* set not start state */ /* set not start state */
s_aCurrentSequence[u8CanIndex] = FLEXCAN_SEQUENCE_NOTSTART; s_aCurrentSequence[u8CanIndex] = FLEXCAN_SEQUENCE_NOTSTART;
@ -1468,9 +1465,9 @@ FLEXCAN_ErrorType FLEXCAN_Init(uint8_t u8CanIndex, const FLEXCAN_InitType *const
s_aFlexCan_Setting_Table[u8CanIndex].u8EnhancedFifoDmaWM = pInitCfg->u8EnhancedFifoDmaWM; s_aFlexCan_Setting_Table[u8CanIndex].u8EnhancedFifoDmaWM = pInitCfg->u8EnhancedFifoDmaWM;
} }
} }
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
} }
#endif #endif
return tRetVal; return tRetVal;
@ -1489,7 +1486,7 @@ FLEXCAN_ErrorType FLEXCAN_DeInit(uint8_t u8CanIndex)
uint32_t u32TempMcr; uint32_t u32TempMcr;
FLEXCAN_Type *pCan; FLEXCAN_Type *pCan;
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
/* check parameter */ /* check parameter */
tRetVal = FLEXCAN_LL_CheckInstance(u8CanIndex); tRetVal = FLEXCAN_LL_CheckInstance(u8CanIndex);
@ -1504,9 +1501,9 @@ FLEXCAN_ErrorType FLEXCAN_DeInit(uint8_t u8CanIndex)
if (tRetVal == FLEXCAN_ERROR_OK) if (tRetVal == FLEXCAN_ERROR_OK)
{ {
#else #else
tRetVal = FLEXCAN_ERROR_OK; tRetVal = FLEXCAN_ERROR_OK;
#endif #endif
pCan = (FLEXCAN_Type *)s_aFlexCan_InstanceTable[u8CanIndex]; pCan = (FLEXCAN_Type *)s_aFlexCan_InstanceTable[u8CanIndex];
FLEXCAN_HWA_SetHaltFreeze(pCan); FLEXCAN_HWA_SetHaltFreeze(pCan);
@ -1550,9 +1547,9 @@ FLEXCAN_ErrorType FLEXCAN_DeInit(uint8_t u8CanIndex)
FLEXCAN_InitMemory(u8CanIndex); FLEXCAN_InitMemory(u8CanIndex);
} }
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
} }
#endif #endif
return tRetVal; return tRetVal;
} }
@ -1576,7 +1573,7 @@ FLEXCAN_ErrorType FLEXCAN_RxFilterConfig(uint8_t u8CanIndex, const FLEXCAN_MBCon
uint8_t bIndividualMask; uint8_t bIndividualMask;
uint32_t u32TempAddr; uint32_t u32TempAddr;
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
/* check parameter */ /* check parameter */
tRetVal = FLEXCAN_LL_CheckInstance(u8CanIndex); tRetVal = FLEXCAN_LL_CheckInstance(u8CanIndex);
@ -1604,9 +1601,9 @@ FLEXCAN_ErrorType FLEXCAN_RxFilterConfig(uint8_t u8CanIndex, const FLEXCAN_MBCon
if (tRetVal == FLEXCAN_ERROR_OK) if (tRetVal == FLEXCAN_ERROR_OK)
{ {
#else #else
tRetVal = FLEXCAN_ERROR_OK; tRetVal = FLEXCAN_ERROR_OK;
#endif #endif
bIndividualMask = 1U; bIndividualMask = 1U;
/* current pCan instance */ /* current pCan instance */
@ -1653,7 +1650,6 @@ FLEXCAN_ErrorType FLEXCAN_RxFilterConfig(uint8_t u8CanIndex, const FLEXCAN_MBCon
pCurSetting->u8RxMbStart1 = (uint8_t)(6U + 2U * (pRxMbCfg->u8RxFilterFifoCnt / 8U + (pRxMbCfg->u8RxFilterFifoCnt % 8U > 0U ? 1U : 0U))); pCurSetting->u8RxMbStart1 = (uint8_t)(6U + 2U * (pRxMbCfg->u8RxFilterFifoCnt / 8U + (pRxMbCfg->u8RxFilterFifoCnt % 8U > 0U ? 1U : 0U)));
} }
pCurSetting->u8TxMbStart1 = (uint8_t)(pCurSetting->u8RxMbStart1 + pCurSetting->u8RxMbCnt1); pCurSetting->u8TxMbStart1 = (uint8_t)(pCurSetting->u8RxMbStart1 + pCurSetting->u8RxMbCnt1);
@ -1750,9 +1746,9 @@ FLEXCAN_ErrorType FLEXCAN_RxFilterConfig(uint8_t u8CanIndex, const FLEXCAN_MBCon
FLEXCAN_HWA_AttachMCR(pCan, FLEXCAN_MCR_MAXMB(u8Index) /* Maximum pMb index */ FLEXCAN_HWA_AttachMCR(pCan, FLEXCAN_MCR_MAXMB(u8Index) /* Maximum pMb index */
| FLEXCAN_MCR_IRMQ(bIndividualMask)); /* individual Rx masking */ | FLEXCAN_MCR_IRMQ(bIndividualMask)); /* individual Rx masking */
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
} }
#endif #endif
return tRetVal; return tRetVal;
} }
@ -1773,7 +1769,7 @@ FLEXCAN_ErrorType FLEXCAN_SetInterrupt(uint8_t u8CanIndex, const FLEXCAN_Interru
uint8_t u8Index; uint8_t u8Index;
FLEXCAN_SettingType *pCurSetting; FLEXCAN_SettingType *pCurSetting;
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
/* check parameter */ /* check parameter */
tRetVal = FLEXCAN_LL_CheckInstance(u8CanIndex); tRetVal = FLEXCAN_LL_CheckInstance(u8CanIndex);
@ -1803,9 +1799,9 @@ FLEXCAN_ErrorType FLEXCAN_SetInterrupt(uint8_t u8CanIndex, const FLEXCAN_Interru
if (tRetVal == FLEXCAN_ERROR_OK) if (tRetVal == FLEXCAN_ERROR_OK)
{ {
#else #else
tRetVal = FLEXCAN_ERROR_OK; tRetVal = FLEXCAN_ERROR_OK;
#endif #endif
pCan = (FLEXCAN_Type *)s_aFlexCan_InstanceTable[u8CanIndex]; pCan = (FLEXCAN_Type *)s_aFlexCan_InstanceTable[u8CanIndex];
pCurSetting = &s_aFlexCan_Setting_Table[u8CanIndex]; pCurSetting = &s_aFlexCan_Setting_Table[u8CanIndex];
@ -1878,9 +1874,9 @@ FLEXCAN_ErrorType FLEXCAN_SetInterrupt(uint8_t u8CanIndex, const FLEXCAN_Interru
s_aFlexCan_Setting_Table[u8CanIndex].bEnableTxMBInt = pIntCfg->bEnTxMBInterrupt; s_aFlexCan_Setting_Table[u8CanIndex].bEnableTxMBInt = pIntCfg->bEnTxMBInterrupt;
s_aFlexCan_Setting_Table[u8CanIndex].bEnableRxMBInt = pIntCfg->bEnRxMBInterrupt; s_aFlexCan_Setting_Table[u8CanIndex].bEnableRxMBInt = pIntCfg->bEnRxMBInterrupt;
s_aFlexCan_Setting_Table[u8CanIndex].bEnableErrInt = pIntCfg->bEnRxMBInterrupt; s_aFlexCan_Setting_Table[u8CanIndex].bEnableErrInt = pIntCfg->bEnRxMBInterrupt;
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
} }
#endif #endif
return tRetVal; return tRetVal;
} }
@ -1898,7 +1894,7 @@ FLEXCAN_ErrorType FLEXCAN_Start(uint8_t u8CanIndex)
uint32_t u32TempMcr; uint32_t u32TempMcr;
FLEXCAN_Type *pCan; FLEXCAN_Type *pCan;
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
/* check parameter */ /* check parameter */
tRetVal = FLEXCAN_LL_CheckInstance(u8CanIndex); tRetVal = FLEXCAN_LL_CheckInstance(u8CanIndex);
@ -1914,9 +1910,9 @@ FLEXCAN_ErrorType FLEXCAN_Start(uint8_t u8CanIndex)
if (tRetVal == FLEXCAN_ERROR_OK) if (tRetVal == FLEXCAN_ERROR_OK)
{ {
#else #else
tRetVal = FLEXCAN_ERROR_OK; tRetVal = FLEXCAN_ERROR_OK;
#endif #endif
/* set started state */ /* set started state */
s_aCurrentSequence[u8CanIndex] = FLEXCAN_SEQUENCE_STARTED; s_aCurrentSequence[u8CanIndex] = FLEXCAN_SEQUENCE_STARTED;
@ -1948,9 +1944,9 @@ FLEXCAN_ErrorType FLEXCAN_Start(uint8_t u8CanIndex)
s_aFlexCan_CanUsed[u8CanIndex] = 1U; s_aFlexCan_CanUsed[u8CanIndex] = 1U;
} }
} }
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
} }
#endif #endif
return tRetVal; return tRetVal;
} }
@ -1967,7 +1963,7 @@ FLEXCAN_ErrorType FLEXCAN_Stop(uint8_t u8CanIndex)
uint32_t u32TempMcr; uint32_t u32TempMcr;
FLEXCAN_Type *pCan; FLEXCAN_Type *pCan;
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
/* check parameter */ /* check parameter */
tRetVal = FLEXCAN_LL_CheckInstance(u8CanIndex); tRetVal = FLEXCAN_LL_CheckInstance(u8CanIndex);
@ -1983,9 +1979,9 @@ FLEXCAN_ErrorType FLEXCAN_Stop(uint8_t u8CanIndex)
if (tRetVal == FLEXCAN_ERROR_OK) if (tRetVal == FLEXCAN_ERROR_OK)
{ {
#else #else
tRetVal = FLEXCAN_ERROR_OK; tRetVal = FLEXCAN_ERROR_OK;
#endif #endif
/* set started state */ /* set started state */
s_aCurrentSequence[u8CanIndex] = FLEXCAN_SEQUENCE_NOTSTART; s_aCurrentSequence[u8CanIndex] = FLEXCAN_SEQUENCE_NOTSTART;
@ -2018,10 +2014,10 @@ FLEXCAN_ErrorType FLEXCAN_Stop(uint8_t u8CanIndex)
s_aFlexCan_CanUsed[u8CanIndex] = 0U; s_aFlexCan_CanUsed[u8CanIndex] = 0U;
} }
} }
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
} }
#endif #endif
return tRetVal; return tRetVal;
} }
@ -2047,7 +2043,7 @@ FLEXCAN_ErrorType FLEXCAN_TransmitData(uint8_t u8CanIndex, const FLEXCAN_TxMsgTy
uint32_t u32TempAddr; uint32_t u32TempAddr;
uint32_t u32Code; uint32_t u32Code;
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
/* check parameter */ /* check parameter */
tRetVal = FLEXCAN_LL_CheckInstance(u8CanIndex); tRetVal = FLEXCAN_LL_CheckInstance(u8CanIndex);
@ -2088,7 +2084,7 @@ FLEXCAN_ErrorType FLEXCAN_TransmitData(uint8_t u8CanIndex, const FLEXCAN_TxMsgTy
if (tRetVal == FLEXCAN_ERROR_OK) if (tRetVal == FLEXCAN_ERROR_OK)
{ {
#endif #endif
pCan = (FLEXCAN_Type *)s_aFlexCan_InstanceTable[u8CanIndex]; pCan = (FLEXCAN_Type *)s_aFlexCan_InstanceTable[u8CanIndex];
@ -2192,9 +2188,9 @@ FLEXCAN_ErrorType FLEXCAN_TransmitData(uint8_t u8CanIndex, const FLEXCAN_TxMsgTy
} }
} }
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
} }
#endif #endif
return tRetVal; return tRetVal;
} }
@ -2209,21 +2205,21 @@ FLEXCAN_ErrorType FLEXCAN_TransmitData(uint8_t u8CanIndex, const FLEXCAN_TxMsgTy
*/ */
uint8_t FLEXCAN_TransmitProcess(uint8_t u8CanIndex, uint8_t u8TxHandler) uint8_t FLEXCAN_TransmitProcess(uint8_t u8CanIndex, uint8_t u8TxHandler)
{ {
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
FLEXCAN_ErrorType tRetVal; FLEXCAN_ErrorType tRetVal;
/* check parameter */ /* check parameter */
tRetVal = FLEXCAN_LL_CheckInstance(u8CanIndex); tRetVal = FLEXCAN_LL_CheckInstance(u8CanIndex);
if (tRetVal == FLEXCAN_ERROR_OK) if (tRetVal == FLEXCAN_ERROR_OK)
{ {
#endif #endif
return FLEXCAN_LL_ProcessTx(u8CanIndex, u8TxHandler); return FLEXCAN_LL_ProcessTx(u8CanIndex, u8TxHandler);
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
} }
else else
{ {
return 0U; return 0U;
} }
#endif #endif
} }
@ -2242,7 +2238,7 @@ FLEXCAN_ErrorType FLEXCAN_TransmitAbort(uint8_t u8CanIndex, uint8_t u8TxHandler)
uint8_t u8TxRealMbIndex; uint8_t u8TxRealMbIndex;
uint32_t u32TempAddr; uint32_t u32TempAddr;
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
/* check parameter */ /* check parameter */
tRetVal = FLEXCAN_LL_CheckInstance(u8CanIndex); tRetVal = FLEXCAN_LL_CheckInstance(u8CanIndex);
@ -2259,7 +2255,7 @@ FLEXCAN_ErrorType FLEXCAN_TransmitAbort(uint8_t u8CanIndex, uint8_t u8TxHandler)
if (tRetVal == FLEXCAN_ERROR_OK) if (tRetVal == FLEXCAN_ERROR_OK)
{ {
#endif #endif
pCan = (FLEXCAN_Type *)s_aFlexCan_InstanceTable[u8CanIndex]; pCan = (FLEXCAN_Type *)s_aFlexCan_InstanceTable[u8CanIndex];
@ -2279,9 +2275,9 @@ FLEXCAN_ErrorType FLEXCAN_TransmitAbort(uint8_t u8CanIndex, uint8_t u8TxHandler)
/* CODE set 0x09 to aborting transmit */ /* CODE set 0x09 to aborting transmit */
FLEXCAN_MB_CODE_SET(u32TempAddr, 0x09U); FLEXCAN_MB_CODE_SET(u32TempAddr, 0x09U);
} }
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
} }
#endif #endif
return tRetVal; return tRetVal;
} }
@ -2299,7 +2295,7 @@ FLEXCAN_ErrorType FLEXCAN_Receive_Polling(uint8_t u8CanIndex, FLEXCAN_RxMsgListT
FLEXCAN_ErrorType tRetVal; FLEXCAN_ErrorType tRetVal;
uint8_t u8RetVal; uint8_t u8RetVal;
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
/* check parameter */ /* check parameter */
tRetVal = FLEXCAN_LL_CheckInstance(u8CanIndex); tRetVal = FLEXCAN_LL_CheckInstance(u8CanIndex);
@ -2321,9 +2317,9 @@ FLEXCAN_ErrorType FLEXCAN_Receive_Polling(uint8_t u8CanIndex, FLEXCAN_RxMsgListT
if (tRetVal == FLEXCAN_ERROR_OK) if (tRetVal == FLEXCAN_ERROR_OK)
{ {
#else #else
tRetVal = FLEXCAN_ERROR_OK; tRetVal = FLEXCAN_ERROR_OK;
#endif #endif
u8RetVal = 0U; u8RetVal = 0U;
pRxBufList->u8RxMsgCnt = 0U; pRxBufList->u8RxMsgCnt = 0U;
@ -2343,9 +2339,9 @@ FLEXCAN_ErrorType FLEXCAN_Receive_Polling(uint8_t u8CanIndex, FLEXCAN_RxMsgListT
} }
pRxBufList->u8RxMsgCnt = u8RetVal; pRxBufList->u8RxMsgCnt = u8RetVal;
} }
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
} }
#endif #endif
return tRetVal; return tRetVal;
} }
@ -2365,7 +2361,7 @@ FLEXCAN_ErrorType FLEXCAN_GetErrorInfo(uint8_t u8CanIndex, FLEXCAN_ErrorInfoType
uint32_t u32ESR1Status, u32ECRStatus; uint32_t u32ESR1Status, u32ECRStatus;
FLEXCAN_Type *pCan; FLEXCAN_Type *pCan;
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
/* check parameter */ /* check parameter */
tRetVal = FLEXCAN_LL_CheckInstance(u8CanIndex); tRetVal = FLEXCAN_LL_CheckInstance(u8CanIndex);
@ -2382,9 +2378,9 @@ FLEXCAN_ErrorType FLEXCAN_GetErrorInfo(uint8_t u8CanIndex, FLEXCAN_ErrorInfoType
if (tRetVal == FLEXCAN_ERROR_OK) if (tRetVal == FLEXCAN_ERROR_OK)
{ {
#else #else
tRetVal = FLEXCAN_ERROR_OK; tRetVal = FLEXCAN_ERROR_OK;
#endif #endif
pCan = (FLEXCAN_Type *)s_aFlexCan_InstanceTable[u8CanIndex]; pCan = (FLEXCAN_Type *)s_aFlexCan_InstanceTable[u8CanIndex];
u32ESR1Status = FLEXCAN_HWA_GetErrorInfo(pCan); u32ESR1Status = FLEXCAN_HWA_GetErrorInfo(pCan);
@ -2507,14 +2503,14 @@ FLEXCAN_ErrorType FLEXCAN_GetErrorInfo(uint8_t u8CanIndex, FLEXCAN_ErrorInfoType
pErrorInfo->u32TxErrCnt = (u32ECRStatus & FLEXCAN_ECR_TXERRCNT_MASK) >> FLEXCAN_ECR_TXERRCNT_SHIFT; pErrorInfo->u32TxErrCnt = (u32ECRStatus & FLEXCAN_ECR_TXERRCNT_MASK) >> FLEXCAN_ECR_TXERRCNT_SHIFT;
pErrorInfo->u32TxErrCnt_Fast = (u32ECRStatus & FLEXCAN_ECR_TXERRCNT_FAST_MASK) >> FLEXCAN_ECR_TXERRCNT_FAST_SHIFT; pErrorInfo->u32TxErrCnt_Fast = (u32ECRStatus & FLEXCAN_ECR_TXERRCNT_FAST_MASK) >> FLEXCAN_ECR_TXERRCNT_FAST_SHIFT;
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
} }
else else
{ {
PROCESS_UNUSED_VAR(u32ESR1Status); PROCESS_UNUSED_VAR(u32ESR1Status);
PROCESS_UNUSED_VAR(u32ECRStatus); PROCESS_UNUSED_VAR(u32ECRStatus);
} }
#endif #endif
return tRetVal; return tRetVal;
} }
@ -2531,7 +2527,7 @@ FLEXCAN_ErrorType FLEXCAN_ClrErrorInfo(uint8_t u8CanIndex, const FLEXCAN_ErrorIn
FLEXCAN_ErrorType tRetVal; FLEXCAN_ErrorType tRetVal;
FLEXCAN_Type *pCan; FLEXCAN_Type *pCan;
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
/* check parameter */ /* check parameter */
tRetVal = FLEXCAN_LL_CheckInstance(u8CanIndex); tRetVal = FLEXCAN_LL_CheckInstance(u8CanIndex);
@ -2547,15 +2543,15 @@ FLEXCAN_ErrorType FLEXCAN_ClrErrorInfo(uint8_t u8CanIndex, const FLEXCAN_ErrorIn
if (tRetVal == FLEXCAN_ERROR_OK) if (tRetVal == FLEXCAN_ERROR_OK)
{ {
#else #else
tRetVal = FLEXCAN_ERROR_OK; tRetVal = FLEXCAN_ERROR_OK;
#endif #endif
pCan = (FLEXCAN_Type *)s_aFlexCan_InstanceTable[u8CanIndex]; pCan = (FLEXCAN_Type *)s_aFlexCan_InstanceTable[u8CanIndex];
FLEXCAN_HWA_ClrErrorInfo(pCan, pErrorInfo->u32ErrorValue); FLEXCAN_HWA_ClrErrorInfo(pCan, pErrorInfo->u32ErrorValue);
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
} }
#endif #endif
return tRetVal; return tRetVal;
} }
@ -2724,12 +2720,12 @@ void FLEXCAN_IRQHandler(uint8_t u8CanIndex)
FLEXCAN_ErrorInfoType pErrorInfo; FLEXCAN_ErrorInfoType pErrorInfo;
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
/* check parameter */ /* check parameter */
tRetVal = FLEXCAN_LL_CheckInstance(u8CanIndex); tRetVal = FLEXCAN_LL_CheckInstance(u8CanIndex);
if (tRetVal == FLEXCAN_ERROR_OK) if (tRetVal == FLEXCAN_ERROR_OK)
{ {
#endif #endif
pCan = (FLEXCAN_Type *)s_aFlexCan_InstanceTable[u8CanIndex]; pCan = (FLEXCAN_Type *)s_aFlexCan_InstanceTable[u8CanIndex];
@ -2807,9 +2803,8 @@ void FLEXCAN_IRQHandler(uint8_t u8CanIndex)
PROCESS_UNUSED_VAR(pCan); PROCESS_UNUSED_VAR(pCan);
#if FLEXCAN_CHECK_PARAMETERS == STD_ON #if FLEXCAN_CHECK_PARAMETERS == STD_ON
} }
#endif #endif
} }