Lines Matching refs:hmdf
266 static void MDF_AcqStart(MDF_HandleTypeDef *const hmdf, const MDF_FilterConfigTypeDef *const pF…
300 HAL_StatusTypeDef HAL_MDF_Init(MDF_HandleTypeDef *hmdf) in HAL_MDF_Init() argument
305 if (hmdf == NULL) in HAL_MDF_Init()
312 assert_param(IS_MDF_ALL_INSTANCE(hmdf->Instance)); in HAL_MDF_Init()
313 assert_param(IS_MDF_FILTER_BITSTREAM(hmdf->Init.FilterBistream)); in HAL_MDF_Init()
314 assert_param(IS_FUNCTIONAL_STATE(hmdf->Init.SerialInterface.Activation)); in HAL_MDF_Init()
317 if (a_mdfHandle[MDF_GetHandleNumberFromInstance(hmdf->Instance)] != NULL) in HAL_MDF_Init()
325 if (IS_ADF_INSTANCE(hmdf->Instance)) in HAL_MDF_Init()
327 hmdf->OldCallback = NULL; in HAL_MDF_Init()
328 hmdf->SndLvCallback = HAL_MDF_SndLvlCallback; in HAL_MDF_Init()
329 hmdf->SadCallback = HAL_MDF_SadCallback; in HAL_MDF_Init()
333 hmdf->OldCallback = HAL_MDF_OldCallback; in HAL_MDF_Init()
334 hmdf->SndLvCallback = NULL; in HAL_MDF_Init()
335 hmdf->SadCallback = NULL; in HAL_MDF_Init()
337 hmdf->AcqCpltCallback = HAL_MDF_AcqCpltCallback; in HAL_MDF_Init()
338 hmdf->AcqHalfCpltCallback = HAL_MDF_AcqHalfCpltCallback; in HAL_MDF_Init()
339 hmdf->ErrorCallback = HAL_MDF_ErrorCallback; in HAL_MDF_Init()
342 if (hmdf->MspInitCallback == NULL) in HAL_MDF_Init()
344 hmdf->MspInitCallback = HAL_MDF_MspInit; in HAL_MDF_Init()
346 hmdf->MspInitCallback(hmdf); in HAL_MDF_Init()
349 HAL_MDF_MspInit(hmdf); in HAL_MDF_Init()
353 if (((v_mdf1InstanceCounter == 0U) && IS_MDF_INSTANCE(hmdf->Instance)) || in HAL_MDF_Init()
354 ((v_adf1InstanceCounter == 0U) && IS_ADF_INSTANCE(hmdf->Instance))) in HAL_MDF_Init()
358 mdfBase = (IS_ADF_INSTANCE(hmdf->Instance)) ? ADF1 : MDF1; in HAL_MDF_Init()
368 if (IS_MDF_INSTANCE(hmdf->Instance)) in HAL_MDF_Init()
370 assert_param(IS_MDF_INTERLEAVED_FILTERS(hmdf->Init.CommonParam.InterleavedFilters)); in HAL_MDF_Init()
372 mdfBase->GCR |= (hmdf->Init.CommonParam.InterleavedFilters << MDF_GCR_ILVNB_Pos); in HAL_MDF_Init()
377 assert_param(IS_MDF_PROC_CLOCK_DIVIDER(hmdf->Init.CommonParam.ProcClockDivider)); in HAL_MDF_Init()
378 assert_param(IS_FUNCTIONAL_STATE(hmdf->Init.CommonParam.OutputClock.Activation)); in HAL_MDF_Init()
380 … mdfBase->CKGCR |= ((hmdf->Init.CommonParam.ProcClockDivider - 1U) << MDF_CKGCR_PROCDIV_Pos); in HAL_MDF_Init()
381 if (hmdf->Init.CommonParam.OutputClock.Activation == ENABLE) in HAL_MDF_Init()
383 assert_param(IS_MDF_OUTPUT_CLOCK_PINS(hmdf->Init.CommonParam.OutputClock.Pins)); in HAL_MDF_Init()
384 assert_param(IS_MDF_OUTPUT_CLOCK_DIVIDER(hmdf->Init.CommonParam.OutputClock.Divider)); in HAL_MDF_Init()
385 … assert_param(IS_FUNCTIONAL_STATE(hmdf->Init.CommonParam.OutputClock.Trigger.Activation)); in HAL_MDF_Init()
386 … mdfBase->CKGCR |= (((hmdf->Init.CommonParam.OutputClock.Divider - 1U) << MDF_CKGCR_CCKDIV_Pos) | in HAL_MDF_Init()
387 hmdf->Init.CommonParam.OutputClock.Pins | in HAL_MDF_Init()
388 (hmdf->Init.CommonParam.OutputClock.Pins >> 4U)); in HAL_MDF_Init()
389 if (hmdf->Init.CommonParam.OutputClock.Trigger.Activation == ENABLE) in HAL_MDF_Init()
391 if (IS_MDF_INSTANCE(hmdf->Instance)) in HAL_MDF_Init()
393 …assert_param(IS_MDF_OUTPUT_CLOCK_TRIGGER_SOURCE(hmdf->Init.CommonParam.OutputClock.Trigger.Source)… in HAL_MDF_Init()
397 …assert_param(IS_ADF_OUTPUT_CLOCK_TRIGGER_SOURCE(hmdf->Init.CommonParam.OutputClock.Trigger.Source)… in HAL_MDF_Init()
399 … assert_param(IS_MDF_OUTPUT_CLOCK_TRIGGER_EDGE(hmdf->Init.CommonParam.OutputClock.Trigger.Edge)); in HAL_MDF_Init()
400 mdfBase->CKGCR |= (hmdf->Init.CommonParam.OutputClock.Trigger.Source | in HAL_MDF_Init()
401 hmdf->Init.CommonParam.OutputClock.Trigger.Edge | in HAL_MDF_Init()
412 if ((status == HAL_OK) && (hmdf->Init.SerialInterface.Activation == ENABLE)) in HAL_MDF_Init()
415 if ((hmdf->Instance->SITFCR & MDF_SITFCR_SITFACTIVE) != 0U) in HAL_MDF_Init()
422 assert_param(IS_MDF_SITF_MODE(hmdf->Init.SerialInterface.Mode)); in HAL_MDF_Init()
423 assert_param(IS_MDF_SITF_CLOCK_SOURCE(hmdf->Init.SerialInterface.ClockSource)); in HAL_MDF_Init()
424 assert_param(IS_MDF_SITF_THRESHOLD(hmdf->Init.SerialInterface.Threshold)); in HAL_MDF_Init()
425 hmdf->Instance->SITFCR = 0U; in HAL_MDF_Init()
426 hmdf->Instance->SITFCR |= ((hmdf->Init.SerialInterface.Threshold << MDF_SITFCR_STH_Pos) | in HAL_MDF_Init()
427 … hmdf->Init.SerialInterface.Mode | hmdf->Init.SerialInterface.ClockSource); in HAL_MDF_Init()
430 hmdf->Instance->SITFCR |= MDF_SITFCR_SITFEN; in HAL_MDF_Init()
437 hmdf->Instance->BSMXCR &= ~(MDF_BSMXCR_BSSEL); in HAL_MDF_Init()
438 hmdf->Instance->BSMXCR |= hmdf->Init.FilterBistream; in HAL_MDF_Init()
441 if (IS_ADF_INSTANCE(hmdf->Instance)) in HAL_MDF_Init()
449 a_mdfHandle[MDF_GetHandleNumberFromInstance(hmdf->Instance)] = hmdf; in HAL_MDF_Init()
452 hmdf->ErrorCode = MDF_ERROR_NONE; in HAL_MDF_Init()
453 hmdf->State = HAL_MDF_STATE_READY; in HAL_MDF_Init()
467 HAL_StatusTypeDef HAL_MDF_DeInit(MDF_HandleTypeDef *hmdf) in HAL_MDF_DeInit() argument
472 if (hmdf == NULL) in HAL_MDF_DeInit()
479 assert_param(IS_MDF_ALL_INSTANCE(hmdf->Instance)); in HAL_MDF_DeInit()
482 if (a_mdfHandle[MDF_GetHandleNumberFromInstance(hmdf->Instance)] == NULL) in HAL_MDF_DeInit()
488 if (IS_MDF_INSTANCE(hmdf->Instance)) in HAL_MDF_DeInit()
491 if ((hmdf->Instance->SCDCR & MDF_SCDCR_SCDACTIVE) != 0U) in HAL_MDF_DeInit()
493 hmdf->Instance->SCDCR &= ~(MDF_SCDCR_SCDEN); in HAL_MDF_DeInit()
497 if ((hmdf->Instance->OLDCR & MDF_OLDCR_OLDACTIVE) != 0U) in HAL_MDF_DeInit()
499 hmdf->Instance->OLDCR &= ~(MDF_OLDCR_OLDEN); in HAL_MDF_DeInit()
504 if (IS_ADF_INSTANCE(hmdf->Instance)) in HAL_MDF_DeInit()
506 if ((hmdf->Instance->SADCR & MDF_SADCR_SADACTIVE) != 0U) in HAL_MDF_DeInit()
508 hmdf->Instance->SADCR &= ~(MDF_SADCR_SADEN); in HAL_MDF_DeInit()
513 if ((hmdf->Instance->DFLTCR & MDF_DFLTCR_DFLTACTIVE) != 0U) in HAL_MDF_DeInit()
515 hmdf->Instance->DFLTCR &= ~(MDF_DFLTCR_DFLTEN); in HAL_MDF_DeInit()
519 if ((hmdf->Instance->SITFCR & MDF_SITFCR_SITFACTIVE) != 0U) in HAL_MDF_DeInit()
521 hmdf->Instance->SITFCR &= ~(MDF_SITFCR_SITFEN); in HAL_MDF_DeInit()
525 hmdf->Instance->DFLTIER = 0U; in HAL_MDF_DeInit()
526 hmdf->Instance->DFLTISR = 0xFFFFFFFFU; in HAL_MDF_DeInit()
529 if (((v_mdf1InstanceCounter == 1U) && IS_MDF_INSTANCE(hmdf->Instance)) || in HAL_MDF_DeInit()
530 ((v_adf1InstanceCounter == 1U) && IS_ADF_INSTANCE(hmdf->Instance))) in HAL_MDF_DeInit()
534 p_mdf_base = (IS_ADF_INSTANCE(hmdf->Instance)) ? ADF1 : MDF1; in HAL_MDF_DeInit()
542 if (hmdf->MspDeInitCallback == NULL) in HAL_MDF_DeInit()
544 hmdf->MspDeInitCallback = HAL_MDF_MspDeInit; in HAL_MDF_DeInit()
546 hmdf->MspDeInitCallback(hmdf); in HAL_MDF_DeInit()
548 HAL_MDF_MspDeInit(hmdf); in HAL_MDF_DeInit()
552 if (IS_ADF_INSTANCE(hmdf->Instance)) in HAL_MDF_DeInit()
560 a_mdfHandle[MDF_GetHandleNumberFromInstance(hmdf->Instance)] = (MDF_HandleTypeDef *) NULL; in HAL_MDF_DeInit()
563 hmdf->State = HAL_MDF_STATE_RESET; in HAL_MDF_DeInit()
576 __weak void HAL_MDF_MspInit(MDF_HandleTypeDef *hmdf) in HAL_MDF_MspInit() argument
579 UNUSED(hmdf); in HAL_MDF_MspInit()
590 __weak void HAL_MDF_MspDeInit(MDF_HandleTypeDef *hmdf) in HAL_MDF_MspDeInit() argument
593 UNUSED(hmdf); in HAL_MDF_MspDeInit()
614 HAL_StatusTypeDef HAL_MDF_RegisterCallback(MDF_HandleTypeDef *hmdf, in HAL_MDF_RegisterCallback() argument
624 hmdf->ErrorCode |= MDF_ERROR_INVALID_CALLBACK; in HAL_MDF_RegisterCallback()
629 if (hmdf->State == HAL_MDF_STATE_READY) in HAL_MDF_RegisterCallback()
634 hmdf->AcqCpltCallback = pCallback; in HAL_MDF_RegisterCallback()
637 hmdf->AcqHalfCpltCallback = pCallback; in HAL_MDF_RegisterCallback()
640 hmdf->SadCallback = pCallback; in HAL_MDF_RegisterCallback()
643 hmdf->ErrorCallback = pCallback; in HAL_MDF_RegisterCallback()
646 hmdf->MspInitCallback = pCallback; in HAL_MDF_RegisterCallback()
649 hmdf->MspDeInitCallback = pCallback; in HAL_MDF_RegisterCallback()
653 hmdf->ErrorCode |= MDF_ERROR_INVALID_CALLBACK; in HAL_MDF_RegisterCallback()
658 else if (hmdf->State == HAL_MDF_STATE_RESET) in HAL_MDF_RegisterCallback()
663 hmdf->MspInitCallback = pCallback; in HAL_MDF_RegisterCallback()
666 hmdf->MspDeInitCallback = pCallback; in HAL_MDF_RegisterCallback()
670 hmdf->ErrorCode |= MDF_ERROR_INVALID_CALLBACK; in HAL_MDF_RegisterCallback()
678 hmdf->ErrorCode |= MDF_ERROR_INVALID_CALLBACK; in HAL_MDF_RegisterCallback()
701 HAL_StatusTypeDef HAL_MDF_UnRegisterCallback(MDF_HandleTypeDef *hmdf, in HAL_MDF_UnRegisterCallback() argument
706 if (hmdf->State == HAL_MDF_STATE_READY) in HAL_MDF_UnRegisterCallback()
711 hmdf->AcqCpltCallback = HAL_MDF_AcqCpltCallback; in HAL_MDF_UnRegisterCallback()
714 hmdf->AcqHalfCpltCallback = HAL_MDF_AcqHalfCpltCallback; in HAL_MDF_UnRegisterCallback()
717 hmdf->SadCallback = HAL_MDF_SadCallback; in HAL_MDF_UnRegisterCallback()
720 hmdf->ErrorCallback = HAL_MDF_ErrorCallback; in HAL_MDF_UnRegisterCallback()
723 hmdf->MspInitCallback = HAL_MDF_MspInit; in HAL_MDF_UnRegisterCallback()
726 hmdf->MspDeInitCallback = HAL_MDF_MspDeInit; in HAL_MDF_UnRegisterCallback()
730 hmdf->ErrorCode |= MDF_ERROR_INVALID_CALLBACK; in HAL_MDF_UnRegisterCallback()
735 else if (hmdf->State == HAL_MDF_STATE_RESET) in HAL_MDF_UnRegisterCallback()
740 hmdf->MspInitCallback = HAL_MDF_MspInit; in HAL_MDF_UnRegisterCallback()
743 hmdf->MspDeInitCallback = HAL_MDF_MspDeInit; in HAL_MDF_UnRegisterCallback()
747 hmdf->ErrorCode |= MDF_ERROR_INVALID_CALLBACK; in HAL_MDF_UnRegisterCallback()
755 hmdf->ErrorCode |= MDF_ERROR_INVALID_CALLBACK; in HAL_MDF_UnRegisterCallback()
771 HAL_StatusTypeDef HAL_MDF_RegisterOldCallback(MDF_HandleTypeDef *hmdf, in HAL_MDF_RegisterOldCallback() argument
780 hmdf->ErrorCode |= MDF_ERROR_INVALID_CALLBACK; in HAL_MDF_RegisterOldCallback()
785 if (hmdf->State == HAL_MDF_STATE_READY) in HAL_MDF_RegisterOldCallback()
787 hmdf->OldCallback = pCallback; in HAL_MDF_RegisterOldCallback()
792 hmdf->ErrorCode |= MDF_ERROR_INVALID_CALLBACK; in HAL_MDF_RegisterOldCallback()
808 HAL_StatusTypeDef HAL_MDF_UnRegisterOldCallback(MDF_HandleTypeDef *hmdf) in HAL_MDF_UnRegisterOldCallback() argument
812 if (hmdf->State == HAL_MDF_STATE_READY) in HAL_MDF_UnRegisterOldCallback()
814 hmdf->OldCallback = HAL_MDF_OldCallback; in HAL_MDF_UnRegisterOldCallback()
819 hmdf->ErrorCode |= MDF_ERROR_INVALID_CALLBACK; in HAL_MDF_UnRegisterOldCallback()
835 HAL_StatusTypeDef HAL_MDF_RegisterSndLvlCallback(MDF_HandleTypeDef *hmdf, in HAL_MDF_RegisterSndLvlCallback() argument
844 hmdf->ErrorCode |= MDF_ERROR_INVALID_CALLBACK; in HAL_MDF_RegisterSndLvlCallback()
849 if (hmdf->State == HAL_MDF_STATE_READY) in HAL_MDF_RegisterSndLvlCallback()
851 hmdf->SndLvCallback = pCallback; in HAL_MDF_RegisterSndLvlCallback()
856 hmdf->ErrorCode |= MDF_ERROR_INVALID_CALLBACK; in HAL_MDF_RegisterSndLvlCallback()
872 HAL_StatusTypeDef HAL_MDF_UnRegisterSndLvlCallback(MDF_HandleTypeDef *hmdf) in HAL_MDF_UnRegisterSndLvlCallback() argument
876 if (hmdf->State == HAL_MDF_STATE_READY) in HAL_MDF_UnRegisterSndLvlCallback()
878 hmdf->SndLvCallback = HAL_MDF_SndLvlCallback; in HAL_MDF_UnRegisterSndLvlCallback()
883 hmdf->ErrorCode |= MDF_ERROR_INVALID_CALLBACK; in HAL_MDF_UnRegisterSndLvlCallback()
920 HAL_StatusTypeDef HAL_MDF_AcqStart(MDF_HandleTypeDef *hmdf, const MDF_FilterConfigTypeDef *pFilterC… in HAL_MDF_AcqStart() argument
931 if (IS_ADF_INSTANCE(hmdf->Instance)) in HAL_MDF_AcqStart()
940 if ((IS_ADF_INSTANCE(hmdf->Instance)) && (pFilterConfig->SoundActivity.Activation == ENABLE) && in HAL_MDF_AcqStart()
948 else if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_AcqStart()
953 else if ((hmdf->Instance->DFLTCR & MDF_DFLTCR_DFLTACTIVE) != 0U) in HAL_MDF_AcqStart()
960 if (IS_ADF_INSTANCE(hmdf->Instance)) in HAL_MDF_AcqStart()
962 if ((hmdf->Instance->SADCR & MDF_SADCR_SADACTIVE) != 0U) in HAL_MDF_AcqStart()
973 if (IS_MDF_INSTANCE(hmdf->Instance)) in HAL_MDF_AcqStart()
975 …if (((hmdf->Instance->OLDCR & MDF_OLDCR_OLDACTIVE) != 0U) && (pFilterConfig->CicMode >= MDF_ONE_FI… in HAL_MDF_AcqStart()
984 hmdf->Instance->DFLTCR = 0U; in HAL_MDF_AcqStart()
985 MDF_AcqStart(hmdf, pFilterConfig); in HAL_MDF_AcqStart()
1000 HAL_StatusTypeDef HAL_MDF_PollForAcq(MDF_HandleTypeDef *hmdf, uint32_t Timeout) in HAL_MDF_PollForAcq() argument
1005 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_PollForAcq()
1014 … while (((hmdf->Instance->DFLTISR & MDF_DFLTISR_RXNEF) != MDF_DFLTISR_RXNEF) && (status == HAL_OK)) in HAL_MDF_PollForAcq()
1027 …uint32_t error_flags = (hmdf->Instance->DFLTISR & (MDF_DFLTISR_DOVRF | MDF_DFLTISR_SATF | MDF_DFLT… in HAL_MDF_PollForAcq()
1033 hmdf->ErrorCode |= MDF_ERROR_ACQUISITION_OVERFLOW; in HAL_MDF_PollForAcq()
1037 hmdf->ErrorCode |= MDF_ERROR_SATURATION; in HAL_MDF_PollForAcq()
1041 hmdf->ErrorCode |= MDF_ERROR_RSF_OVERRUN; in HAL_MDF_PollForAcq()
1045 hmdf->Instance->DFLTISR |= error_flags; in HAL_MDF_PollForAcq()
1049 hmdf->ErrorCallback(hmdf); in HAL_MDF_PollForAcq()
1051 HAL_MDF_ErrorCallback(hmdf); in HAL_MDF_PollForAcq()
1058 if ((hmdf->Instance->DFLTCR & MDF_DFLTCR_ACQMOD) == MDF_MODE_ASYNC_SINGLE) in HAL_MDF_PollForAcq()
1060 hmdf->State = HAL_MDF_STATE_READY; in HAL_MDF_PollForAcq()
1076 HAL_StatusTypeDef HAL_MDF_PollForSnapshotAcq(MDF_HandleTypeDef *hmdf, uint32_t Timeout) in HAL_MDF_PollForSnapshotAcq() argument
1081 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_PollForSnapshotAcq()
1090 … while (((hmdf->Instance->DFLTISR & MDF_DFLTISR_SSDRF) != MDF_DFLTISR_SSDRF) && (status == HAL_OK)) in HAL_MDF_PollForSnapshotAcq()
1103 …uint32_t error_flags = (hmdf->Instance->DFLTISR & (MDF_DFLTISR_SSOVRF | MDF_DFLTISR_SATF | MDF_DFL… in HAL_MDF_PollForSnapshotAcq()
1109 hmdf->ErrorCode |= MDF_ERROR_ACQUISITION_OVERFLOW; in HAL_MDF_PollForSnapshotAcq()
1113 hmdf->ErrorCode |= MDF_ERROR_SATURATION; in HAL_MDF_PollForSnapshotAcq()
1117 hmdf->ErrorCode |= MDF_ERROR_RSF_OVERRUN; in HAL_MDF_PollForSnapshotAcq()
1121 hmdf->Instance->DFLTISR |= error_flags; in HAL_MDF_PollForSnapshotAcq()
1125 hmdf->ErrorCallback(hmdf); in HAL_MDF_PollForSnapshotAcq()
1127 HAL_MDF_ErrorCallback(hmdf); in HAL_MDF_PollForSnapshotAcq()
1142 HAL_StatusTypeDef HAL_MDF_GetAcqValue(const MDF_HandleTypeDef *hmdf, int32_t *pValue) in HAL_MDF_GetAcqValue() argument
1154 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_GetAcqValue()
1156 if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_GetAcqValue()
1166 *pValue = (int32_t) hmdf->Instance->DFLTDR; in HAL_MDF_GetAcqValue()
1180 HAL_StatusTypeDef HAL_MDF_GetSnapshotAcqValue(MDF_HandleTypeDef *hmdf, MDF_SnapshotParamTypeDef *pS… in HAL_MDF_GetSnapshotAcqValue() argument
1190 else if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_GetSnapshotAcqValue()
1199 snpsdr_value = hmdf->Instance->SNPSDR; in HAL_MDF_GetSnapshotAcqValue()
1202 hmdf->Instance->DFLTISR |= MDF_DFLTISR_SSDRF; in HAL_MDF_GetSnapshotAcqValue()
1208 if ((hmdf->Instance->DFLTCR & MDF_SNAPSHOT_16BITS) == MDF_SNAPSHOT_16BITS) in HAL_MDF_GetSnapshotAcqValue()
1234 HAL_StatusTypeDef HAL_MDF_AcqStop(MDF_HandleTypeDef *hmdf) in HAL_MDF_AcqStop() argument
1239 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_AcqStop()
1242 if (hmdf->State == HAL_MDF_STATE_READY) in HAL_MDF_AcqStop()
1244 if ((hmdf->Instance->DFLTCR & MDF_DFLTCR_DFLTACTIVE) != MDF_DFLTCR_DFLTACTIVE) in HAL_MDF_AcqStop()
1257 if (IS_ADF_INSTANCE(hmdf->Instance)) in HAL_MDF_AcqStop()
1259 if ((hmdf->Instance->SADCR & MDF_SADCR_SADACTIVE) != 0U) in HAL_MDF_AcqStop()
1261 hmdf->Instance->SADCR &= ~(MDF_SADCR_SADEN); in HAL_MDF_AcqStop()
1269 hmdf->Instance->DFLTCR &= ~(MDF_DFLTCR_DFLTEN); in HAL_MDF_AcqStop()
1272 if (IS_ADF_INSTANCE(hmdf->Instance)) in HAL_MDF_AcqStop()
1274 hmdf->Instance->DFLTISR |= (MDF_DFLTISR_DOVRF | MDF_DFLTISR_SATF | MDF_DFLTISR_RFOVRF | in HAL_MDF_AcqStop()
1279 hmdf->Instance->DFLTISR |= (MDF_DFLTISR_DOVRF | MDF_DFLTISR_SSDRF | MDF_DFLTISR_SSOVRF | in HAL_MDF_AcqStop()
1284 hmdf->State = HAL_MDF_STATE_READY; in HAL_MDF_AcqStop()
1297 HAL_StatusTypeDef HAL_MDF_AcqStart_IT(MDF_HandleTypeDef *hmdf, const MDF_FilterConfigTypeDef *pFilt… in HAL_MDF_AcqStart_IT() argument
1308 if (IS_ADF_INSTANCE(hmdf->Instance)) in HAL_MDF_AcqStart_IT()
1317 if ((IS_ADF_INSTANCE(hmdf->Instance)) && (pFilterConfig->SoundActivity.Activation == ENABLE) && in HAL_MDF_AcqStart_IT()
1325 else if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_AcqStart_IT()
1330 else if ((hmdf->Instance->DFLTCR & MDF_DFLTCR_DFLTACTIVE) != 0U) in HAL_MDF_AcqStart_IT()
1337 if (IS_ADF_INSTANCE(hmdf->Instance)) in HAL_MDF_AcqStart_IT()
1339 if ((hmdf->Instance->SADCR & MDF_SADCR_SADACTIVE) != 0U) in HAL_MDF_AcqStart_IT()
1350 if (IS_MDF_INSTANCE(hmdf->Instance)) in HAL_MDF_AcqStart_IT()
1352 …if (((hmdf->Instance->OLDCR & MDF_OLDCR_OLDACTIVE) != 0U) && (pFilterConfig->CicMode >= MDF_ONE_FI… in HAL_MDF_AcqStart_IT()
1363 hmdf->Instance->DFLTIER |= (MDF_DFLTIER_SSOVRIE | MDF_DFLTIER_SSDRIE); in HAL_MDF_AcqStart_IT()
1367 … if ((IS_MDF_INSTANCE(hmdf->Instance)) || (pFilterConfig->SoundActivity.Activation == DISABLE) || in HAL_MDF_AcqStart_IT()
1371 hmdf->Instance->DFLTIER |= (MDF_DFLTIER_DOVRIE | MDF_DFLTIER_FTHIE); in HAL_MDF_AcqStart_IT()
1378 hmdf->Instance->DFLTIER |= MDF_DFLTIER_RFOVRIE; in HAL_MDF_AcqStart_IT()
1382 hmdf->Instance->DFLTIER |= MDF_DFLTIER_SATIE; in HAL_MDF_AcqStart_IT()
1384 … if ((IS_ADF_INSTANCE(hmdf->Instance)) && (pFilterConfig->SoundActivity.Activation == ENABLE)) in HAL_MDF_AcqStart_IT()
1388 hmdf->Instance->DFLTIER |= (pFilterConfig->SoundActivity.SoundLevelInterrupt == ENABLE) ? in HAL_MDF_AcqStart_IT()
1394 hmdf->Instance->DFLTCR = 0U; in HAL_MDF_AcqStart_IT()
1395 MDF_AcqStart(hmdf, pFilterConfig); in HAL_MDF_AcqStart_IT()
1409 HAL_StatusTypeDef HAL_MDF_AcqStop_IT(MDF_HandleTypeDef *hmdf) in HAL_MDF_AcqStop_IT() argument
1414 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_AcqStop_IT()
1417 if (hmdf->State == HAL_MDF_STATE_READY) in HAL_MDF_AcqStop_IT()
1419 if ((hmdf->Instance->DFLTCR & MDF_DFLTCR_DFLTACTIVE) != MDF_DFLTCR_DFLTACTIVE) in HAL_MDF_AcqStop_IT()
1432 if (IS_ADF_INSTANCE(hmdf->Instance)) in HAL_MDF_AcqStop_IT()
1434 if ((hmdf->Instance->SADCR & MDF_SADCR_SADACTIVE) != 0U) in HAL_MDF_AcqStop_IT()
1436 hmdf->Instance->SADCR &= ~(MDF_SADCR_SADEN); in HAL_MDF_AcqStop_IT()
1444 hmdf->Instance->DFLTCR &= ~(MDF_DFLTCR_DFLTEN); in HAL_MDF_AcqStop_IT()
1447 if (IS_ADF_INSTANCE(hmdf->Instance)) in HAL_MDF_AcqStop_IT()
1449 hmdf->Instance->DFLTIER &= ~(MDF_DFLTIER_FTHIE | MDF_DFLTIER_DOVRIE | MDF_DFLTIER_SATIE | in HAL_MDF_AcqStop_IT()
1451 hmdf->Instance->DFLTISR |= (MDF_DFLTISR_DOVRF | MDF_DFLTISR_SATF | MDF_DFLTISR_RFOVRF | in HAL_MDF_AcqStop_IT()
1456 hmdf->Instance->DFLTIER &= ~(MDF_DFLTIER_FTHIE | MDF_DFLTIER_DOVRIE | MDF_DFLTIER_SSDRIE | in HAL_MDF_AcqStop_IT()
1458 hmdf->Instance->DFLTISR |= (MDF_DFLTISR_DOVRF | MDF_DFLTISR_SSDRF | MDF_DFLTISR_SSOVRF | in HAL_MDF_AcqStop_IT()
1463 hmdf->State = HAL_MDF_STATE_READY; in HAL_MDF_AcqStop_IT()
1477 HAL_StatusTypeDef HAL_MDF_AcqStart_DMA(MDF_HandleTypeDef *hmdf, const MDF_FilterConfigTypeDef *pFil… in HAL_MDF_AcqStart_DMA() argument
1490 if (IS_ADF_INSTANCE(hmdf->Instance)) in HAL_MDF_AcqStart_DMA()
1499 if ((IS_ADF_INSTANCE(hmdf->Instance)) && (pFilterConfig->SoundActivity.Activation == ENABLE) && in HAL_MDF_AcqStart_DMA()
1511 else if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_AcqStart_DMA()
1516 else if ((hmdf->Instance->DFLTCR & MDF_DFLTCR_DFLTACTIVE) != 0U) in HAL_MDF_AcqStart_DMA()
1523 if (IS_ADF_INSTANCE(hmdf->Instance)) in HAL_MDF_AcqStart_DMA()
1525 if ((hmdf->Instance->SADCR & MDF_SADCR_SADACTIVE) != 0U) in HAL_MDF_AcqStart_DMA()
1536 if (IS_MDF_INSTANCE(hmdf->Instance)) in HAL_MDF_AcqStart_DMA()
1538 …if (((hmdf->Instance->OLDCR & MDF_OLDCR_OLDACTIVE) != 0U) && (pFilterConfig->CicMode >= MDF_ONE_FI… in HAL_MDF_AcqStart_DMA()
1551 hmdf->Instance->DFLTIER |= MDF_DFLTIER_RFOVRIE; in HAL_MDF_AcqStart_DMA()
1555 hmdf->Instance->DFLTIER |= MDF_DFLTIER_SATIE; in HAL_MDF_AcqStart_DMA()
1557 … if ((IS_ADF_INSTANCE(hmdf->Instance)) && (pFilterConfig->SoundActivity.Activation == ENABLE)) in HAL_MDF_AcqStart_DMA()
1561 hmdf->Instance->DFLTIER |= (pFilterConfig->SoundActivity.SoundLevelInterrupt == ENABLE) ? in HAL_MDF_AcqStart_DMA()
1567 hmdf->Instance->DFLTCR = MDF_DFLTCR_DMAEN; in HAL_MDF_AcqStart_DMA()
1570 hmdf->hdma->XferCpltCallback = MDF_DmaXferCpltCallback; in HAL_MDF_AcqStart_DMA()
1571 hmdf->hdma->XferHalfCpltCallback = MDF_DmaXferHalfCpltCallback; in HAL_MDF_AcqStart_DMA()
1572 hmdf->hdma->XferErrorCallback = MDF_DmaErrorCallback; in HAL_MDF_AcqStart_DMA()
1573 SrcAddress = (pDmaConfig->MsbOnly == ENABLE) ? (((uint32_t) &hmdf->Instance->DFLTDR) + 2U) : in HAL_MDF_AcqStart_DMA()
1574 (uint32_t) &hmdf->Instance->DFLTDR; in HAL_MDF_AcqStart_DMA()
1575 if ((hmdf->hdma->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) in HAL_MDF_AcqStart_DMA()
1577 if (hmdf->hdma->LinkedListQueue != NULL) in HAL_MDF_AcqStart_DMA()
1579 …hmdf->hdma->LinkedListQueue->Head->LinkRegisters[NODE_CBR1_DEFAULT_OFFSET] = pDmaConfig->DataLengt… in HAL_MDF_AcqStart_DMA()
1580 hmdf->hdma->LinkedListQueue->Head->LinkRegisters[NODE_CSAR_DEFAULT_OFFSET] = SrcAddress; in HAL_MDF_AcqStart_DMA()
1581 … hmdf->hdma->LinkedListQueue->Head->LinkRegisters[NODE_CDAR_DEFAULT_OFFSET] = pDmaConfig->Address; in HAL_MDF_AcqStart_DMA()
1583 status = HAL_DMAEx_List_Start_IT(hmdf->hdma); in HAL_MDF_AcqStart_DMA()
1592 … status = HAL_DMA_Start_IT(hmdf->hdma, SrcAddress, pDmaConfig->Address, pDmaConfig->DataLength); in HAL_MDF_AcqStart_DMA()
1597 hmdf->State = HAL_MDF_STATE_ERROR; in HAL_MDF_AcqStart_DMA()
1603 MDF_AcqStart(hmdf, pFilterConfig); in HAL_MDF_AcqStart_DMA()
1618 HAL_StatusTypeDef HAL_MDF_AcqStop_DMA(MDF_HandleTypeDef *hmdf) in HAL_MDF_AcqStop_DMA() argument
1623 if (hmdf->State == HAL_MDF_STATE_READY) in HAL_MDF_AcqStop_DMA()
1625 if ((hmdf->Instance->DFLTCR & MDF_DFLTCR_DFLTACTIVE) != MDF_DFLTCR_DFLTACTIVE) in HAL_MDF_AcqStop_DMA()
1633 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_AcqStop_DMA()
1640 if (HAL_DMA_Abort(hmdf->hdma) != HAL_OK) in HAL_MDF_AcqStop_DMA()
1643 hmdf->State = HAL_MDF_STATE_ERROR; in HAL_MDF_AcqStop_DMA()
1652 if (IS_ADF_INSTANCE(hmdf->Instance)) in HAL_MDF_AcqStop_DMA()
1654 if ((hmdf->Instance->SADCR & MDF_SADCR_SADACTIVE) != 0U) in HAL_MDF_AcqStop_DMA()
1656 hmdf->Instance->SADCR &= ~(MDF_SADCR_SADEN); in HAL_MDF_AcqStop_DMA()
1661 hmdf->Instance->DFLTCR &= ~(MDF_DFLTCR_DFLTEN); in HAL_MDF_AcqStop_DMA()
1664 if (IS_ADF_INSTANCE(hmdf->Instance)) in HAL_MDF_AcqStop_DMA()
1666 hmdf->Instance->DFLTIER &= ~(MDF_DFLTIER_SATIE | MDF_DFLTIER_RFOVRIE | MDF_DFLTIER_SDDETIE | in HAL_MDF_AcqStop_DMA()
1668 hmdf->Instance->DFLTISR |= (MDF_DFLTISR_SATF | MDF_DFLTISR_RFOVRF | MDF_DFLTISR_SDDETF | in HAL_MDF_AcqStop_DMA()
1673 hmdf->Instance->DFLTIER &= ~(MDF_DFLTIER_SATIE | MDF_DFLTIER_RFOVRIE); in HAL_MDF_AcqStop_DMA()
1674 hmdf->Instance->DFLTISR |= (MDF_DFLTISR_SATF | MDF_DFLTISR_RFOVRF); in HAL_MDF_AcqStop_DMA()
1678 hmdf->Instance->DFLTCR &= ~(MDF_DFLTCR_DMAEN); in HAL_MDF_AcqStop_DMA()
1681 hmdf->State = HAL_MDF_STATE_READY; in HAL_MDF_AcqStop_DMA()
1693 HAL_StatusTypeDef HAL_MDF_GenerateTrgo(const MDF_HandleTypeDef *hmdf) in HAL_MDF_GenerateTrgo() argument
1698 if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_GenerateTrgo()
1700 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_GenerateTrgo()
1711 p_mdf_base = (IS_ADF_INSTANCE(hmdf->Instance)) ? ADF1 : MDF1; in HAL_MDF_GenerateTrgo()
1736 HAL_StatusTypeDef HAL_MDF_SetDelay(MDF_HandleTypeDef *hmdf, uint32_t Delay) in HAL_MDF_SetDelay() argument
1744 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_SetDelay()
1751 if ((hmdf->Instance->DLYCR & MDF_DLYCR_SKPBF) == MDF_DLYCR_SKPBF) in HAL_MDF_SetDelay()
1758 hmdf->Instance->DLYCR |= Delay; in HAL_MDF_SetDelay()
1773 HAL_StatusTypeDef HAL_MDF_GetDelay(const MDF_HandleTypeDef *hmdf, uint32_t *pDelay) in HAL_MDF_GetDelay() argument
1783 else if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_GetDelay()
1790 *pDelay = (hmdf->Instance->DLYCR & MDF_DLYCR_SKPDLY); in HAL_MDF_GetDelay()
1804 HAL_StatusTypeDef HAL_MDF_SetGain(MDF_HandleTypeDef *hmdf, int32_t Gain) in HAL_MDF_SetGain() argument
1812 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_SetGain()
1835 tmp_register = (hmdf->Instance->DFLTCICR & ~(MDF_DFLTCICR_SCALE)); in HAL_MDF_SetGain()
1836 hmdf->Instance->DFLTCICR = (tmp_register | (register_gain_value << MDF_DFLTCICR_SCALE_Pos)); in HAL_MDF_SetGain()
1850 HAL_StatusTypeDef HAL_MDF_GetGain(const MDF_HandleTypeDef *hmdf, int32_t *pGain) in HAL_MDF_GetGain() argument
1860 else if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_GetGain()
1869 … register_gain_value = ((hmdf->Instance->DFLTCICR & MDF_DFLTCICR_SCALE) >> MDF_DFLTCICR_SCALE_Pos); in HAL_MDF_GetGain()
1895 HAL_StatusTypeDef HAL_MDF_SetOffset(MDF_HandleTypeDef *hmdf, int32_t Offset) in HAL_MDF_SetOffset() argument
1900 assert_param(IS_MDF_INSTANCE(hmdf->Instance)); in HAL_MDF_SetOffset()
1904 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_SetOffset()
1911 hmdf->Instance->OECCR = (uint32_t) Offset; in HAL_MDF_SetOffset()
1926 HAL_StatusTypeDef HAL_MDF_GetOffset(const MDF_HandleTypeDef *hmdf, int32_t *pOffset) in HAL_MDF_GetOffset() argument
1931 assert_param(IS_MDF_INSTANCE(hmdf->Instance)); in HAL_MDF_GetOffset()
1937 else if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_GetOffset()
1946 register_offset_value = hmdf->Instance->OECCR; in HAL_MDF_GetOffset()
1975 HAL_StatusTypeDef HAL_MDF_PollForSndLvl(MDF_HandleTypeDef *hmdf, uint32_t Timeout, uint32_t *pSound… in HAL_MDF_PollForSndLvl() argument
1981 assert_param(IS_ADF_INSTANCE(hmdf->Instance)); in HAL_MDF_PollForSndLvl()
1987 else if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_PollForSndLvl()
1992 else if ((hmdf->Instance->SADCR & MDF_SADCR_SADACTIVE) == 0U) in HAL_MDF_PollForSndLvl()
2001 …while (((hmdf->Instance->DFLTISR & MDF_DFLTISR_SDLVLF) != MDF_DFLTISR_SDLVLF) && (status == HAL_OK… in HAL_MDF_PollForSndLvl()
2016 *pSoundLevel = hmdf->Instance->SADSDLVR; in HAL_MDF_PollForSndLvl()
2019 *pAmbientNoise = hmdf->Instance->SADANLVR; in HAL_MDF_PollForSndLvl()
2022 hmdf->Instance->DFLTISR |= MDF_DFLTISR_SDLVLF; in HAL_MDF_PollForSndLvl()
2037 HAL_StatusTypeDef HAL_MDF_PollForSad(MDF_HandleTypeDef *hmdf, uint32_t Timeout) in HAL_MDF_PollForSad() argument
2042 assert_param(IS_ADF_INSTANCE(hmdf->Instance)); in HAL_MDF_PollForSad()
2045 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_PollForSad()
2050 else if ((hmdf->Instance->SADCR & MDF_SADCR_SADACTIVE) == 0U) in HAL_MDF_PollForSad()
2059 …while (((hmdf->Instance->DFLTISR & MDF_DFLTISR_SDDETF) != MDF_DFLTISR_SDDETF) && (status == HAL_OK… in HAL_MDF_PollForSad()
2074 hmdf->Instance->DFLTISR |= MDF_DFLTISR_SDDETF; in HAL_MDF_PollForSad()
2087 __weak void HAL_MDF_AcqCpltCallback(MDF_HandleTypeDef *hmdf) in HAL_MDF_AcqCpltCallback() argument
2090 UNUSED(hmdf); in HAL_MDF_AcqCpltCallback()
2101 __weak void HAL_MDF_AcqHalfCpltCallback(MDF_HandleTypeDef *hmdf) in HAL_MDF_AcqHalfCpltCallback() argument
2104 UNUSED(hmdf); in HAL_MDF_AcqHalfCpltCallback()
2119 __weak void HAL_MDF_SndLvlCallback(MDF_HandleTypeDef *hmdf, uint32_t SoundLevel, uint32_t AmbientNo… in HAL_MDF_SndLvlCallback() argument
2122 UNUSED(hmdf); in HAL_MDF_SndLvlCallback()
2135 __weak void HAL_MDF_SadCallback(MDF_HandleTypeDef *hmdf) in HAL_MDF_SadCallback() argument
2138 UNUSED(hmdf); in HAL_MDF_SadCallback()
2168 HAL_StatusTypeDef HAL_MDF_PollForCkab(MDF_HandleTypeDef *hmdf, uint32_t Timeout) in HAL_MDF_PollForCkab() argument
2173 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_PollForCkab()
2175 if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_PollForCkab()
2184 if ((hmdf->Instance->SITFCR & MDF_SITFCR_SITFACTIVE) == 0U) in HAL_MDF_PollForCkab()
2190 if ((hmdf->Instance->SITFCR & MDF_SITFCR_SITFMOD) != MDF_SITF_NORMAL_SPI_MODE) in HAL_MDF_PollForCkab()
2202 … while (((hmdf->Instance->DFLTISR & MDF_DFLTISR_CKABF) != MDF_DFLTISR_CKABF) && (status == HAL_OK)) in HAL_MDF_PollForCkab()
2217 hmdf->Instance->DFLTISR |= MDF_DFLTISR_CKABF; in HAL_MDF_PollForCkab()
2230 HAL_StatusTypeDef HAL_MDF_CkabStart_IT(MDF_HandleTypeDef *hmdf) in HAL_MDF_CkabStart_IT() argument
2235 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_CkabStart_IT()
2237 if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_CkabStart_IT()
2246 if ((hmdf->Instance->SITFCR & MDF_SITFCR_SITFACTIVE) == 0U) in HAL_MDF_CkabStart_IT()
2252 if ((hmdf->Instance->SITFCR & MDF_SITFCR_SITFMOD) != MDF_SITF_NORMAL_SPI_MODE) in HAL_MDF_CkabStart_IT()
2262 hmdf->Instance->DFLTISR |= MDF_DFLTISR_CKABF; in HAL_MDF_CkabStart_IT()
2265 if ((hmdf->Instance->DFLTISR & MDF_DFLTISR_CKABF) == MDF_DFLTISR_CKABF) in HAL_MDF_CkabStart_IT()
2272 hmdf->Instance->DFLTIER |= MDF_DFLTIER_CKABIE; in HAL_MDF_CkabStart_IT()
2285 HAL_StatusTypeDef HAL_MDF_CkabStop_IT(MDF_HandleTypeDef *hmdf) in HAL_MDF_CkabStop_IT() argument
2290 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_CkabStop_IT()
2292 if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_CkabStop_IT()
2301 if ((hmdf->Instance->SITFCR & MDF_SITFCR_SITFACTIVE) == 0U) in HAL_MDF_CkabStop_IT()
2307 if ((hmdf->Instance->SITFCR & MDF_SITFCR_SITFMOD) != MDF_SITF_NORMAL_SPI_MODE) in HAL_MDF_CkabStop_IT()
2317 hmdf->Instance->DFLTIER &= ~(MDF_DFLTIER_CKABIE); in HAL_MDF_CkabStop_IT()
2320 hmdf->Instance->DFLTISR |= MDF_DFLTISR_CKABF; in HAL_MDF_CkabStop_IT()
2353 HAL_StatusTypeDef HAL_MDF_ScdStart(MDF_HandleTypeDef *hmdf, const MDF_ScdConfigTypeDef *pScdConfig) in HAL_MDF_ScdStart() argument
2364 assert_param(IS_MDF_INSTANCE(hmdf->Instance)); in HAL_MDF_ScdStart()
2369 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_ScdStart()
2371 if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_ScdStart()
2380 if ((hmdf->Instance->SCDCR & MDF_SCDCR_SCDACTIVE) == MDF_SCDCR_SCDACTIVE) in HAL_MDF_ScdStart()
2387 hmdf->Instance->SCDCR = (((pScdConfig->Threshold - 1U) << MDF_SCDCR_SCDT_Pos) | in HAL_MDF_ScdStart()
2391 hmdf->Instance->SCDCR |= MDF_SCDCR_SCDEN; in HAL_MDF_ScdStart()
2407 HAL_StatusTypeDef HAL_MDF_PollForScd(MDF_HandleTypeDef *hmdf, uint32_t Timeout) in HAL_MDF_PollForScd() argument
2412 assert_param(IS_MDF_INSTANCE(hmdf->Instance)); in HAL_MDF_PollForScd()
2415 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_PollForScd()
2417 if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_PollForScd()
2426 if ((hmdf->Instance->SCDCR & MDF_SCDCR_SCDACTIVE) != MDF_SCDCR_SCDACTIVE) in HAL_MDF_PollForScd()
2435 … while (((hmdf->Instance->DFLTISR & MDF_DFLTISR_SCDF) != MDF_DFLTISR_SCDF) && (status == HAL_OK)) in HAL_MDF_PollForScd()
2450 hmdf->Instance->DFLTISR |= MDF_DFLTISR_SCDF; in HAL_MDF_PollForScd()
2465 HAL_StatusTypeDef HAL_MDF_ScdStop(MDF_HandleTypeDef *hmdf) in HAL_MDF_ScdStop() argument
2470 assert_param(IS_MDF_INSTANCE(hmdf->Instance)); in HAL_MDF_ScdStop()
2473 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_ScdStop()
2475 if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_ScdStop()
2484 if ((hmdf->Instance->SCDCR & MDF_SCDCR_SCDACTIVE) != MDF_SCDCR_SCDACTIVE) in HAL_MDF_ScdStop()
2491 hmdf->Instance->SCDCR &= ~(MDF_SCDCR_SCDEN); in HAL_MDF_ScdStop()
2494 hmdf->Instance->DFLTISR |= MDF_DFLTISR_SCDF; in HAL_MDF_ScdStop()
2509 HAL_StatusTypeDef HAL_MDF_ScdStart_IT(MDF_HandleTypeDef *hmdf, const MDF_ScdConfigTypeDef *pScdConf… in HAL_MDF_ScdStart_IT() argument
2520 assert_param(IS_MDF_INSTANCE(hmdf->Instance)); in HAL_MDF_ScdStart_IT()
2525 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_ScdStart_IT()
2527 if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_ScdStart_IT()
2536 if ((hmdf->Instance->SCDCR & MDF_SCDCR_SCDACTIVE) == MDF_SCDCR_SCDACTIVE) in HAL_MDF_ScdStart_IT()
2543 hmdf->Instance->SCDCR = (((pScdConfig->Threshold - 1U) << MDF_SCDCR_SCDT_Pos) | in HAL_MDF_ScdStart_IT()
2547 hmdf->Instance->DFLTIER |= MDF_DFLTIER_SCDIE; in HAL_MDF_ScdStart_IT()
2550 hmdf->Instance->SCDCR |= MDF_SCDCR_SCDEN; in HAL_MDF_ScdStart_IT()
2565 HAL_StatusTypeDef HAL_MDF_ScdStop_IT(MDF_HandleTypeDef *hmdf) in HAL_MDF_ScdStop_IT() argument
2570 assert_param(IS_MDF_INSTANCE(hmdf->Instance)); in HAL_MDF_ScdStop_IT()
2573 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_ScdStop_IT()
2575 if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_ScdStop_IT()
2584 if ((hmdf->Instance->SCDCR & MDF_SCDCR_SCDACTIVE) != MDF_SCDCR_SCDACTIVE) in HAL_MDF_ScdStop_IT()
2591 hmdf->Instance->SCDCR &= ~(MDF_SCDCR_SCDEN); in HAL_MDF_ScdStop_IT()
2594 hmdf->Instance->DFLTIER &= ~(MDF_DFLTIER_SCDIE); in HAL_MDF_ScdStop_IT()
2597 hmdf->Instance->DFLTISR |= MDF_DFLTISR_SCDF; in HAL_MDF_ScdStop_IT()
2631 HAL_StatusTypeDef HAL_MDF_OldStart(MDF_HandleTypeDef *hmdf, const MDF_OldConfigTypeDef *pOldConfig) in HAL_MDF_OldStart() argument
2642 assert_param(IS_MDF_INSTANCE(hmdf->Instance)); in HAL_MDF_OldStart()
2656 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_OldStart()
2658 if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_OldStart()
2668 if ((hmdf->Instance->OLDCR & MDF_OLDCR_OLDACTIVE) == MDF_OLDCR_OLDACTIVE) in HAL_MDF_OldStart()
2675 if ((hmdf->Instance->DFLTCR & MDF_DFLTCR_DFLTACTIVE) == MDF_DFLTCR_DFLTACTIVE) in HAL_MDF_OldStart()
2678 if ((hmdf->Instance->DFLTCICR & MDF_DFLTCICR_CICMOD) >= MDF_ONE_FILTER_SINC4) in HAL_MDF_OldStart()
2686 hmdf->Instance->DFLTCICR &= ~(MDF_DFLTCICR_CICMOD); in HAL_MDF_OldStart()
2692 hmdf->Instance->OLDCR = (pOldConfig->OldCicMode | pOldConfig->OldEventConfig | in HAL_MDF_OldStart()
2697 hmdf->Instance->OLDTHLR = (uint32_t) pOldConfig->LowThreshold; in HAL_MDF_OldStart()
2698 hmdf->Instance->OLDTHHR = (uint32_t) pOldConfig->HighThreshold; in HAL_MDF_OldStart()
2701 hmdf->Instance->OLDCR |= MDF_OLDCR_OLDEN; in HAL_MDF_OldStart()
2720 HAL_StatusTypeDef HAL_MDF_PollForOld(MDF_HandleTypeDef *hmdf, uint32_t Timeout, uint32_t *pThreshol… in HAL_MDF_PollForOld() argument
2725 assert_param(IS_MDF_INSTANCE(hmdf->Instance)); in HAL_MDF_PollForOld()
2733 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_PollForOld()
2735 if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_PollForOld()
2745 if ((hmdf->Instance->OLDCR & MDF_OLDCR_OLDACTIVE) != MDF_OLDCR_OLDACTIVE) in HAL_MDF_PollForOld()
2754 … while (((hmdf->Instance->DFLTISR & MDF_DFLTISR_OLDF) != MDF_DFLTISR_OLDF) && (status == HAL_OK)) in HAL_MDF_PollForOld()
2769 if ((hmdf->Instance->DFLTISR & (MDF_DFLTISR_THLF | MDF_DFLTISR_THHF)) == 0U) in HAL_MDF_PollForOld()
2773 else if ((hmdf->Instance->DFLTISR & MDF_DFLTISR_THLF) == MDF_DFLTISR_THLF) in HAL_MDF_PollForOld()
2783 hmdf->Instance->DFLTISR |= MDF_DFLTISR_OLDF; in HAL_MDF_PollForOld()
2798 HAL_StatusTypeDef HAL_MDF_OldStop(MDF_HandleTypeDef *hmdf) in HAL_MDF_OldStop() argument
2803 assert_param(IS_MDF_INSTANCE(hmdf->Instance)); in HAL_MDF_OldStop()
2806 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_OldStop()
2808 if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_OldStop()
2817 if ((hmdf->Instance->OLDCR & MDF_OLDCR_OLDACTIVE) != MDF_OLDCR_OLDACTIVE) in HAL_MDF_OldStop()
2824 hmdf->Instance->OLDCR &= ~(MDF_OLDCR_OLDEN); in HAL_MDF_OldStop()
2827 hmdf->Instance->DFLTISR |= MDF_DFLTISR_OLDF; in HAL_MDF_OldStop()
2842 HAL_StatusTypeDef HAL_MDF_OldStart_IT(MDF_HandleTypeDef *hmdf, const MDF_OldConfigTypeDef *pOldConf… in HAL_MDF_OldStart_IT() argument
2853 assert_param(IS_MDF_INSTANCE(hmdf->Instance)); in HAL_MDF_OldStart_IT()
2867 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_OldStart_IT()
2869 if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_OldStart_IT()
2879 if ((hmdf->Instance->OLDCR & MDF_OLDCR_OLDACTIVE) == MDF_OLDCR_OLDACTIVE) in HAL_MDF_OldStart_IT()
2886 if ((hmdf->Instance->DFLTCR & MDF_DFLTCR_DFLTACTIVE) == MDF_DFLTCR_DFLTACTIVE) in HAL_MDF_OldStart_IT()
2889 if ((hmdf->Instance->DFLTCICR & MDF_DFLTCICR_CICMOD) >= MDF_ONE_FILTER_SINC4) in HAL_MDF_OldStart_IT()
2897 hmdf->Instance->DFLTCICR &= ~(MDF_DFLTCICR_CICMOD); in HAL_MDF_OldStart_IT()
2903 hmdf->Instance->OLDCR = (pOldConfig->OldCicMode | pOldConfig->OldEventConfig | in HAL_MDF_OldStart_IT()
2908 hmdf->Instance->OLDTHLR = (uint32_t) pOldConfig->LowThreshold; in HAL_MDF_OldStart_IT()
2909 hmdf->Instance->OLDTHHR = (uint32_t) pOldConfig->HighThreshold; in HAL_MDF_OldStart_IT()
2912 hmdf->Instance->DFLTIER |= MDF_DFLTIER_OLDIE; in HAL_MDF_OldStart_IT()
2915 hmdf->Instance->OLDCR |= MDF_OLDCR_OLDEN; in HAL_MDF_OldStart_IT()
2931 HAL_StatusTypeDef HAL_MDF_OldStop_IT(MDF_HandleTypeDef *hmdf) in HAL_MDF_OldStop_IT() argument
2936 assert_param(IS_MDF_INSTANCE(hmdf->Instance)); in HAL_MDF_OldStop_IT()
2939 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_OldStop_IT()
2941 if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_OldStop_IT()
2950 if ((hmdf->Instance->OLDCR & MDF_OLDCR_OLDACTIVE) != MDF_OLDCR_OLDACTIVE) in HAL_MDF_OldStop_IT()
2957 hmdf->Instance->OLDCR &= ~(MDF_OLDCR_OLDEN); in HAL_MDF_OldStop_IT()
2960 hmdf->Instance->DFLTIER &= ~(MDF_DFLTIER_OLDIE); in HAL_MDF_OldStop_IT()
2963 hmdf->Instance->DFLTISR |= MDF_DFLTISR_OLDF; in HAL_MDF_OldStop_IT()
2978 __weak void HAL_MDF_OldCallback(MDF_HandleTypeDef *hmdf, uint32_t ThresholdInfo) in HAL_MDF_OldCallback() argument
2981 UNUSED(hmdf); in HAL_MDF_OldCallback()
3013 void HAL_MDF_IRQHandler(MDF_HandleTypeDef *hmdf) in HAL_MDF_IRQHandler() argument
3020 tmp_reg1 = hmdf->Instance->DFLTIER; in HAL_MDF_IRQHandler()
3021 tmp_reg2 = hmdf->Instance->DFLTISR; in HAL_MDF_IRQHandler()
3028 hmdf->Instance->DFLTISR |= MDF_DFLTISR_DOVRF; in HAL_MDF_IRQHandler()
3031 hmdf->ErrorCode |= MDF_ERROR_ACQUISITION_OVERFLOW; in HAL_MDF_IRQHandler()
3035 hmdf->ErrorCallback(hmdf); in HAL_MDF_IRQHandler()
3037 HAL_MDF_ErrorCallback(hmdf); in HAL_MDF_IRQHandler()
3044 hmdf->Instance->DFLTISR |= MDF_DFLTISR_SSOVRF; in HAL_MDF_IRQHandler()
3047 hmdf->ErrorCode |= MDF_ERROR_ACQUISITION_OVERFLOW; in HAL_MDF_IRQHandler()
3051 hmdf->ErrorCallback(hmdf); in HAL_MDF_IRQHandler()
3053 HAL_MDF_ErrorCallback(hmdf); in HAL_MDF_IRQHandler()
3061 hmdf->AcqCpltCallback(hmdf); in HAL_MDF_IRQHandler()
3063 HAL_MDF_AcqCpltCallback(hmdf); in HAL_MDF_IRQHandler()
3067 if ((hmdf->Instance->DFLTCR & MDF_DFLTCR_ACQMOD) == MDF_MODE_ASYNC_SINGLE) in HAL_MDF_IRQHandler()
3069 hmdf->State = HAL_MDF_STATE_READY; in HAL_MDF_IRQHandler()
3076 hmdf->Instance->DFLTISR |= MDF_DFLTISR_SSDRF; in HAL_MDF_IRQHandler()
3080 hmdf->AcqCpltCallback(hmdf); in HAL_MDF_IRQHandler()
3082 HAL_MDF_AcqCpltCallback(hmdf); in HAL_MDF_IRQHandler()
3089 hmdf->Instance->DFLTISR |= MDF_DFLTISR_RFOVRF; in HAL_MDF_IRQHandler()
3092 hmdf->ErrorCode |= MDF_ERROR_RSF_OVERRUN; in HAL_MDF_IRQHandler()
3096 hmdf->ErrorCallback(hmdf); in HAL_MDF_IRQHandler()
3098 HAL_MDF_ErrorCallback(hmdf); in HAL_MDF_IRQHandler()
3105 hmdf->Instance->DFLTISR |= MDF_DFLTISR_CKABF; in HAL_MDF_IRQHandler()
3108 hmdf->ErrorCode |= MDF_ERROR_CLOCK_ABSENCE; in HAL_MDF_IRQHandler()
3112 hmdf->ErrorCallback(hmdf); in HAL_MDF_IRQHandler()
3114 HAL_MDF_ErrorCallback(hmdf); in HAL_MDF_IRQHandler()
3121 hmdf->Instance->DFLTISR |= MDF_DFLTISR_SATF; in HAL_MDF_IRQHandler()
3124 hmdf->ErrorCode |= MDF_ERROR_SATURATION; in HAL_MDF_IRQHandler()
3128 hmdf->ErrorCallback(hmdf); in HAL_MDF_IRQHandler()
3130 HAL_MDF_ErrorCallback(hmdf); in HAL_MDF_IRQHandler()
3137 hmdf->Instance->DFLTISR |= MDF_DFLTISR_SCDF; in HAL_MDF_IRQHandler()
3140 hmdf->ErrorCode |= MDF_ERROR_SHORT_CIRCUIT; in HAL_MDF_IRQHandler()
3144 hmdf->ErrorCallback(hmdf); in HAL_MDF_IRQHandler()
3146 HAL_MDF_ErrorCallback(hmdf); in HAL_MDF_IRQHandler()
3155 if ((hmdf->Instance->DFLTISR & (MDF_DFLTISR_THLF | MDF_DFLTISR_THHF)) == 0U) in HAL_MDF_IRQHandler()
3159 else if ((hmdf->Instance->DFLTISR & MDF_DFLTISR_THLF) == MDF_DFLTISR_THLF) in HAL_MDF_IRQHandler()
3169 hmdf->Instance->DFLTISR |= MDF_DFLTISR_OLDF; in HAL_MDF_IRQHandler()
3172 hmdf->ErrorCode |= MDF_ERROR_OUT_OFF_LIMIT; in HAL_MDF_IRQHandler()
3176 hmdf->OldCallback(hmdf, threshold_info); in HAL_MDF_IRQHandler()
3178 HAL_MDF_OldCallback(hmdf, threshold_info); in HAL_MDF_IRQHandler()
3185 hmdf->Instance->DFLTISR |= MDF_DFLTISR_SDDETF; in HAL_MDF_IRQHandler()
3189 hmdf->SadCallback(hmdf); in HAL_MDF_IRQHandler()
3191 HAL_MDF_SadCallback(hmdf); in HAL_MDF_IRQHandler()
3203 sound_level = hmdf->Instance->SADSDLVR; in HAL_MDF_IRQHandler()
3206 ambient_noise = hmdf->Instance->SADANLVR; in HAL_MDF_IRQHandler()
3209 hmdf->Instance->DFLTISR |= MDF_DFLTISR_SDLVLF; in HAL_MDF_IRQHandler()
3213 hmdf->SndLvCallback(hmdf, sound_level, ambient_noise); in HAL_MDF_IRQHandler()
3215 HAL_MDF_SndLvlCallback(hmdf, sound_level, ambient_noise); in HAL_MDF_IRQHandler()
3226 __weak void HAL_MDF_ErrorCallback(MDF_HandleTypeDef *hmdf) in HAL_MDF_ErrorCallback() argument
3229 UNUSED(hmdf); in HAL_MDF_ErrorCallback()
3240 HAL_MDF_StateTypeDef HAL_MDF_GetState(const MDF_HandleTypeDef *hmdf) in HAL_MDF_GetState() argument
3243 return hmdf->State; in HAL_MDF_GetState()
3251 uint32_t HAL_MDF_GetError(const MDF_HandleTypeDef *hmdf) in HAL_MDF_GetError() argument
3254 return hmdf->ErrorCode; in HAL_MDF_GetError()
3325 static void MDF_AcqStart(MDF_HandleTypeDef *const hmdf, const MDF_FilterConfigTypeDef *const pFilte… in MDF_AcqStart() argument
3336 hmdf->Instance->DFLTCR |= (pFilterConfig->AcquisitionMode | pFilterConfig->FifoThreshold | in MDF_AcqStart()
3342 if (IS_ADF_INSTANCE(hmdf->Instance)) in MDF_AcqStart()
3351 hmdf->Instance->DFLTCR |= (pFilterConfig->AcquisitionMode | pFilterConfig->FifoThreshold | in MDF_AcqStart()
3357 if (IS_MDF_INSTANCE(hmdf->Instance) && (pFilterConfig->AcquisitionMode == MDF_MODE_SYNC_SNAPSHOT)) in MDF_AcqStart()
3360 hmdf->Instance->DFLTCR |= pFilterConfig->SnapshotFormat; in MDF_AcqStart()
3364 if (IS_ADF_INSTANCE(hmdf->Instance)) in MDF_AcqStart()
3388 hmdf->Instance->DFLTCICR = (pFilterConfig->DataSource | pFilterConfig->CicMode | in MDF_AcqStart()
3394 hmdf->Instance->DLYCR = pFilterConfig->Delay; in MDF_AcqStart()
3397 if (IS_MDF_INSTANCE(hmdf->Instance)) in MDF_AcqStart()
3400 hmdf->Instance->OECCR = (uint32_t) pFilterConfig->Offset; in MDF_AcqStart()
3405 hmdf->Instance->DFLTRSFR = 0U; in MDF_AcqStart()
3410 hmdf->Instance->DFLTRSFR |= pFilterConfig->ReshapeFilter.DecimationRatio; in MDF_AcqStart()
3415 hmdf->Instance->DFLTRSFR |= MDF_DFLTRSFR_RSFLTBYP; in MDF_AcqStart()
3424 hmdf->Instance->DFLTRSFR |= pFilterConfig->HighPassFilter.CutOffFrequency; in MDF_AcqStart()
3429 hmdf->Instance->DFLTRSFR |= MDF_DFLTRSFR_HPFBYP; in MDF_AcqStart()
3433 if (IS_MDF_INSTANCE(hmdf->Instance)) in MDF_AcqStart()
3441 … hmdf->Instance->DFLTINTR = (((pFilterConfig->Integrator.Value - 1U) << MDF_DFLTINTR_INTVAL_Pos) | in MDF_AcqStart()
3447 hmdf->Instance->DFLTINTR = 0U; in MDF_AcqStart()
3451 if (IS_ADF_INSTANCE(hmdf->Instance)) in MDF_AcqStart()
3469 …hmdf->Instance->SADCR = (pFilterConfig->SoundActivity.Mode | pFilterConfig->SoundActivity.FrameSiz… in MDF_AcqStart()
3475 …hmdf->Instance->SADCR = (pFilterConfig->SoundActivity.Mode | pFilterConfig->SoundActivity.FrameSiz… in MDF_AcqStart()
3489 … hmdf->Instance->SADCFGR = ((pFilterConfig->SoundActivity.MinNoiseLevel << MDF_SADCFGR_ANMIN_Pos) | in MDF_AcqStart()
3497 … hmdf->Instance->SADCFGR = ((pFilterConfig->SoundActivity.MinNoiseLevel << MDF_SADCFGR_ANMIN_Pos) | in MDF_AcqStart()
3506 hmdf->Instance->SADCR = 0U; in MDF_AcqStart()
3507 hmdf->Instance->SADCFGR = 0U; in MDF_AcqStart()
3512 hmdf->State = HAL_MDF_STATE_ACQUISITION; in MDF_AcqStart()
3515 if ((IS_ADF_INSTANCE(hmdf->Instance)) && (pFilterConfig->SoundActivity.Activation == ENABLE)) in MDF_AcqStart()
3517 hmdf->Instance->SADCR |= MDF_SADCR_SADEN; in MDF_AcqStart()
3521 hmdf->Instance->DFLTCR |= MDF_DFLTCR_DFLTEN; in MDF_AcqStart()
3531 MDF_HandleTypeDef *hmdf = (MDF_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in MDF_DmaXferCpltCallback() local
3536 hmdf->State = HAL_MDF_STATE_READY; in MDF_DmaXferCpltCallback()
3540 hmdf->AcqCpltCallback(hmdf); in MDF_DmaXferCpltCallback()
3542 HAL_MDF_AcqCpltCallback(hmdf); in MDF_DmaXferCpltCallback()
3553 MDF_HandleTypeDef *hmdf = (MDF_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in MDF_DmaXferHalfCpltCallback() local
3556 hmdf->AcqHalfCpltCallback(hmdf); in MDF_DmaXferHalfCpltCallback()
3558 HAL_MDF_AcqHalfCpltCallback(hmdf); in MDF_DmaXferHalfCpltCallback()
3569 MDF_HandleTypeDef *hmdf = (MDF_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in MDF_DmaErrorCallback() local
3572 hmdf->ErrorCode |= MDF_ERROR_DMA; in MDF_DmaErrorCallback()
3575 hmdf->ErrorCallback(hmdf); in MDF_DmaErrorCallback()
3577 HAL_MDF_ErrorCallback(hmdf); in MDF_DmaErrorCallback()