Lines Matching refs:mbIdx
186 static bool FLEXCAN_IsMbOccupied(CAN_Type *base, uint8_t mbIdx);
241 static uint32_t FLEXCAN_GetFDMailboxOffset(CAN_Type *base, uint8_t mbIdx);
645 static bool FLEXCAN_IsMbOccupied(CAN_Type *base, uint8_t mbIdx) in FLEXCAN_IsMbOccupied() argument
663 fgRet = (mbIdx <= lastOccupiedMb); in FLEXCAN_IsMbOccupied()
669 if (0U == mbIdx) in FLEXCAN_IsMbOccupied()
1375 status_t FLEXCAN_ReadPNWakeUpMB(CAN_Type *base, uint8_t mbIdx, flexcan_frame_t *pRxFrame) in FLEXCAN_ReadPNWakeUpMB() argument
1379 assert(mbIdx <= 0x3U); in FLEXCAN_ReadPNWakeUpMB()
1385 if (CAN_WU_MTC_MCOUNTER(mbIdx) < (base->WU_MTC & CAN_WU_MTC_MCOUNTER_MASK)) in FLEXCAN_ReadPNWakeUpMB()
1388 cs_temp = base->WMB[mbIdx].CS; in FLEXCAN_ReadPNWakeUpMB()
1391 pRxFrame->id = base->WMB[mbIdx].ID & (CAN_ID_EXT_MASK | CAN_ID_STD_MASK); in FLEXCAN_ReadPNWakeUpMB()
1409 pRxFrame->dataWord0 = base->WMB[mbIdx].D03; in FLEXCAN_ReadPNWakeUpMB()
1410 pRxFrame->dataWord1 = base->WMB[mbIdx].D47; in FLEXCAN_ReadPNWakeUpMB()
1637 void FLEXCAN_SetTxMbConfig(CAN_Type *base, uint8_t mbIdx, bool enable) in FLEXCAN_SetTxMbConfig() argument
1640 assert(mbIdx <= (base->MCR & CAN_MCR_MAXMB_MASK)); in FLEXCAN_SetTxMbConfig()
1642 assert(!FLEXCAN_IsMbOccupied(base, mbIdx)); in FLEXCAN_SetTxMbConfig()
1648 base->MB[mbIdx].CS = CAN_CS_CODE(kFLEXCAN_TxMbInactive); in FLEXCAN_SetTxMbConfig()
1652 base->MB[mbIdx].CS = 0; in FLEXCAN_SetTxMbConfig()
1656 base->MB[mbIdx].ID = 0x0; in FLEXCAN_SetTxMbConfig()
1657 base->MB[mbIdx].WORD0 = 0x0; in FLEXCAN_SetTxMbConfig()
1658 base->MB[mbIdx].WORD1 = 0x0; in FLEXCAN_SetTxMbConfig()
1889 static uint32_t FLEXCAN_GetFDMailboxOffset(CAN_Type *base, uint8_t mbIdx) in FLEXCAN_GetFDMailboxOffset() argument
1895 offset = (((uint32_t)mbIdx / 32U) * 512U + ((uint32_t)mbIdx % 32U) * 16U); in FLEXCAN_GetFDMailboxOffset()
1899 offset = (((uint32_t)mbIdx / 21U) * 512U + ((uint32_t)mbIdx % 21U) * 24U); in FLEXCAN_GetFDMailboxOffset()
1903 offset = (((uint32_t)mbIdx / 12U) * 512U + ((uint32_t)mbIdx % 12U) * 40U); in FLEXCAN_GetFDMailboxOffset()
1907 offset = (((uint32_t)mbIdx / 7U) * 512U + ((uint32_t)mbIdx % 7U) * 72U); in FLEXCAN_GetFDMailboxOffset()
2236 void FLEXCAN_SetFDTxMbConfig(CAN_Type *base, uint8_t mbIdx, bool enable) in FLEXCAN_SetFDTxMbConfig() argument
2239 assert(mbIdx <= (base->MCR & CAN_MCR_MAXMB_MASK)); in FLEXCAN_SetFDTxMbConfig()
2241 assert(!FLEXCAN_IsMbOccupied(base, mbIdx)); in FLEXCAN_SetFDTxMbConfig()
2249 uint32_t offset = FLEXCAN_GetFDMailboxOffset(base, mbIdx); in FLEXCAN_SetFDTxMbConfig()
2301 void FLEXCAN_SetRxMbConfig(CAN_Type *base, uint8_t mbIdx, const flexcan_rx_mb_config_t *pRxMbConfig… in FLEXCAN_SetRxMbConfig() argument
2304 assert(mbIdx <= (base->MCR & CAN_MCR_MAXMB_MASK)); in FLEXCAN_SetRxMbConfig()
2307 assert(!FLEXCAN_IsMbOccupied(base, mbIdx)); in FLEXCAN_SetRxMbConfig()
2313 base->MB[mbIdx].CS = 0; in FLEXCAN_SetRxMbConfig()
2316 base->MB[mbIdx].ID = 0x0; in FLEXCAN_SetRxMbConfig()
2317 base->MB[mbIdx].WORD0 = 0x0; in FLEXCAN_SetRxMbConfig()
2318 base->MB[mbIdx].WORD1 = 0x0; in FLEXCAN_SetRxMbConfig()
2323 base->MB[mbIdx].ID = pRxMbConfig->id; in FLEXCAN_SetRxMbConfig()
2339 base->MB[mbIdx].CS = cs_temp; in FLEXCAN_SetRxMbConfig()
2357 void FLEXCAN_SetFDRxMbConfig(CAN_Type *base, uint8_t mbIdx, const flexcan_rx_mb_config_t *pRxMbConf… in FLEXCAN_SetFDRxMbConfig() argument
2360 assert(mbIdx <= (base->MCR & CAN_MCR_MAXMB_MASK)); in FLEXCAN_SetFDRxMbConfig()
2363 assert(!FLEXCAN_IsMbOccupied(base, mbIdx)); in FLEXCAN_SetFDRxMbConfig()
2369 uint32_t offset = FLEXCAN_GetFDMailboxOffset(base, mbIdx); in FLEXCAN_SetFDRxMbConfig()
2792 status_t FLEXCAN_WriteTxMb(CAN_Type *base, uint8_t mbIdx, const flexcan_frame_t *pTxFrame) in FLEXCAN_WriteTxMb() argument
2795 assert(mbIdx <= (base->MCR & CAN_MCR_MAXMB_MASK)); in FLEXCAN_WriteTxMb()
2799 assert(!FLEXCAN_IsMbOccupied(base, mbIdx)); in FLEXCAN_WriteTxMb()
2806 if (CAN_CS_CODE(kFLEXCAN_TxMbDataOrRemote) != (base->MB[mbIdx].CS & CAN_CS_CODE_MASK)) in FLEXCAN_WriteTxMb()
2809 FLEXCAN_ERRATA_6032(base, &(base->MB[mbIdx].CS)); in FLEXCAN_WriteTxMb()
2812 …base->MB[mbIdx].CS = (base->MB[mbIdx].CS & ~CAN_CS_CODE_MASK) | CAN_CS_CODE(kFLEXCAN_TxMbInactive); in FLEXCAN_WriteTxMb()
2815 base->MB[mbIdx].ID = pTxFrame->id; in FLEXCAN_WriteTxMb()
2832 base->MB[mbIdx].WORD0 = pTxFrame->dataWord0; in FLEXCAN_WriteTxMb()
2833 base->MB[mbIdx].WORD1 = pTxFrame->dataWord1; in FLEXCAN_WriteTxMb()
2836 base->MB[mbIdx].CS = cs_temp; in FLEXCAN_WriteTxMb()
2869 status_t FLEXCAN_WriteFDTxMb(CAN_Type *base, uint8_t mbIdx, const flexcan_fd_frame_t *pTxFrame) in FLEXCAN_WriteFDTxMb() argument
2872 assert(mbIdx <= (base->MCR & CAN_MCR_MAXMB_MASK)); in FLEXCAN_WriteFDTxMb()
2875 assert(!FLEXCAN_IsMbOccupied(base, mbIdx)); in FLEXCAN_WriteFDTxMb()
2889 uint32_t offset = FLEXCAN_GetFDMailboxOffset(base, mbIdx); in FLEXCAN_WriteFDTxMb()
2964 status_t FLEXCAN_ReadRxMb(CAN_Type *base, uint8_t mbIdx, flexcan_frame_t *pRxFrame) in FLEXCAN_ReadRxMb() argument
2967 assert(mbIdx <= (base->MCR & CAN_MCR_MAXMB_MASK)); in FLEXCAN_ReadRxMb()
2970 assert(!FLEXCAN_IsMbOccupied(base, mbIdx)); in FLEXCAN_ReadRxMb()
2978 cs_temp = base->MB[mbIdx].CS; in FLEXCAN_ReadRxMb()
2986 pRxFrame->id = base->MB[mbIdx].ID & (CAN_ID_EXT_MASK | CAN_ID_STD_MASK); in FLEXCAN_ReadRxMb()
3003 pRxFrame->dataWord0 = base->MB[mbIdx].WORD0; in FLEXCAN_ReadRxMb()
3004 pRxFrame->dataWord1 = base->MB[mbIdx].WORD1; in FLEXCAN_ReadRxMb()
3045 status_t FLEXCAN_ReadFDRxMb(CAN_Type *base, uint8_t mbIdx, flexcan_fd_frame_t *pRxFrame) in FLEXCAN_ReadFDRxMb() argument
3048 assert(mbIdx <= (base->MCR & CAN_MCR_MAXMB_MASK)); in FLEXCAN_ReadFDRxMb()
3051 assert(!FLEXCAN_IsMbOccupied(base, mbIdx)); in FLEXCAN_ReadFDRxMb()
3063 uint32_t offset = FLEXCAN_GetFDMailboxOffset(base, mbIdx); in FLEXCAN_ReadFDRxMb()
3255 status_t FLEXCAN_TransferSendBlocking(CAN_Type *base, uint8_t mbIdx, flexcan_frame_t *pTxFrame) in FLEXCAN_TransferSendBlocking() argument
3260 …if (kStatus_Success == FLEXCAN_WriteTxMb(base, mbIdx, (const flexcan_frame_t *)(uintptr_t)pTxFrame… in FLEXCAN_TransferSendBlocking()
3264 if (mbIdx >= 64U) in FLEXCAN_TransferSendBlocking()
3266 while (0U == FLEXCAN_GetHigh64MbStatusFlags(base, (uint64_t)1U << (mbIdx - 64U))) in FLEXCAN_TransferSendBlocking()
3269 FLEXCAN_ClearHigh64MbStatusFlags(base, (uint64_t)1U << (mbIdx - 64U)); in FLEXCAN_TransferSendBlocking()
3273 while (0U == FLEXCAN_GetMbStatusFlags(base, (uint64_t)1U << mbIdx)) in FLEXCAN_TransferSendBlocking()
3276 FLEXCAN_ClearMbStatusFlags(base, (uint64_t)1U << mbIdx); in FLEXCAN_TransferSendBlocking()
3279 while (0U == FLEXCAN_GetMbStatusFlags(base, (uint64_t)1U << mbIdx)) in FLEXCAN_TransferSendBlocking()
3282 FLEXCAN_ClearMbStatusFlags(base, (uint64_t)1U << mbIdx); in FLEXCAN_TransferSendBlocking()
3284 while (0U == FLEXCAN_GetMbStatusFlags(base, (uint32_t)1U << mbIdx)) in FLEXCAN_TransferSendBlocking()
3287 FLEXCAN_ClearMbStatusFlags(base, (uint32_t)1U << mbIdx); in FLEXCAN_TransferSendBlocking()
3291 …pTxFrame->timestamp = (uint16_t)((base->MB[mbIdx].CS & CAN_CS_TIME_STAMP_MASK) >> CAN_CS_TIME_STAM… in FLEXCAN_TransferSendBlocking()
3315 status_t FLEXCAN_TransferReceiveBlocking(CAN_Type *base, uint8_t mbIdx, flexcan_frame_t *pRxFrame) in FLEXCAN_TransferReceiveBlocking() argument
3319 if (mbIdx >= 64U) in FLEXCAN_TransferReceiveBlocking()
3321 while (0U == FLEXCAN_GetHigh64MbStatusFlags(base, (uint64_t)1U << (mbIdx - 64U))) in FLEXCAN_TransferReceiveBlocking()
3324 FLEXCAN_ClearHigh64MbStatusFlags(base, (uint64_t)1U << (mbIdx - 64U)); in FLEXCAN_TransferReceiveBlocking()
3328 while (0U == FLEXCAN_GetMbStatusFlags(base, (uint64_t)1U << mbIdx)) in FLEXCAN_TransferReceiveBlocking()
3331 FLEXCAN_ClearMbStatusFlags(base, (uint64_t)1U << mbIdx); in FLEXCAN_TransferReceiveBlocking()
3334 while (0U == FLEXCAN_GetMbStatusFlags(base, (uint64_t)1U << mbIdx)) in FLEXCAN_TransferReceiveBlocking()
3337 FLEXCAN_ClearMbStatusFlags(base, (uint64_t)1U << mbIdx); in FLEXCAN_TransferReceiveBlocking()
3339 while (0U == FLEXCAN_GetMbStatusFlags(base, (uint32_t)1U << mbIdx)) in FLEXCAN_TransferReceiveBlocking()
3342 FLEXCAN_ClearMbStatusFlags(base, (uint32_t)1U << mbIdx); in FLEXCAN_TransferReceiveBlocking()
3346 return FLEXCAN_ReadRxMb(base, mbIdx, pRxFrame); in FLEXCAN_TransferReceiveBlocking()
3361 status_t FLEXCAN_TransferFDSendBlocking(CAN_Type *base, uint8_t mbIdx, flexcan_fd_frame_t *pTxFrame) in FLEXCAN_TransferFDSendBlocking() argument
3366 …if (kStatus_Success == FLEXCAN_WriteFDTxMb(base, mbIdx, (const flexcan_fd_frame_t *)(uintptr_t)pTx… in FLEXCAN_TransferFDSendBlocking()
3370 if (mbIdx >= 64U) in FLEXCAN_TransferFDSendBlocking()
3372 while (0U == FLEXCAN_GetHigh64MbStatusFlags(base, (uint64_t)1U << (mbIdx - 64U))) in FLEXCAN_TransferFDSendBlocking()
3375 FLEXCAN_ClearHigh64MbStatusFlags(base, (uint64_t)1U << (mbIdx - 64U)); in FLEXCAN_TransferFDSendBlocking()
3379 while (0U == FLEXCAN_GetMbStatusFlags(base, (uint64_t)1U << mbIdx)) in FLEXCAN_TransferFDSendBlocking()
3382 FLEXCAN_ClearMbStatusFlags(base, (uint64_t)1U << mbIdx); in FLEXCAN_TransferFDSendBlocking()
3385 while (0U == FLEXCAN_GetMbStatusFlags(base, (uint64_t)1U << mbIdx)) in FLEXCAN_TransferFDSendBlocking()
3388 FLEXCAN_ClearMbStatusFlags(base, (uint64_t)1U << mbIdx); in FLEXCAN_TransferFDSendBlocking()
3390 while (0U == FLEXCAN_GetMbStatusFlags(base, (uint32_t)1U << mbIdx)) in FLEXCAN_TransferFDSendBlocking()
3393 FLEXCAN_ClearMbStatusFlags(base, (uint32_t)1U << mbIdx); in FLEXCAN_TransferFDSendBlocking()
3397 uint32_t offset = FLEXCAN_GetFDMailboxOffset(base, mbIdx); in FLEXCAN_TransferFDSendBlocking()
3422 status_t FLEXCAN_TransferFDReceiveBlocking(CAN_Type *base, uint8_t mbIdx, flexcan_fd_frame_t *pRxFr… in FLEXCAN_TransferFDReceiveBlocking() argument
3426 if (mbIdx >= 64U) in FLEXCAN_TransferFDReceiveBlocking()
3428 while (0U == FLEXCAN_GetHigh64MbStatusFlags(base, (uint64_t)1U << (mbIdx - 64U))) in FLEXCAN_TransferFDReceiveBlocking()
3431 FLEXCAN_ClearHigh64MbStatusFlags(base, (uint64_t)1U << (mbIdx - 64U)); in FLEXCAN_TransferFDReceiveBlocking()
3435 while (0U == FLEXCAN_GetMbStatusFlags(base, (uint64_t)1U << mbIdx)) in FLEXCAN_TransferFDReceiveBlocking()
3438 FLEXCAN_ClearMbStatusFlags(base, (uint64_t)1U << mbIdx); in FLEXCAN_TransferFDReceiveBlocking()
3441 while (0U == FLEXCAN_GetMbStatusFlags(base, (uint64_t)1U << mbIdx)) in FLEXCAN_TransferFDReceiveBlocking()
3444 FLEXCAN_ClearMbStatusFlags(base, (uint64_t)1U << mbIdx); in FLEXCAN_TransferFDReceiveBlocking()
3446 while (0U == FLEXCAN_GetMbStatusFlags(base, (uint32_t)1U << mbIdx)) in FLEXCAN_TransferFDReceiveBlocking()
3449 FLEXCAN_ClearMbStatusFlags(base, (uint32_t)1U << mbIdx); in FLEXCAN_TransferFDReceiveBlocking()
3453 return FLEXCAN_ReadFDRxMb(base, mbIdx, pRxFrame); in FLEXCAN_TransferFDReceiveBlocking()
3630 assert(pMbXfer->mbIdx <= (base->MCR & CAN_MCR_MAXMB_MASK)); in FLEXCAN_TransferSendNonBlocking()
3632 assert(!FLEXCAN_IsMbOccupied(base, pMbXfer->mbIdx)); in FLEXCAN_TransferSendNonBlocking()
3638 if ((uint8_t)kFLEXCAN_StateIdle == handle->mbState[pMbXfer->mbIdx]) in FLEXCAN_TransferSendNonBlocking()
3643 handle->mbState[pMbXfer->mbIdx] = (uint8_t)kFLEXCAN_StateTxRemote; in FLEXCAN_TransferSendNonBlocking()
3647 handle->mbState[pMbXfer->mbIdx] = (uint8_t)kFLEXCAN_StateTxData; in FLEXCAN_TransferSendNonBlocking()
3651 … FLEXCAN_WriteTxMb(base, pMbXfer->mbIdx, (const flexcan_frame_t *)(uintptr_t)pMbXfer->frame)) in FLEXCAN_TransferSendNonBlocking()
3655 if (pMbXfer->mbIdx >= 64U) in FLEXCAN_TransferSendNonBlocking()
3657 FLEXCAN_EnableHigh64MbInterrupts(base, (uint64_t)1U << (pMbXfer->mbIdx - 64U)); in FLEXCAN_TransferSendNonBlocking()
3661 FLEXCAN_EnableMbInterrupts(base, (uint64_t)1U << pMbXfer->mbIdx); in FLEXCAN_TransferSendNonBlocking()
3664 FLEXCAN_EnableMbInterrupts(base, (uint64_t)1U << pMbXfer->mbIdx); in FLEXCAN_TransferSendNonBlocking()
3666 FLEXCAN_EnableMbInterrupts(base, (uint32_t)1U << pMbXfer->mbIdx); in FLEXCAN_TransferSendNonBlocking()
3672 handle->mbState[pMbXfer->mbIdx] = (uint8_t)kFLEXCAN_StateIdle; in FLEXCAN_TransferSendNonBlocking()
3703 assert(pMbXfer->mbIdx <= (base->MCR & CAN_MCR_MAXMB_MASK)); in FLEXCAN_TransferReceiveNonBlocking()
3705 assert(!FLEXCAN_IsMbOccupied(base, pMbXfer->mbIdx)); in FLEXCAN_TransferReceiveNonBlocking()
3709 if ((uint8_t)kFLEXCAN_StateIdle == handle->mbState[pMbXfer->mbIdx]) in FLEXCAN_TransferReceiveNonBlocking()
3711 handle->mbState[pMbXfer->mbIdx] = (uint8_t)kFLEXCAN_StateRxData; in FLEXCAN_TransferReceiveNonBlocking()
3714 handle->mbFrameBuf[pMbXfer->mbIdx] = pMbXfer->frame; in FLEXCAN_TransferReceiveNonBlocking()
3718 if (pMbXfer->mbIdx >= 64U) in FLEXCAN_TransferReceiveNonBlocking()
3720 FLEXCAN_EnableHigh64MbInterrupts(base, (uint64_t)1U << (pMbXfer->mbIdx - 64U)); in FLEXCAN_TransferReceiveNonBlocking()
3724 FLEXCAN_EnableMbInterrupts(base, (uint64_t)1U << pMbXfer->mbIdx); in FLEXCAN_TransferReceiveNonBlocking()
3727 FLEXCAN_EnableMbInterrupts(base, (uint64_t)1U << pMbXfer->mbIdx); in FLEXCAN_TransferReceiveNonBlocking()
3729 FLEXCAN_EnableMbInterrupts(base, (uint32_t)1U << pMbXfer->mbIdx); in FLEXCAN_TransferReceiveNonBlocking()
3761 assert(pMbXfer->mbIdx <= (base->MCR & CAN_MCR_MAXMB_MASK)); in FLEXCAN_TransferFDSendNonBlocking()
3763 assert(!FLEXCAN_IsMbOccupied(base, pMbXfer->mbIdx)); in FLEXCAN_TransferFDSendNonBlocking()
3769 if ((uint8_t)kFLEXCAN_StateIdle == handle->mbState[pMbXfer->mbIdx]) in FLEXCAN_TransferFDSendNonBlocking()
3774 handle->mbState[pMbXfer->mbIdx] = (uint8_t)kFLEXCAN_StateTxRemote; in FLEXCAN_TransferFDSendNonBlocking()
3778 handle->mbState[pMbXfer->mbIdx] = (uint8_t)kFLEXCAN_StateTxData; in FLEXCAN_TransferFDSendNonBlocking()
3782 …FLEXCAN_WriteFDTxMb(base, pMbXfer->mbIdx, (const flexcan_fd_frame_t *)(uintptr_t)pMbXfer->framefd)) in FLEXCAN_TransferFDSendNonBlocking()
3786 if (pMbXfer->mbIdx >= 64U) in FLEXCAN_TransferFDSendNonBlocking()
3788 FLEXCAN_EnableHigh64MbInterrupts(base, (uint64_t)1U << (pMbXfer->mbIdx - 64U)); in FLEXCAN_TransferFDSendNonBlocking()
3792 FLEXCAN_EnableMbInterrupts(base, (uint64_t)1U << pMbXfer->mbIdx); in FLEXCAN_TransferFDSendNonBlocking()
3795 FLEXCAN_EnableMbInterrupts(base, (uint64_t)1U << pMbXfer->mbIdx); in FLEXCAN_TransferFDSendNonBlocking()
3797 FLEXCAN_EnableMbInterrupts(base, (uint32_t)1U << pMbXfer->mbIdx); in FLEXCAN_TransferFDSendNonBlocking()
3804 handle->mbState[pMbXfer->mbIdx] = (uint8_t)kFLEXCAN_StateIdle; in FLEXCAN_TransferFDSendNonBlocking()
3833 assert(pMbXfer->mbIdx <= (base->MCR & CAN_MCR_MAXMB_MASK)); in FLEXCAN_TransferFDReceiveNonBlocking()
3835 assert(!FLEXCAN_IsMbOccupied(base, pMbXfer->mbIdx)); in FLEXCAN_TransferFDReceiveNonBlocking()
3841 if ((uint8_t)kFLEXCAN_StateIdle == handle->mbState[pMbXfer->mbIdx]) in FLEXCAN_TransferFDReceiveNonBlocking()
3843 handle->mbState[pMbXfer->mbIdx] = (uint8_t)kFLEXCAN_StateRxData; in FLEXCAN_TransferFDReceiveNonBlocking()
3846 handle->mbFDFrameBuf[pMbXfer->mbIdx] = pMbXfer->framefd; in FLEXCAN_TransferFDReceiveNonBlocking()
3850 if (pMbXfer->mbIdx >= 64U) in FLEXCAN_TransferFDReceiveNonBlocking()
3852 FLEXCAN_EnableHigh64MbInterrupts(base, (uint64_t)1U << (pMbXfer->mbIdx - 64U)); in FLEXCAN_TransferFDReceiveNonBlocking()
3856 FLEXCAN_EnableMbInterrupts(base, (uint64_t)1U << pMbXfer->mbIdx); in FLEXCAN_TransferFDReceiveNonBlocking()
3859 FLEXCAN_EnableMbInterrupts(base, (uint64_t)1U << pMbXfer->mbIdx); in FLEXCAN_TransferFDReceiveNonBlocking()
3861 FLEXCAN_EnableMbInterrupts(base, (uint32_t)1U << pMbXfer->mbIdx); in FLEXCAN_TransferFDReceiveNonBlocking()
4024 void FLEXCAN_TransferAbortSend(CAN_Type *base, flexcan_handle_t *handle, uint8_t mbIdx) in FLEXCAN_TransferAbortSend() argument
4030 assert(mbIdx <= (base->MCR & CAN_MCR_MAXMB_MASK)); in FLEXCAN_TransferAbortSend()
4032 assert(!FLEXCAN_IsMbOccupied(base, mbIdx)); in FLEXCAN_TransferAbortSend()
4036 if (mbIdx >= 64U) in FLEXCAN_TransferAbortSend()
4038 FLEXCAN_DisableHigh64MbInterrupts(base, (uint64_t)1U << (mbIdx - 64U)); in FLEXCAN_TransferAbortSend()
4042 FLEXCAN_DisableMbInterrupts(base, (uint64_t)1U << mbIdx); in FLEXCAN_TransferAbortSend()
4045 FLEXCAN_DisableMbInterrupts(base, (uint64_t)1U << mbIdx); in FLEXCAN_TransferAbortSend()
4047 FLEXCAN_DisableMbInterrupts(base, (uint32_t)1U << mbIdx); in FLEXCAN_TransferAbortSend()
4051 …timestamp = (uint16_t)((base->MB[mbIdx].CS & CAN_CS_TIME_STAMP_MASK) >> CAN_CS_TIME… in FLEXCAN_TransferAbortSend()
4052 handle->timestamp[mbIdx] = timestamp; in FLEXCAN_TransferAbortSend()
4055 FLEXCAN_SetTxMbConfig(base, mbIdx, true); in FLEXCAN_TransferAbortSend()
4057 handle->mbState[mbIdx] = (uint8_t)kFLEXCAN_StateIdle; in FLEXCAN_TransferAbortSend()
4070 void FLEXCAN_TransferFDAbortSend(CAN_Type *base, flexcan_handle_t *handle, uint8_t mbIdx) in FLEXCAN_TransferFDAbortSend() argument
4078 assert(mbIdx <= (base->MCR & CAN_MCR_MAXMB_MASK)); in FLEXCAN_TransferFDAbortSend()
4080 assert(!FLEXCAN_IsMbOccupied(base, mbIdx)); in FLEXCAN_TransferFDAbortSend()
4085 if (mbIdx >= 64U) in FLEXCAN_TransferFDAbortSend()
4087 FLEXCAN_DisableHigh64MbInterrupts(base, (uint64_t)1U << (mbIdx - 64U)); in FLEXCAN_TransferFDAbortSend()
4091 FLEXCAN_DisableMbInterrupts(base, (uint64_t)1U << mbIdx); in FLEXCAN_TransferFDAbortSend()
4094 FLEXCAN_DisableMbInterrupts(base, (uint64_t)1U << mbIdx); in FLEXCAN_TransferFDAbortSend()
4096 FLEXCAN_DisableMbInterrupts(base, (uint32_t)1U << mbIdx); in FLEXCAN_TransferFDAbortSend()
4101 offset = FLEXCAN_GetFDMailboxOffset(base, mbIdx); in FLEXCAN_TransferFDAbortSend()
4103 handle->timestamp[mbIdx] = timestamp; in FLEXCAN_TransferFDAbortSend()
4106 FLEXCAN_SetFDTxMbConfig(base, mbIdx, true); in FLEXCAN_TransferFDAbortSend()
4108 handle->mbState[mbIdx] = (uint8_t)kFLEXCAN_StateIdle; in FLEXCAN_TransferFDAbortSend()
4120 void FLEXCAN_TransferFDAbortReceive(CAN_Type *base, flexcan_handle_t *handle, uint8_t mbIdx) in FLEXCAN_TransferFDAbortReceive() argument
4124 assert(mbIdx <= (base->MCR & CAN_MCR_MAXMB_MASK)); in FLEXCAN_TransferFDAbortReceive()
4126 assert(!FLEXCAN_IsMbOccupied(base, mbIdx)); in FLEXCAN_TransferFDAbortReceive()
4131 if (mbIdx >= 64U) in FLEXCAN_TransferFDAbortReceive()
4133 FLEXCAN_DisableHigh64MbInterrupts(base, (uint64_t)1U << (mbIdx - 64U)); in FLEXCAN_TransferFDAbortReceive()
4137 FLEXCAN_DisableMbInterrupts(base, (uint64_t)1U << mbIdx); in FLEXCAN_TransferFDAbortReceive()
4140 FLEXCAN_DisableMbInterrupts(base, (uint64_t)1U << mbIdx); in FLEXCAN_TransferFDAbortReceive()
4142 FLEXCAN_DisableMbInterrupts(base, (uint32_t)1U << mbIdx); in FLEXCAN_TransferFDAbortReceive()
4146 handle->mbFDFrameBuf[mbIdx] = NULL; in FLEXCAN_TransferFDAbortReceive()
4147 handle->mbState[mbIdx] = (uint8_t)kFLEXCAN_StateIdle; in FLEXCAN_TransferFDAbortReceive()
4160 void FLEXCAN_TransferAbortReceive(CAN_Type *base, flexcan_handle_t *handle, uint8_t mbIdx) in FLEXCAN_TransferAbortReceive() argument
4164 assert(mbIdx <= (base->MCR & CAN_MCR_MAXMB_MASK)); in FLEXCAN_TransferAbortReceive()
4166 assert(!FLEXCAN_IsMbOccupied(base, mbIdx)); in FLEXCAN_TransferAbortReceive()
4171 if (mbIdx >= 64U) in FLEXCAN_TransferAbortReceive()
4173 FLEXCAN_DisableHigh64MbInterrupts(base, (uint64_t)1U << (mbIdx - 64U)); in FLEXCAN_TransferAbortReceive()
4177 FLEXCAN_DisableMbInterrupts(base, (uint64_t)1U << mbIdx); in FLEXCAN_TransferAbortReceive()
4180 FLEXCAN_DisableMbInterrupts(base, (uint64_t)1U << mbIdx); in FLEXCAN_TransferAbortReceive()
4182 FLEXCAN_DisableMbInterrupts(base, (uint32_t)1U << mbIdx); in FLEXCAN_TransferAbortReceive()
4186 handle->mbFrameBuf[mbIdx] = NULL; in FLEXCAN_TransferAbortReceive()
4187 handle->mbState[mbIdx] = (uint8_t)kFLEXCAN_StateIdle; in FLEXCAN_TransferAbortReceive()
4272 uint32_t FLEXCAN_GetTimeStamp(flexcan_handle_t *handle, uint8_t mbIdx) in FLEXCAN_GetTimeStamp() argument
4277 return (uint32_t)(handle->timestamp[mbIdx]); in FLEXCAN_GetTimeStamp()