Lines Matching refs:hcan

275 HAL_StatusTypeDef HAL_CAN_Init(CAN_HandleTypeDef *hcan)  in HAL_CAN_Init()  argument
280 if (hcan == NULL) in HAL_CAN_Init()
286 assert_param(IS_CAN_ALL_INSTANCE(hcan->Instance)); in HAL_CAN_Init()
287 assert_param(IS_FUNCTIONAL_STATE(hcan->Init.TimeTriggeredMode)); in HAL_CAN_Init()
288 assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoBusOff)); in HAL_CAN_Init()
289 assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoWakeUp)); in HAL_CAN_Init()
290 assert_param(IS_FUNCTIONAL_STATE(hcan->Init.AutoRetransmission)); in HAL_CAN_Init()
291 assert_param(IS_FUNCTIONAL_STATE(hcan->Init.ReceiveFifoLocked)); in HAL_CAN_Init()
292 assert_param(IS_FUNCTIONAL_STATE(hcan->Init.TransmitFifoPriority)); in HAL_CAN_Init()
293 assert_param(IS_CAN_MODE(hcan->Init.Mode)); in HAL_CAN_Init()
294 assert_param(IS_CAN_SJW(hcan->Init.SyncJumpWidth)); in HAL_CAN_Init()
295 assert_param(IS_CAN_BS1(hcan->Init.TimeSeg1)); in HAL_CAN_Init()
296 assert_param(IS_CAN_BS2(hcan->Init.TimeSeg2)); in HAL_CAN_Init()
297 assert_param(IS_CAN_PRESCALER(hcan->Init.Prescaler)); in HAL_CAN_Init()
300 if (hcan->State == HAL_CAN_STATE_RESET) in HAL_CAN_Init()
303hcan->RxFifo0MsgPendingCallback = HAL_CAN_RxFifo0MsgPendingCallback; /* Legacy weak RxFifo0MsgP… in HAL_CAN_Init()
304hcan->RxFifo0FullCallback = HAL_CAN_RxFifo0FullCallback; /* Legacy weak RxFifo0Full… in HAL_CAN_Init()
305hcan->RxFifo1MsgPendingCallback = HAL_CAN_RxFifo1MsgPendingCallback; /* Legacy weak RxFifo1MsgP… in HAL_CAN_Init()
306hcan->RxFifo1FullCallback = HAL_CAN_RxFifo1FullCallback; /* Legacy weak RxFifo1Full… in HAL_CAN_Init()
307hcan->TxMailbox0CompleteCallback = HAL_CAN_TxMailbox0CompleteCallback; /* Legacy weak TxMailbox0C… in HAL_CAN_Init()
308hcan->TxMailbox1CompleteCallback = HAL_CAN_TxMailbox1CompleteCallback; /* Legacy weak TxMailbox1C… in HAL_CAN_Init()
309hcan->TxMailbox2CompleteCallback = HAL_CAN_TxMailbox2CompleteCallback; /* Legacy weak TxMailbox2C… in HAL_CAN_Init()
310hcan->TxMailbox0AbortCallback = HAL_CAN_TxMailbox0AbortCallback; /* Legacy weak TxMailbox0A… in HAL_CAN_Init()
311hcan->TxMailbox1AbortCallback = HAL_CAN_TxMailbox1AbortCallback; /* Legacy weak TxMailbox1A… in HAL_CAN_Init()
312hcan->TxMailbox2AbortCallback = HAL_CAN_TxMailbox2AbortCallback; /* Legacy weak TxMailbox2A… in HAL_CAN_Init()
313hcan->SleepCallback = HAL_CAN_SleepCallback; /* Legacy weak SleepCallba… in HAL_CAN_Init()
314hcan->WakeUpFromRxMsgCallback = HAL_CAN_WakeUpFromRxMsgCallback; /* Legacy weak WakeUpFromR… in HAL_CAN_Init()
315hcan->ErrorCallback = HAL_CAN_ErrorCallback; /* Legacy weak ErrorCallba… in HAL_CAN_Init()
317 if (hcan->MspInitCallback == NULL) in HAL_CAN_Init()
319 hcan->MspInitCallback = HAL_CAN_MspInit; /* Legacy weak MspInit */ in HAL_CAN_Init()
323 hcan->MspInitCallback(hcan); in HAL_CAN_Init()
327 if (hcan->State == HAL_CAN_STATE_RESET) in HAL_CAN_Init()
330 HAL_CAN_MspInit(hcan); in HAL_CAN_Init()
335 SET_BIT(hcan->Instance->MCR, CAN_MCR_INRQ); in HAL_CAN_Init()
341 while ((hcan->Instance->MSR & CAN_MSR_INAK) == 0U) in HAL_CAN_Init()
346 hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT; in HAL_CAN_Init()
349 hcan->State = HAL_CAN_STATE_ERROR; in HAL_CAN_Init()
356 CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_SLEEP); in HAL_CAN_Init()
362 while ((hcan->Instance->MSR & CAN_MSR_SLAK) != 0U) in HAL_CAN_Init()
367 hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT; in HAL_CAN_Init()
370 hcan->State = HAL_CAN_STATE_ERROR; in HAL_CAN_Init()
377 if (hcan->Init.TimeTriggeredMode == ENABLE) in HAL_CAN_Init()
379 SET_BIT(hcan->Instance->MCR, CAN_MCR_TTCM); in HAL_CAN_Init()
383 CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_TTCM); in HAL_CAN_Init()
387 if (hcan->Init.AutoBusOff == ENABLE) in HAL_CAN_Init()
389 SET_BIT(hcan->Instance->MCR, CAN_MCR_ABOM); in HAL_CAN_Init()
393 CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_ABOM); in HAL_CAN_Init()
397 if (hcan->Init.AutoWakeUp == ENABLE) in HAL_CAN_Init()
399 SET_BIT(hcan->Instance->MCR, CAN_MCR_AWUM); in HAL_CAN_Init()
403 CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_AWUM); in HAL_CAN_Init()
407 if (hcan->Init.AutoRetransmission == ENABLE) in HAL_CAN_Init()
409 CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_NART); in HAL_CAN_Init()
413 SET_BIT(hcan->Instance->MCR, CAN_MCR_NART); in HAL_CAN_Init()
417 if (hcan->Init.ReceiveFifoLocked == ENABLE) in HAL_CAN_Init()
419 SET_BIT(hcan->Instance->MCR, CAN_MCR_RFLM); in HAL_CAN_Init()
423 CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_RFLM); in HAL_CAN_Init()
427 if (hcan->Init.TransmitFifoPriority == ENABLE) in HAL_CAN_Init()
429 SET_BIT(hcan->Instance->MCR, CAN_MCR_TXFP); in HAL_CAN_Init()
433 CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_TXFP); in HAL_CAN_Init()
437 WRITE_REG(hcan->Instance->BTR, (uint32_t)(hcan->Init.Mode | in HAL_CAN_Init()
438 hcan->Init.SyncJumpWidth | in HAL_CAN_Init()
439 hcan->Init.TimeSeg1 | in HAL_CAN_Init()
440 hcan->Init.TimeSeg2 | in HAL_CAN_Init()
441 (hcan->Init.Prescaler - 1U))); in HAL_CAN_Init()
444 hcan->ErrorCode = HAL_CAN_ERROR_NONE; in HAL_CAN_Init()
447 hcan->State = HAL_CAN_STATE_READY; in HAL_CAN_Init()
460 HAL_StatusTypeDef HAL_CAN_DeInit(CAN_HandleTypeDef *hcan) in HAL_CAN_DeInit() argument
463 if (hcan == NULL) in HAL_CAN_DeInit()
469 assert_param(IS_CAN_ALL_INSTANCE(hcan->Instance)); in HAL_CAN_DeInit()
472 (void)HAL_CAN_Stop(hcan); in HAL_CAN_DeInit()
475 if (hcan->MspDeInitCallback == NULL) in HAL_CAN_DeInit()
477 hcan->MspDeInitCallback = HAL_CAN_MspDeInit; /* Legacy weak MspDeInit */ in HAL_CAN_DeInit()
481 hcan->MspDeInitCallback(hcan); in HAL_CAN_DeInit()
485 HAL_CAN_MspDeInit(hcan); in HAL_CAN_DeInit()
489 SET_BIT(hcan->Instance->MCR, CAN_MCR_RESET); in HAL_CAN_DeInit()
492 hcan->ErrorCode = HAL_CAN_ERROR_NONE; in HAL_CAN_DeInit()
495 hcan->State = HAL_CAN_STATE_RESET; in HAL_CAN_DeInit()
507 __weak void HAL_CAN_MspInit(CAN_HandleTypeDef *hcan) in HAL_CAN_MspInit() argument
510 UNUSED(hcan); in HAL_CAN_MspInit()
523 __weak void HAL_CAN_MspDeInit(CAN_HandleTypeDef *hcan) in HAL_CAN_MspDeInit() argument
526 UNUSED(hcan); in HAL_CAN_MspDeInit()
559 HAL_StatusTypeDef HAL_CAN_RegisterCallback(CAN_HandleTypeDef *hcan, HAL_CAN_CallbackIDTypeDef Callb… in HAL_CAN_RegisterCallback() argument
567 hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK; in HAL_CAN_RegisterCallback()
572 if (hcan->State == HAL_CAN_STATE_READY) in HAL_CAN_RegisterCallback()
577 hcan->TxMailbox0CompleteCallback = pCallback; in HAL_CAN_RegisterCallback()
581 hcan->TxMailbox1CompleteCallback = pCallback; in HAL_CAN_RegisterCallback()
585 hcan->TxMailbox2CompleteCallback = pCallback; in HAL_CAN_RegisterCallback()
589 hcan->TxMailbox0AbortCallback = pCallback; in HAL_CAN_RegisterCallback()
593 hcan->TxMailbox1AbortCallback = pCallback; in HAL_CAN_RegisterCallback()
597 hcan->TxMailbox2AbortCallback = pCallback; in HAL_CAN_RegisterCallback()
601 hcan->RxFifo0MsgPendingCallback = pCallback; in HAL_CAN_RegisterCallback()
605 hcan->RxFifo0FullCallback = pCallback; in HAL_CAN_RegisterCallback()
609 hcan->RxFifo1MsgPendingCallback = pCallback; in HAL_CAN_RegisterCallback()
613 hcan->RxFifo1FullCallback = pCallback; in HAL_CAN_RegisterCallback()
617 hcan->SleepCallback = pCallback; in HAL_CAN_RegisterCallback()
621 hcan->WakeUpFromRxMsgCallback = pCallback; in HAL_CAN_RegisterCallback()
625 hcan->ErrorCallback = pCallback; in HAL_CAN_RegisterCallback()
629 hcan->MspInitCallback = pCallback; in HAL_CAN_RegisterCallback()
633 hcan->MspDeInitCallback = pCallback; in HAL_CAN_RegisterCallback()
638 hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK; in HAL_CAN_RegisterCallback()
645 else if (hcan->State == HAL_CAN_STATE_RESET) in HAL_CAN_RegisterCallback()
650 hcan->MspInitCallback = pCallback; in HAL_CAN_RegisterCallback()
654 hcan->MspDeInitCallback = pCallback; in HAL_CAN_RegisterCallback()
659 hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK; in HAL_CAN_RegisterCallback()
669 hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK; in HAL_CAN_RegisterCallback()
702 HAL_StatusTypeDef HAL_CAN_UnRegisterCallback(CAN_HandleTypeDef *hcan, HAL_CAN_CallbackIDTypeDef Cal… in HAL_CAN_UnRegisterCallback() argument
706 if (hcan->State == HAL_CAN_STATE_READY) in HAL_CAN_UnRegisterCallback()
711 hcan->TxMailbox0CompleteCallback = HAL_CAN_TxMailbox0CompleteCallback; in HAL_CAN_UnRegisterCallback()
715 hcan->TxMailbox1CompleteCallback = HAL_CAN_TxMailbox1CompleteCallback; in HAL_CAN_UnRegisterCallback()
719 hcan->TxMailbox2CompleteCallback = HAL_CAN_TxMailbox2CompleteCallback; in HAL_CAN_UnRegisterCallback()
723 hcan->TxMailbox0AbortCallback = HAL_CAN_TxMailbox0AbortCallback; in HAL_CAN_UnRegisterCallback()
727 hcan->TxMailbox1AbortCallback = HAL_CAN_TxMailbox1AbortCallback; in HAL_CAN_UnRegisterCallback()
731 hcan->TxMailbox2AbortCallback = HAL_CAN_TxMailbox2AbortCallback; in HAL_CAN_UnRegisterCallback()
735 hcan->RxFifo0MsgPendingCallback = HAL_CAN_RxFifo0MsgPendingCallback; in HAL_CAN_UnRegisterCallback()
739 hcan->RxFifo0FullCallback = HAL_CAN_RxFifo0FullCallback; in HAL_CAN_UnRegisterCallback()
743 hcan->RxFifo1MsgPendingCallback = HAL_CAN_RxFifo1MsgPendingCallback; in HAL_CAN_UnRegisterCallback()
747 hcan->RxFifo1FullCallback = HAL_CAN_RxFifo1FullCallback; in HAL_CAN_UnRegisterCallback()
751 hcan->SleepCallback = HAL_CAN_SleepCallback; in HAL_CAN_UnRegisterCallback()
755 hcan->WakeUpFromRxMsgCallback = HAL_CAN_WakeUpFromRxMsgCallback; in HAL_CAN_UnRegisterCallback()
759 hcan->ErrorCallback = HAL_CAN_ErrorCallback; in HAL_CAN_UnRegisterCallback()
763 hcan->MspInitCallback = HAL_CAN_MspInit; in HAL_CAN_UnRegisterCallback()
767 hcan->MspDeInitCallback = HAL_CAN_MspDeInit; in HAL_CAN_UnRegisterCallback()
772 hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK; in HAL_CAN_UnRegisterCallback()
779 else if (hcan->State == HAL_CAN_STATE_RESET) in HAL_CAN_UnRegisterCallback()
784 hcan->MspInitCallback = HAL_CAN_MspInit; in HAL_CAN_UnRegisterCallback()
788 hcan->MspDeInitCallback = HAL_CAN_MspDeInit; in HAL_CAN_UnRegisterCallback()
793 hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK; in HAL_CAN_UnRegisterCallback()
803 hcan->ErrorCode |= HAL_CAN_ERROR_INVALID_CALLBACK; in HAL_CAN_UnRegisterCallback()
840 HAL_StatusTypeDef HAL_CAN_ConfigFilter(CAN_HandleTypeDef *hcan, const CAN_FilterTypeDef *sFilterCon… in HAL_CAN_ConfigFilter() argument
843 CAN_TypeDef *can_ip = hcan->Instance; in HAL_CAN_ConfigFilter()
844 HAL_CAN_StateTypeDef state = hcan->State; in HAL_CAN_ConfigFilter()
861 if (hcan->Instance == CAN3) in HAL_CAN_ConfigFilter()
991 hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED; in HAL_CAN_ConfigFilter()
1034 HAL_StatusTypeDef HAL_CAN_Start(CAN_HandleTypeDef *hcan) in HAL_CAN_Start() argument
1038 if (hcan->State == HAL_CAN_STATE_READY) in HAL_CAN_Start()
1041 hcan->State = HAL_CAN_STATE_LISTENING; in HAL_CAN_Start()
1044 CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_INRQ); in HAL_CAN_Start()
1050 while ((hcan->Instance->MSR & CAN_MSR_INAK) != 0U) in HAL_CAN_Start()
1056 hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT; in HAL_CAN_Start()
1059 hcan->State = HAL_CAN_STATE_ERROR; in HAL_CAN_Start()
1066 hcan->ErrorCode = HAL_CAN_ERROR_NONE; in HAL_CAN_Start()
1074 hcan->ErrorCode |= HAL_CAN_ERROR_NOT_READY; in HAL_CAN_Start()
1086 HAL_StatusTypeDef HAL_CAN_Stop(CAN_HandleTypeDef *hcan) in HAL_CAN_Stop() argument
1090 if (hcan->State == HAL_CAN_STATE_LISTENING) in HAL_CAN_Stop()
1093 SET_BIT(hcan->Instance->MCR, CAN_MCR_INRQ); in HAL_CAN_Stop()
1099 while ((hcan->Instance->MSR & CAN_MSR_INAK) == 0U) in HAL_CAN_Stop()
1105 hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT; in HAL_CAN_Stop()
1108 hcan->State = HAL_CAN_STATE_ERROR; in HAL_CAN_Stop()
1115 CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_SLEEP); in HAL_CAN_Stop()
1118 hcan->State = HAL_CAN_STATE_READY; in HAL_CAN_Stop()
1126 hcan->ErrorCode |= HAL_CAN_ERROR_NOT_STARTED; in HAL_CAN_Stop()
1141 HAL_StatusTypeDef HAL_CAN_RequestSleep(CAN_HandleTypeDef *hcan) in HAL_CAN_RequestSleep() argument
1143 HAL_CAN_StateTypeDef state = hcan->State; in HAL_CAN_RequestSleep()
1149 SET_BIT(hcan->Instance->MCR, CAN_MCR_SLEEP); in HAL_CAN_RequestSleep()
1157 hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED; in HAL_CAN_RequestSleep()
1172 HAL_StatusTypeDef HAL_CAN_WakeUp(CAN_HandleTypeDef *hcan) in HAL_CAN_WakeUp() argument
1175 HAL_CAN_StateTypeDef state = hcan->State; in HAL_CAN_WakeUp()
1181 CLEAR_BIT(hcan->Instance->MCR, CAN_MCR_SLEEP); in HAL_CAN_WakeUp()
1193 hcan->ErrorCode |= HAL_CAN_ERROR_TIMEOUT; in HAL_CAN_WakeUp()
1197 } while ((hcan->Instance->MSR & CAN_MSR_SLAK) != 0U); in HAL_CAN_WakeUp()
1205 hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED; in HAL_CAN_WakeUp()
1219 uint32_t HAL_CAN_IsSleepActive(const CAN_HandleTypeDef *hcan) in HAL_CAN_IsSleepActive() argument
1222 HAL_CAN_StateTypeDef state = hcan->State; in HAL_CAN_IsSleepActive()
1228 if ((hcan->Instance->MSR & CAN_MSR_SLAK) != 0U) in HAL_CAN_IsSleepActive()
1250 HAL_StatusTypeDef HAL_CAN_AddTxMessage(CAN_HandleTypeDef *hcan, const CAN_TxHeaderTypeDef *pHeader, in HAL_CAN_AddTxMessage() argument
1254 HAL_CAN_StateTypeDef state = hcan->State; in HAL_CAN_AddTxMessage()
1255 uint32_t tsr = READ_REG(hcan->Instance->TSR); in HAL_CAN_AddTxMessage()
1288 hcan->Instance->sTxMailBox[transmitmailbox].TIR = ((pHeader->StdId << CAN_TI0R_STID_Pos) | in HAL_CAN_AddTxMessage()
1293 hcan->Instance->sTxMailBox[transmitmailbox].TIR = ((pHeader->ExtId << CAN_TI0R_EXID_Pos) | in HAL_CAN_AddTxMessage()
1299 hcan->Instance->sTxMailBox[transmitmailbox].TDTR = (pHeader->DLC); in HAL_CAN_AddTxMessage()
1304 SET_BIT(hcan->Instance->sTxMailBox[transmitmailbox].TDTR, CAN_TDT0R_TGT); in HAL_CAN_AddTxMessage()
1308 WRITE_REG(hcan->Instance->sTxMailBox[transmitmailbox].TDHR, in HAL_CAN_AddTxMessage()
1313 WRITE_REG(hcan->Instance->sTxMailBox[transmitmailbox].TDLR, in HAL_CAN_AddTxMessage()
1320 SET_BIT(hcan->Instance->sTxMailBox[transmitmailbox].TIR, CAN_TI0R_TXRQ); in HAL_CAN_AddTxMessage()
1328 hcan->ErrorCode |= HAL_CAN_ERROR_PARAM; in HAL_CAN_AddTxMessage()
1336 hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED; in HAL_CAN_AddTxMessage()
1350 HAL_StatusTypeDef HAL_CAN_AbortTxRequest(CAN_HandleTypeDef *hcan, uint32_t TxMailboxes) in HAL_CAN_AbortTxRequest() argument
1352 HAL_CAN_StateTypeDef state = hcan->State; in HAL_CAN_AbortTxRequest()
1364 SET_BIT(hcan->Instance->TSR, CAN_TSR_ABRQ0); in HAL_CAN_AbortTxRequest()
1371 SET_BIT(hcan->Instance->TSR, CAN_TSR_ABRQ1); in HAL_CAN_AbortTxRequest()
1378 SET_BIT(hcan->Instance->TSR, CAN_TSR_ABRQ2); in HAL_CAN_AbortTxRequest()
1387 hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED; in HAL_CAN_AbortTxRequest()
1399 uint32_t HAL_CAN_GetTxMailboxesFreeLevel(const CAN_HandleTypeDef *hcan) in HAL_CAN_GetTxMailboxesFreeLevel() argument
1402 HAL_CAN_StateTypeDef state = hcan->State; in HAL_CAN_GetTxMailboxesFreeLevel()
1408 if ((hcan->Instance->TSR & CAN_TSR_TME0) != 0U) in HAL_CAN_GetTxMailboxesFreeLevel()
1414 if ((hcan->Instance->TSR & CAN_TSR_TME1) != 0U) in HAL_CAN_GetTxMailboxesFreeLevel()
1420 if ((hcan->Instance->TSR & CAN_TSR_TME2) != 0U) in HAL_CAN_GetTxMailboxesFreeLevel()
1442 uint32_t HAL_CAN_IsTxMessagePending(const CAN_HandleTypeDef *hcan, uint32_t TxMailboxes) in HAL_CAN_IsTxMessagePending() argument
1445 HAL_CAN_StateTypeDef state = hcan->State; in HAL_CAN_IsTxMessagePending()
1454 …if ((hcan->Instance->TSR & (TxMailboxes << CAN_TSR_TME0_Pos)) != (TxMailboxes << CAN_TSR_TME0_Pos)) in HAL_CAN_IsTxMessagePending()
1474 uint32_t HAL_CAN_GetTxTimestamp(const CAN_HandleTypeDef *hcan, uint32_t TxMailbox) in HAL_CAN_GetTxTimestamp() argument
1478 HAL_CAN_StateTypeDef state = hcan->State; in HAL_CAN_GetTxTimestamp()
1490 …timestamp = (hcan->Instance->sTxMailBox[transmitmailbox].TDTR & CAN_TDT0R_TIME) >> CAN_TDT0R_TIME_… in HAL_CAN_GetTxTimestamp()
1508 HAL_StatusTypeDef HAL_CAN_GetRxMessage(CAN_HandleTypeDef *hcan, uint32_t RxFifo, in HAL_CAN_GetRxMessage() argument
1511 HAL_CAN_StateTypeDef state = hcan->State; in HAL_CAN_GetRxMessage()
1522 if ((hcan->Instance->RF0R & CAN_RF0R_FMP0) == 0U) in HAL_CAN_GetRxMessage()
1525 hcan->ErrorCode |= HAL_CAN_ERROR_PARAM; in HAL_CAN_GetRxMessage()
1533 if ((hcan->Instance->RF1R & CAN_RF1R_FMP1) == 0U) in HAL_CAN_GetRxMessage()
1536 hcan->ErrorCode |= HAL_CAN_ERROR_PARAM; in HAL_CAN_GetRxMessage()
1543 pHeader->IDE = CAN_RI0R_IDE & hcan->Instance->sFIFOMailBox[RxFifo].RIR; in HAL_CAN_GetRxMessage()
1546 … pHeader->StdId = (CAN_RI0R_STID & hcan->Instance->sFIFOMailBox[RxFifo].RIR) >> CAN_TI0R_STID_Pos; in HAL_CAN_GetRxMessage()
1551 hcan->Instance->sFIFOMailBox[RxFifo].RIR) >> CAN_RI0R_EXID_Pos; in HAL_CAN_GetRxMessage()
1553 pHeader->RTR = (CAN_RI0R_RTR & hcan->Instance->sFIFOMailBox[RxFifo].RIR); in HAL_CAN_GetRxMessage()
1554 if (((CAN_RDT0R_DLC & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_RDT0R_DLC_Pos) >= 8U) in HAL_CAN_GetRxMessage()
1561 … pHeader->DLC = (CAN_RDT0R_DLC & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_RDT0R_DLC_Pos; in HAL_CAN_GetRxMessage()
1563 …pHeader->FilterMatchIndex = (CAN_RDT0R_FMI & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_RDT… in HAL_CAN_GetRxMessage()
1564 …pHeader->Timestamp = (CAN_RDT0R_TIME & hcan->Instance->sFIFOMailBox[RxFifo].RDTR) >> CAN_RDT0R_TIM… in HAL_CAN_GetRxMessage()
1567 …aData[0] = (uint8_t)((CAN_RDL0R_DATA0 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R_DA… in HAL_CAN_GetRxMessage()
1568 …aData[1] = (uint8_t)((CAN_RDL0R_DATA1 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R_DA… in HAL_CAN_GetRxMessage()
1569 …aData[2] = (uint8_t)((CAN_RDL0R_DATA2 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R_DA… in HAL_CAN_GetRxMessage()
1570 …aData[3] = (uint8_t)((CAN_RDL0R_DATA3 & hcan->Instance->sFIFOMailBox[RxFifo].RDLR) >> CAN_RDL0R_DA… in HAL_CAN_GetRxMessage()
1571 …aData[4] = (uint8_t)((CAN_RDH0R_DATA4 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R_DA… in HAL_CAN_GetRxMessage()
1572 …aData[5] = (uint8_t)((CAN_RDH0R_DATA5 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R_DA… in HAL_CAN_GetRxMessage()
1573 …aData[6] = (uint8_t)((CAN_RDH0R_DATA6 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R_DA… in HAL_CAN_GetRxMessage()
1574 …aData[7] = (uint8_t)((CAN_RDH0R_DATA7 & hcan->Instance->sFIFOMailBox[RxFifo].RDHR) >> CAN_RDH0R_DA… in HAL_CAN_GetRxMessage()
1580 SET_BIT(hcan->Instance->RF0R, CAN_RF0R_RFOM0); in HAL_CAN_GetRxMessage()
1585 SET_BIT(hcan->Instance->RF1R, CAN_RF1R_RFOM1); in HAL_CAN_GetRxMessage()
1594 hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED; in HAL_CAN_GetRxMessage()
1608 uint32_t HAL_CAN_GetRxFifoFillLevel(const CAN_HandleTypeDef *hcan, uint32_t RxFifo) in HAL_CAN_GetRxFifoFillLevel() argument
1611 HAL_CAN_StateTypeDef state = hcan->State; in HAL_CAN_GetRxFifoFillLevel()
1621 filllevel = hcan->Instance->RF0R & CAN_RF0R_FMP0; in HAL_CAN_GetRxFifoFillLevel()
1625 filllevel = hcan->Instance->RF1R & CAN_RF1R_FMP1; in HAL_CAN_GetRxFifoFillLevel()
1661 HAL_StatusTypeDef HAL_CAN_ActivateNotification(CAN_HandleTypeDef *hcan, uint32_t ActiveITs) in HAL_CAN_ActivateNotification() argument
1663 HAL_CAN_StateTypeDef state = hcan->State; in HAL_CAN_ActivateNotification()
1672 __HAL_CAN_ENABLE_IT(hcan, ActiveITs); in HAL_CAN_ActivateNotification()
1680 hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED; in HAL_CAN_ActivateNotification()
1694 HAL_StatusTypeDef HAL_CAN_DeactivateNotification(CAN_HandleTypeDef *hcan, uint32_t InactiveITs) in HAL_CAN_DeactivateNotification() argument
1696 HAL_CAN_StateTypeDef state = hcan->State; in HAL_CAN_DeactivateNotification()
1705 __HAL_CAN_DISABLE_IT(hcan, InactiveITs); in HAL_CAN_DeactivateNotification()
1713 hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED; in HAL_CAN_DeactivateNotification()
1725 void HAL_CAN_IRQHandler(CAN_HandleTypeDef *hcan) in HAL_CAN_IRQHandler() argument
1728 uint32_t interrupts = READ_REG(hcan->Instance->IER); in HAL_CAN_IRQHandler()
1729 uint32_t msrflags = READ_REG(hcan->Instance->MSR); in HAL_CAN_IRQHandler()
1730 uint32_t tsrflags = READ_REG(hcan->Instance->TSR); in HAL_CAN_IRQHandler()
1731 uint32_t rf0rflags = READ_REG(hcan->Instance->RF0R); in HAL_CAN_IRQHandler()
1732 uint32_t rf1rflags = READ_REG(hcan->Instance->RF1R); in HAL_CAN_IRQHandler()
1733 uint32_t esrflags = READ_REG(hcan->Instance->ESR); in HAL_CAN_IRQHandler()
1742 __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_RQCP0); in HAL_CAN_IRQHandler()
1749 hcan->TxMailbox0CompleteCallback(hcan); in HAL_CAN_IRQHandler()
1752 HAL_CAN_TxMailbox0CompleteCallback(hcan); in HAL_CAN_IRQHandler()
1772 hcan->TxMailbox0AbortCallback(hcan); in HAL_CAN_IRQHandler()
1775 HAL_CAN_TxMailbox0AbortCallback(hcan); in HAL_CAN_IRQHandler()
1785 __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_RQCP1); in HAL_CAN_IRQHandler()
1792 hcan->TxMailbox1CompleteCallback(hcan); in HAL_CAN_IRQHandler()
1795 HAL_CAN_TxMailbox1CompleteCallback(hcan); in HAL_CAN_IRQHandler()
1815 hcan->TxMailbox1AbortCallback(hcan); in HAL_CAN_IRQHandler()
1818 HAL_CAN_TxMailbox1AbortCallback(hcan); in HAL_CAN_IRQHandler()
1828 __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_RQCP2); in HAL_CAN_IRQHandler()
1835 hcan->TxMailbox2CompleteCallback(hcan); in HAL_CAN_IRQHandler()
1838 HAL_CAN_TxMailbox2CompleteCallback(hcan); in HAL_CAN_IRQHandler()
1858 hcan->TxMailbox2AbortCallback(hcan); in HAL_CAN_IRQHandler()
1861 HAL_CAN_TxMailbox2AbortCallback(hcan); in HAL_CAN_IRQHandler()
1877 __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FOV0); in HAL_CAN_IRQHandler()
1887 __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FF0); in HAL_CAN_IRQHandler()
1892 hcan->RxFifo0FullCallback(hcan); in HAL_CAN_IRQHandler()
1895 HAL_CAN_RxFifo0FullCallback(hcan); in HAL_CAN_IRQHandler()
1904 if ((hcan->Instance->RF0R & CAN_RF0R_FMP0) != 0U) in HAL_CAN_IRQHandler()
1909 hcan->RxFifo0MsgPendingCallback(hcan); in HAL_CAN_IRQHandler()
1912 HAL_CAN_RxFifo0MsgPendingCallback(hcan); in HAL_CAN_IRQHandler()
1926 __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FOV1); in HAL_CAN_IRQHandler()
1936 __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FF1); in HAL_CAN_IRQHandler()
1941 hcan->RxFifo1FullCallback(hcan); in HAL_CAN_IRQHandler()
1944 HAL_CAN_RxFifo1FullCallback(hcan); in HAL_CAN_IRQHandler()
1953 if ((hcan->Instance->RF1R & CAN_RF1R_FMP1) != 0U) in HAL_CAN_IRQHandler()
1958 hcan->RxFifo1MsgPendingCallback(hcan); in HAL_CAN_IRQHandler()
1961 HAL_CAN_RxFifo1MsgPendingCallback(hcan); in HAL_CAN_IRQHandler()
1972 __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_SLAKI); in HAL_CAN_IRQHandler()
1977 hcan->SleepCallback(hcan); in HAL_CAN_IRQHandler()
1980 HAL_CAN_SleepCallback(hcan); in HAL_CAN_IRQHandler()
1991 __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_WKU); in HAL_CAN_IRQHandler()
1996 hcan->WakeUpFromRxMsgCallback(hcan); in HAL_CAN_IRQHandler()
1999 HAL_CAN_WakeUpFromRxMsgCallback(hcan); in HAL_CAN_IRQHandler()
2074 CLEAR_BIT(hcan->Instance->ESR, CAN_ESR_LEC); in HAL_CAN_IRQHandler()
2079 __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_ERRI); in HAL_CAN_IRQHandler()
2086 hcan->ErrorCode |= errorcode; in HAL_CAN_IRQHandler()
2091 hcan->ErrorCallback(hcan); in HAL_CAN_IRQHandler()
2094 HAL_CAN_ErrorCallback(hcan); in HAL_CAN_IRQHandler()
2136 __weak void HAL_CAN_TxMailbox0CompleteCallback(CAN_HandleTypeDef *hcan) in HAL_CAN_TxMailbox0CompleteCallback() argument
2139 UNUSED(hcan); in HAL_CAN_TxMailbox0CompleteCallback()
2153 __weak void HAL_CAN_TxMailbox1CompleteCallback(CAN_HandleTypeDef *hcan) in HAL_CAN_TxMailbox1CompleteCallback() argument
2156 UNUSED(hcan); in HAL_CAN_TxMailbox1CompleteCallback()
2170 __weak void HAL_CAN_TxMailbox2CompleteCallback(CAN_HandleTypeDef *hcan) in HAL_CAN_TxMailbox2CompleteCallback() argument
2173 UNUSED(hcan); in HAL_CAN_TxMailbox2CompleteCallback()
2187 __weak void HAL_CAN_TxMailbox0AbortCallback(CAN_HandleTypeDef *hcan) in HAL_CAN_TxMailbox0AbortCallback() argument
2190 UNUSED(hcan); in HAL_CAN_TxMailbox0AbortCallback()
2204 __weak void HAL_CAN_TxMailbox1AbortCallback(CAN_HandleTypeDef *hcan) in HAL_CAN_TxMailbox1AbortCallback() argument
2207 UNUSED(hcan); in HAL_CAN_TxMailbox1AbortCallback()
2221 __weak void HAL_CAN_TxMailbox2AbortCallback(CAN_HandleTypeDef *hcan) in HAL_CAN_TxMailbox2AbortCallback() argument
2224 UNUSED(hcan); in HAL_CAN_TxMailbox2AbortCallback()
2238 __weak void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan) in HAL_CAN_RxFifo0MsgPendingCallback() argument
2241 UNUSED(hcan); in HAL_CAN_RxFifo0MsgPendingCallback()
2255 __weak void HAL_CAN_RxFifo0FullCallback(CAN_HandleTypeDef *hcan) in HAL_CAN_RxFifo0FullCallback() argument
2258 UNUSED(hcan); in HAL_CAN_RxFifo0FullCallback()
2272 __weak void HAL_CAN_RxFifo1MsgPendingCallback(CAN_HandleTypeDef *hcan) in HAL_CAN_RxFifo1MsgPendingCallback() argument
2275 UNUSED(hcan); in HAL_CAN_RxFifo1MsgPendingCallback()
2289 __weak void HAL_CAN_RxFifo1FullCallback(CAN_HandleTypeDef *hcan) in HAL_CAN_RxFifo1FullCallback() argument
2292 UNUSED(hcan); in HAL_CAN_RxFifo1FullCallback()
2306 __weak void HAL_CAN_SleepCallback(CAN_HandleTypeDef *hcan) in HAL_CAN_SleepCallback() argument
2309 UNUSED(hcan); in HAL_CAN_SleepCallback()
2322 __weak void HAL_CAN_WakeUpFromRxMsgCallback(CAN_HandleTypeDef *hcan) in HAL_CAN_WakeUpFromRxMsgCallback() argument
2325 UNUSED(hcan); in HAL_CAN_WakeUpFromRxMsgCallback()
2339 __weak void HAL_CAN_ErrorCallback(CAN_HandleTypeDef *hcan) in HAL_CAN_ErrorCallback() argument
2342 UNUSED(hcan); in HAL_CAN_ErrorCallback()
2376 HAL_CAN_StateTypeDef HAL_CAN_GetState(const CAN_HandleTypeDef *hcan) in HAL_CAN_GetState() argument
2378 HAL_CAN_StateTypeDef state = hcan->State; in HAL_CAN_GetState()
2384 if ((hcan->Instance->MSR & CAN_MSR_SLAK) != 0U) in HAL_CAN_GetState()
2390 else if ((hcan->Instance->MCR & CAN_MCR_SLEEP) != 0U) in HAL_CAN_GetState()
2411 uint32_t HAL_CAN_GetError(const CAN_HandleTypeDef *hcan) in HAL_CAN_GetError() argument
2414 return hcan->ErrorCode; in HAL_CAN_GetError()
2423 HAL_StatusTypeDef HAL_CAN_ResetError(CAN_HandleTypeDef *hcan) in HAL_CAN_ResetError() argument
2426 HAL_CAN_StateTypeDef state = hcan->State; in HAL_CAN_ResetError()
2432 hcan->ErrorCode = 0U; in HAL_CAN_ResetError()
2437 hcan->ErrorCode |= HAL_CAN_ERROR_NOT_INITIALIZED; in HAL_CAN_ResetError()