Lines Matching refs:hcec
146 static HAL_StatusTypeDef CEC_Transmit_IT(CEC_HandleTypeDef *hcec);
147 static HAL_StatusTypeDef CEC_Receive_IT(CEC_HandleTypeDef *hcec);
182 HAL_StatusTypeDef HAL_CEC_Init(CEC_HandleTypeDef *hcec) in HAL_CEC_Init() argument
185 if ((hcec == NULL) || (hcec->Init.RxBuffer == NULL)) in HAL_CEC_Init()
191 assert_param(IS_CEC_ALL_INSTANCE(hcec->Instance)); in HAL_CEC_Init()
192 assert_param(IS_CEC_BIT_TIMING_ERROR_MODE(hcec->Init.TimingErrorFree)); in HAL_CEC_Init()
193 assert_param(IS_CEC_BIT_PERIOD_ERROR_MODE(hcec->Init.PeriodErrorFree)); in HAL_CEC_Init()
194 assert_param(IS_CEC_ADDRESS(hcec->Init.OwnAddress)); in HAL_CEC_Init()
196 if (hcec->gState == HAL_CEC_STATE_RESET) in HAL_CEC_Init()
199 hcec->Lock = HAL_UNLOCKED; in HAL_CEC_Init()
201 hcec->TxCpltCallback = HAL_CEC_TxCpltCallback; /* Legacy weak TxCpltCallback */ in HAL_CEC_Init()
202 hcec->RxCpltCallback = HAL_CEC_RxCpltCallback; /* Legacy weak RxCpltCallback */ in HAL_CEC_Init()
203 hcec->ErrorCallback = HAL_CEC_ErrorCallback; /* Legacy weak ErrorCallback */ in HAL_CEC_Init()
205 if (hcec->MspInitCallback == NULL) in HAL_CEC_Init()
207 hcec->MspInitCallback = HAL_CEC_MspInit; /* Legacy weak MspInit */ in HAL_CEC_Init()
211 hcec->MspInitCallback(hcec); in HAL_CEC_Init()
214 if (hcec->gState == HAL_CEC_STATE_RESET) in HAL_CEC_Init()
217 hcec->Lock = HAL_UNLOCKED; in HAL_CEC_Init()
219 HAL_CEC_MspInit(hcec); in HAL_CEC_Init()
223 hcec->gState = HAL_CEC_STATE_BUSY; in HAL_CEC_Init()
226 __HAL_CEC_DISABLE(hcec); in HAL_CEC_Init()
229 …MODIFY_REG(hcec->Instance->CFGR, CEC_CFGR_FIELDS, hcec->Init.TimingErrorFree | hcec->Init.PeriodEr… in HAL_CEC_Init()
232 MODIFY_REG(hcec->Instance->OAR, CEC_OAR_OA, hcec->Init.OwnAddress); in HAL_CEC_Init()
235 MODIFY_REG(hcec->Instance->PRES, CEC_PRES_PRES, 50U * (HAL_RCC_GetPCLK1Freq() / 1000000U) - 1U); in HAL_CEC_Init()
238 __HAL_CEC_ENABLE_IT(hcec, CEC_IT_IE); in HAL_CEC_Init()
241 __HAL_CEC_ENABLE(hcec); in HAL_CEC_Init()
243 hcec->ErrorCode = HAL_CEC_ERROR_NONE; in HAL_CEC_Init()
244 hcec->gState = HAL_CEC_STATE_READY; in HAL_CEC_Init()
245 hcec->RxState = HAL_CEC_STATE_READY; in HAL_CEC_Init()
255 HAL_StatusTypeDef HAL_CEC_DeInit(CEC_HandleTypeDef *hcec) in HAL_CEC_DeInit() argument
258 if (hcec == NULL) in HAL_CEC_DeInit()
264 assert_param(IS_CEC_ALL_INSTANCE(hcec->Instance)); in HAL_CEC_DeInit()
266 hcec->gState = HAL_CEC_STATE_BUSY; in HAL_CEC_DeInit()
269 if (hcec->MspDeInitCallback == NULL) in HAL_CEC_DeInit()
271 hcec->MspDeInitCallback = HAL_CEC_MspDeInit; /* Legacy weak MspDeInit */ in HAL_CEC_DeInit()
275 hcec->MspDeInitCallback(hcec); in HAL_CEC_DeInit()
279 HAL_CEC_MspDeInit(hcec); in HAL_CEC_DeInit()
285 hcec->ErrorCode = HAL_CEC_ERROR_NONE; in HAL_CEC_DeInit()
286 hcec->gState = HAL_CEC_STATE_RESET; in HAL_CEC_DeInit()
287 hcec->RxState = HAL_CEC_STATE_RESET; in HAL_CEC_DeInit()
290 __HAL_UNLOCK(hcec); in HAL_CEC_DeInit()
301 HAL_StatusTypeDef HAL_CEC_SetDeviceAddress(CEC_HandleTypeDef *hcec, uint16_t CEC_OwnAddress) in HAL_CEC_SetDeviceAddress() argument
306 if ((hcec->gState == HAL_CEC_STATE_READY) && (hcec->RxState == HAL_CEC_STATE_READY)) in HAL_CEC_SetDeviceAddress()
309 __HAL_LOCK(hcec); in HAL_CEC_SetDeviceAddress()
311 hcec->gState = HAL_CEC_STATE_BUSY; in HAL_CEC_SetDeviceAddress()
314 __HAL_CEC_DISABLE(hcec); in HAL_CEC_SetDeviceAddress()
318 MODIFY_REG(hcec->Instance->OAR, CEC_OAR_OA, hcec->Init.OwnAddress); in HAL_CEC_SetDeviceAddress()
322 CLEAR_BIT(hcec->Instance->OAR, CEC_OAR_OA); in HAL_CEC_SetDeviceAddress()
325 hcec->gState = HAL_CEC_STATE_READY; in HAL_CEC_SetDeviceAddress()
326 hcec->ErrorCode = HAL_CEC_ERROR_NONE; in HAL_CEC_SetDeviceAddress()
329 __HAL_UNLOCK(hcec); in HAL_CEC_SetDeviceAddress()
332 __HAL_CEC_ENABLE(hcec); in HAL_CEC_SetDeviceAddress()
347 __weak void HAL_CEC_MspInit(CEC_HandleTypeDef *hcec) in HAL_CEC_MspInit() argument
350 UNUSED(hcec); in HAL_CEC_MspInit()
361 __weak void HAL_CEC_MspDeInit(CEC_HandleTypeDef *hcec) in HAL_CEC_MspDeInit() argument
364 UNUSED(hcec); in HAL_CEC_MspDeInit()
383 HAL_StatusTypeDef HAL_CEC_RegisterCallback(CEC_HandleTypeDef *hcec, HAL_CEC_CallbackIDTypeDef Callb… in HAL_CEC_RegisterCallback() argument
391 hcec->ErrorCode |= HAL_CEC_ERROR_INVALID_CALLBACK; in HAL_CEC_RegisterCallback()
395 __HAL_LOCK(hcec); in HAL_CEC_RegisterCallback()
397 if (hcec->gState == HAL_CEC_STATE_READY) in HAL_CEC_RegisterCallback()
402 hcec->TxCpltCallback = pCallback; in HAL_CEC_RegisterCallback()
406 hcec->ErrorCallback = pCallback; in HAL_CEC_RegisterCallback()
410 hcec->MspInitCallback = pCallback; in HAL_CEC_RegisterCallback()
414 hcec->MspDeInitCallback = pCallback; in HAL_CEC_RegisterCallback()
419 hcec->ErrorCode |= HAL_CEC_ERROR_INVALID_CALLBACK; in HAL_CEC_RegisterCallback()
425 else if (hcec->gState == HAL_CEC_STATE_RESET) in HAL_CEC_RegisterCallback()
430 hcec->MspInitCallback = pCallback; in HAL_CEC_RegisterCallback()
434 hcec->MspDeInitCallback = pCallback; in HAL_CEC_RegisterCallback()
439 hcec->ErrorCode |= HAL_CEC_ERROR_INVALID_CALLBACK; in HAL_CEC_RegisterCallback()
448 hcec->ErrorCode |= HAL_CEC_ERROR_INVALID_CALLBACK; in HAL_CEC_RegisterCallback()
454 __HAL_UNLOCK(hcec); in HAL_CEC_RegisterCallback()
471 HAL_StatusTypeDef HAL_CEC_UnRegisterCallback(CEC_HandleTypeDef *hcec, HAL_CEC_CallbackIDTypeDef Cal… in HAL_CEC_UnRegisterCallback() argument
476 __HAL_LOCK(hcec); in HAL_CEC_UnRegisterCallback()
478 if (hcec->gState == HAL_CEC_STATE_READY) in HAL_CEC_UnRegisterCallback()
483 hcec->TxCpltCallback = HAL_CEC_TxCpltCallback; /* Legacy weak TxCpltCallback */ in HAL_CEC_UnRegisterCallback()
487 hcec->ErrorCallback = HAL_CEC_ErrorCallback; /* Legacy weak ErrorCallback */ in HAL_CEC_UnRegisterCallback()
491 hcec->MspInitCallback = HAL_CEC_MspInit; in HAL_CEC_UnRegisterCallback()
495 hcec->MspDeInitCallback = HAL_CEC_MspDeInit; in HAL_CEC_UnRegisterCallback()
500 hcec->ErrorCode |= HAL_CEC_ERROR_INVALID_CALLBACK; in HAL_CEC_UnRegisterCallback()
506 else if (hcec->gState == HAL_CEC_STATE_RESET) in HAL_CEC_UnRegisterCallback()
511 hcec->MspInitCallback = HAL_CEC_MspInit; in HAL_CEC_UnRegisterCallback()
515 hcec->MspDeInitCallback = HAL_CEC_MspDeInit; in HAL_CEC_UnRegisterCallback()
520 hcec->ErrorCode |= HAL_CEC_ERROR_INVALID_CALLBACK; in HAL_CEC_UnRegisterCallback()
529 hcec->ErrorCode |= HAL_CEC_ERROR_INVALID_CALLBACK; in HAL_CEC_UnRegisterCallback()
535 __HAL_UNLOCK(hcec); in HAL_CEC_UnRegisterCallback()
547 HAL_StatusTypeDef HAL_CEC_RegisterRxCpltCallback(CEC_HandleTypeDef *hcec, pCEC_RxCallbackTypeDef pC… in HAL_CEC_RegisterRxCpltCallback() argument
554 hcec->ErrorCode |= HAL_CEC_ERROR_INVALID_CALLBACK; in HAL_CEC_RegisterRxCpltCallback()
558 __HAL_LOCK(hcec); in HAL_CEC_RegisterRxCpltCallback()
560 if (HAL_CEC_STATE_READY == hcec->RxState) in HAL_CEC_RegisterRxCpltCallback()
562 hcec->RxCpltCallback = pCallback; in HAL_CEC_RegisterRxCpltCallback()
567 hcec->ErrorCode |= HAL_CEC_ERROR_INVALID_CALLBACK; in HAL_CEC_RegisterRxCpltCallback()
573 __HAL_UNLOCK(hcec); in HAL_CEC_RegisterRxCpltCallback()
583 HAL_StatusTypeDef HAL_CEC_UnRegisterRxCpltCallback(CEC_HandleTypeDef *hcec) in HAL_CEC_UnRegisterRxCpltCallback() argument
588 __HAL_LOCK(hcec); in HAL_CEC_UnRegisterRxCpltCallback()
590 if (HAL_CEC_STATE_READY == hcec->RxState) in HAL_CEC_UnRegisterRxCpltCallback()
592 hcec->RxCpltCallback = HAL_CEC_RxCpltCallback; /* Legacy weak CEC RxCpltCallback */ in HAL_CEC_UnRegisterRxCpltCallback()
597 hcec->ErrorCode |= HAL_CEC_ERROR_INVALID_CALLBACK; in HAL_CEC_UnRegisterRxCpltCallback()
603 __HAL_UNLOCK(hcec); in HAL_CEC_UnRegisterRxCpltCallback()
657 HAL_StatusTypeDef HAL_CEC_Transmit_IT(CEC_HandleTypeDef *hcec, uint8_t InitiatorAddress, uint8_t De… in HAL_CEC_Transmit_IT() argument
662 if (hcec->gState == HAL_CEC_STATE_READY) in HAL_CEC_Transmit_IT()
674 __HAL_LOCK(hcec); in HAL_CEC_Transmit_IT()
675 hcec->pTxBuffPtr = pData; in HAL_CEC_Transmit_IT()
676 hcec->gState = HAL_CEC_STATE_BUSY_TX; in HAL_CEC_Transmit_IT()
677 hcec->ErrorCode = HAL_CEC_ERROR_NONE; in HAL_CEC_Transmit_IT()
681 hcec->TxXferCount = Size; in HAL_CEC_Transmit_IT()
684 …hcec->Instance->TXD = (uint8_t)((uint32_t)InitiatorAddress << CEC_INITIATOR_LSB_POS) | Destination… in HAL_CEC_Transmit_IT()
687 __HAL_UNLOCK(hcec); in HAL_CEC_Transmit_IT()
693 MODIFY_REG(hcec->Instance->CSR, CEC_FLAG_TRANSMIT_MASK, CEC_FLAG_TSOM); in HAL_CEC_Transmit_IT()
698 MODIFY_REG(hcec->Instance->CSR, CEC_FLAG_TRANSMIT_MASK, CEC_FLAG_TEOM | CEC_FLAG_TSOM); in HAL_CEC_Transmit_IT()
714 uint32_t HAL_CEC_GetLastReceivedFrameSize(const CEC_HandleTypeDef *hcec) in HAL_CEC_GetLastReceivedFrameSize() argument
716 return hcec->RxXferSize; in HAL_CEC_GetLastReceivedFrameSize()
726 void HAL_CEC_ChangeRxBuffer(CEC_HandleTypeDef *hcec, uint8_t *Rxbuffer) in HAL_CEC_ChangeRxBuffer() argument
728 hcec->Init.RxBuffer = Rxbuffer; in HAL_CEC_ChangeRxBuffer()
736 void HAL_CEC_IRQHandler(CEC_HandleTypeDef *hcec) in HAL_CEC_IRQHandler() argument
741 itflag = hcec->Instance->CSR; in HAL_CEC_IRQHandler()
744 hcec->ErrorCode = READ_BIT(hcec->Instance->ESR, CEC_ESR_ALL_ERROR); in HAL_CEC_IRQHandler()
750 __HAL_CEC_CLEAR_FLAG(hcec, CEC_FLAG_TERR); in HAL_CEC_IRQHandler()
752 hcec->gState = HAL_CEC_STATE_READY; in HAL_CEC_IRQHandler()
759 __HAL_CEC_CLEAR_FLAG(hcec, CEC_FLAG_RERR); in HAL_CEC_IRQHandler()
760 hcec->Init.RxBuffer -= hcec->RxXferSize; in HAL_CEC_IRQHandler()
761 hcec->RxXferSize = 0U; in HAL_CEC_IRQHandler()
762 hcec->RxState = HAL_CEC_STATE_READY; in HAL_CEC_IRQHandler()
765 if ((hcec->ErrorCode & CEC_ESR_ALL_ERROR) != 0U) in HAL_CEC_IRQHandler()
769 hcec->ErrorCallback(hcec); in HAL_CEC_IRQHandler()
771 HAL_CEC_ErrorCallback(hcec); in HAL_CEC_IRQHandler()
778 CEC_Transmit_IT(hcec); in HAL_CEC_IRQHandler()
784 if (hcec->RxXferSize == 0U) in HAL_CEC_IRQHandler()
787 hcec->RxState = HAL_CEC_STATE_BUSY_RX; in HAL_CEC_IRQHandler()
789 CEC_Receive_IT(hcec); in HAL_CEC_IRQHandler()
798 __weak void HAL_CEC_TxCpltCallback(CEC_HandleTypeDef *hcec) in HAL_CEC_TxCpltCallback() argument
801 UNUSED(hcec); in HAL_CEC_TxCpltCallback()
813 __weak void HAL_CEC_RxCpltCallback(CEC_HandleTypeDef *hcec, uint32_t RxFrameSize) in HAL_CEC_RxCpltCallback() argument
816 UNUSED(hcec); in HAL_CEC_RxCpltCallback()
828 __weak void HAL_CEC_ErrorCallback(CEC_HandleTypeDef *hcec) in HAL_CEC_ErrorCallback() argument
831 UNUSED(hcec); in HAL_CEC_ErrorCallback()
860 HAL_CEC_StateTypeDef HAL_CEC_GetState(const CEC_HandleTypeDef *hcec) in HAL_CEC_GetState() argument
864 temp1 = hcec->gState; in HAL_CEC_GetState()
865 temp2 = hcec->RxState; in HAL_CEC_GetState()
876 uint32_t HAL_CEC_GetError(const CEC_HandleTypeDef *hcec) in HAL_CEC_GetError() argument
878 return hcec->ErrorCode; in HAL_CEC_GetError()
900 static HAL_StatusTypeDef CEC_Transmit_IT(CEC_HandleTypeDef *hcec) in CEC_Transmit_IT() argument
904 …if ((hcec->gState == HAL_CEC_STATE_BUSY_TX) || (__HAL_CEC_GET_TRANSMISSION_START_FLAG(hcec) != RES… in CEC_Transmit_IT()
907 if (hcec->TxXferCount == 0U) in CEC_Transmit_IT()
910 MODIFY_REG(hcec->Instance->CSR, CEC_FLAG_TRANSMIT_MASK, 0x00U); in CEC_Transmit_IT()
912 hcec->gState = HAL_CEC_STATE_READY; in CEC_Transmit_IT()
914 hcec->TxCpltCallback(hcec); in CEC_Transmit_IT()
916 HAL_CEC_TxCpltCallback(hcec); in CEC_Transmit_IT()
924 hcec->TxXferCount--; in CEC_Transmit_IT()
927 hcec->Instance->TXD = (uint8_t) * hcec->pTxBuffPtr++; in CEC_Transmit_IT()
930 if (hcec->TxXferCount == 0U) in CEC_Transmit_IT()
933 MODIFY_REG(hcec->Instance->CSR, CEC_FLAG_TRANSMIT_MASK, CEC_FLAG_TEOM); in CEC_Transmit_IT()
938 MODIFY_REG(hcec->Instance->CSR, CEC_FLAG_TRANSMIT_MASK, 0x00U); in CEC_Transmit_IT()
957 static HAL_StatusTypeDef CEC_Receive_IT(CEC_HandleTypeDef *hcec) in CEC_Receive_IT() argument
961 if (hcec->RxState == HAL_CEC_STATE_BUSY_RX) in CEC_Receive_IT()
963 temp = hcec->Instance->CSR; in CEC_Receive_IT()
966 hcec->RxXferSize++; in CEC_Receive_IT()
967 *hcec->Init.RxBuffer++ = hcec->Instance->RXD; in CEC_Receive_IT()
970 MODIFY_REG(hcec->Instance->CSR, CEC_FLAG_RECEIVE_MASK, 0x00U); in CEC_Receive_IT()
976 hcec->RxState = HAL_CEC_STATE_READY; in CEC_Receive_IT()
978 hcec->RxCpltCallback(hcec, hcec->RxXferSize); in CEC_Receive_IT()
980 HAL_CEC_RxCpltCallback(hcec, hcec->RxXferSize); in CEC_Receive_IT()