Lines Matching refs:hmdf

262 static void     MDF_AcqStart(MDF_HandleTypeDef *const hmdf, const MDF_FilterConfigTypeDef *const pF…
296 HAL_StatusTypeDef HAL_MDF_Init(MDF_HandleTypeDef *hmdf) in HAL_MDF_Init() argument
301 if (hmdf == NULL) in HAL_MDF_Init()
308 assert_param(IS_MDF_ALL_INSTANCE(hmdf->Instance)); in HAL_MDF_Init()
309 assert_param(IS_MDF_FILTER_BITSTREAM(hmdf->Init.FilterBistream)); in HAL_MDF_Init()
310 assert_param(IS_FUNCTIONAL_STATE(hmdf->Init.SerialInterface.Activation)); in HAL_MDF_Init()
313 if (a_mdfHandle[MDF_GetHandleNumberFromInstance(hmdf->Instance)] != NULL) in HAL_MDF_Init()
321 if (IS_ADF_INSTANCE(hmdf->Instance)) in HAL_MDF_Init()
323 hmdf->OldCallback = NULL; in HAL_MDF_Init()
324 hmdf->SndLvCallback = HAL_MDF_SndLvlCallback; in HAL_MDF_Init()
325 hmdf->SadCallback = HAL_MDF_SadCallback; in HAL_MDF_Init()
329 hmdf->OldCallback = HAL_MDF_OldCallback; in HAL_MDF_Init()
330 hmdf->SndLvCallback = NULL; in HAL_MDF_Init()
331 hmdf->SadCallback = NULL; in HAL_MDF_Init()
333 hmdf->AcqCpltCallback = HAL_MDF_AcqCpltCallback; in HAL_MDF_Init()
334 hmdf->AcqHalfCpltCallback = HAL_MDF_AcqHalfCpltCallback; in HAL_MDF_Init()
335 hmdf->ErrorCallback = HAL_MDF_ErrorCallback; in HAL_MDF_Init()
338 if (hmdf->MspInitCallback == NULL) in HAL_MDF_Init()
340 hmdf->MspInitCallback = HAL_MDF_MspInit; in HAL_MDF_Init()
342 hmdf->MspInitCallback(hmdf); in HAL_MDF_Init()
345 HAL_MDF_MspInit(hmdf); in HAL_MDF_Init()
349 if (((v_mdf1InstanceCounter == 0U) && IS_MDF_INSTANCE(hmdf->Instance)) || in HAL_MDF_Init()
350 ((v_adf1InstanceCounter == 0U) && IS_ADF_INSTANCE(hmdf->Instance))) in HAL_MDF_Init()
354 mdfBase = (IS_ADF_INSTANCE(hmdf->Instance)) ? ADF1 : MDF1; in HAL_MDF_Init()
364 if (IS_MDF_INSTANCE(hmdf->Instance)) in HAL_MDF_Init()
366 assert_param(IS_MDF_INTERLEAVED_FILTERS(hmdf->Init.CommonParam.InterleavedFilters)); in HAL_MDF_Init()
368 mdfBase->GCR |= (hmdf->Init.CommonParam.InterleavedFilters << MDF_GCR_ILVNB_Pos); in HAL_MDF_Init()
373 assert_param(IS_MDF_PROC_CLOCK_DIVIDER(hmdf->Init.CommonParam.ProcClockDivider)); in HAL_MDF_Init()
374 assert_param(IS_FUNCTIONAL_STATE(hmdf->Init.CommonParam.OutputClock.Activation)); in HAL_MDF_Init()
376 … mdfBase->CKGCR |= ((hmdf->Init.CommonParam.ProcClockDivider - 1U) << MDF_CKGCR_PROCDIV_Pos); in HAL_MDF_Init()
377 if (hmdf->Init.CommonParam.OutputClock.Activation == ENABLE) in HAL_MDF_Init()
379 assert_param(IS_MDF_OUTPUT_CLOCK_PINS(hmdf->Init.CommonParam.OutputClock.Pins)); in HAL_MDF_Init()
380 assert_param(IS_MDF_OUTPUT_CLOCK_DIVIDER(hmdf->Init.CommonParam.OutputClock.Divider)); in HAL_MDF_Init()
381 … assert_param(IS_FUNCTIONAL_STATE(hmdf->Init.CommonParam.OutputClock.Trigger.Activation)); in HAL_MDF_Init()
382 … mdfBase->CKGCR |= (((hmdf->Init.CommonParam.OutputClock.Divider - 1U) << MDF_CKGCR_CCKDIV_Pos) | in HAL_MDF_Init()
383 hmdf->Init.CommonParam.OutputClock.Pins | in HAL_MDF_Init()
384 (hmdf->Init.CommonParam.OutputClock.Pins >> 4U)); in HAL_MDF_Init()
385 if (hmdf->Init.CommonParam.OutputClock.Trigger.Activation == ENABLE) in HAL_MDF_Init()
387 if (IS_MDF_INSTANCE(hmdf->Instance)) in HAL_MDF_Init()
389 …assert_param(IS_MDF_OUTPUT_CLOCK_TRIGGER_SOURCE(hmdf->Init.CommonParam.OutputClock.Trigger.Source)… in HAL_MDF_Init()
393 …assert_param(IS_ADF_OUTPUT_CLOCK_TRIGGER_SOURCE(hmdf->Init.CommonParam.OutputClock.Trigger.Source)… in HAL_MDF_Init()
395 … assert_param(IS_MDF_OUTPUT_CLOCK_TRIGGER_EDGE(hmdf->Init.CommonParam.OutputClock.Trigger.Edge)); in HAL_MDF_Init()
396 mdfBase->CKGCR |= (hmdf->Init.CommonParam.OutputClock.Trigger.Source | in HAL_MDF_Init()
397 hmdf->Init.CommonParam.OutputClock.Trigger.Edge | in HAL_MDF_Init()
408 if ((status == HAL_OK) && (hmdf->Init.SerialInterface.Activation == ENABLE)) in HAL_MDF_Init()
411 if ((hmdf->Instance->SITFCR & MDF_SITFCR_SITFACTIVE) != 0U) in HAL_MDF_Init()
418 assert_param(IS_MDF_SITF_MODE(hmdf->Init.SerialInterface.Mode)); in HAL_MDF_Init()
419 assert_param(IS_MDF_SITF_CLOCK_SOURCE(hmdf->Init.SerialInterface.ClockSource)); in HAL_MDF_Init()
420 assert_param(IS_MDF_SITF_THRESHOLD(hmdf->Init.SerialInterface.Threshold)); in HAL_MDF_Init()
421 hmdf->Instance->SITFCR = 0U; in HAL_MDF_Init()
422 hmdf->Instance->SITFCR |= ((hmdf->Init.SerialInterface.Threshold << MDF_SITFCR_STH_Pos) | in HAL_MDF_Init()
423hmdf->Init.SerialInterface.Mode | hmdf->Init.SerialInterface.ClockSource); in HAL_MDF_Init()
426 hmdf->Instance->SITFCR |= MDF_SITFCR_SITFEN; in HAL_MDF_Init()
433 hmdf->Instance->BSMXCR &= ~(MDF_BSMXCR_BSSEL); in HAL_MDF_Init()
434 hmdf->Instance->BSMXCR |= hmdf->Init.FilterBistream; in HAL_MDF_Init()
437 if (IS_ADF_INSTANCE(hmdf->Instance)) in HAL_MDF_Init()
445 a_mdfHandle[MDF_GetHandleNumberFromInstance(hmdf->Instance)] = hmdf; in HAL_MDF_Init()
448 hmdf->ErrorCode = MDF_ERROR_NONE; in HAL_MDF_Init()
449 hmdf->State = HAL_MDF_STATE_READY; in HAL_MDF_Init()
463 HAL_StatusTypeDef HAL_MDF_DeInit(MDF_HandleTypeDef *hmdf) in HAL_MDF_DeInit() argument
468 if (hmdf == NULL) in HAL_MDF_DeInit()
475 assert_param(IS_MDF_ALL_INSTANCE(hmdf->Instance)); in HAL_MDF_DeInit()
478 if (a_mdfHandle[MDF_GetHandleNumberFromInstance(hmdf->Instance)] == NULL) in HAL_MDF_DeInit()
484 if (IS_MDF_INSTANCE(hmdf->Instance)) in HAL_MDF_DeInit()
487 if ((hmdf->Instance->SCDCR & MDF_SCDCR_SCDACTIVE) != 0U) in HAL_MDF_DeInit()
489 hmdf->Instance->SCDCR &= ~(MDF_SCDCR_SCDEN); in HAL_MDF_DeInit()
493 if ((hmdf->Instance->OLDCR & MDF_OLDCR_OLDACTIVE) != 0U) in HAL_MDF_DeInit()
495 hmdf->Instance->OLDCR &= ~(MDF_OLDCR_OLDEN); in HAL_MDF_DeInit()
500 if (IS_ADF_INSTANCE(hmdf->Instance)) in HAL_MDF_DeInit()
502 if ((hmdf->Instance->SADCR & MDF_SADCR_SADACTIVE) != 0U) in HAL_MDF_DeInit()
504 hmdf->Instance->SADCR &= ~(MDF_SADCR_SADEN); in HAL_MDF_DeInit()
509 if ((hmdf->Instance->DFLTCR & MDF_DFLTCR_DFLTACTIVE) != 0U) in HAL_MDF_DeInit()
511 hmdf->Instance->DFLTCR &= ~(MDF_DFLTCR_DFLTEN); in HAL_MDF_DeInit()
515 if ((hmdf->Instance->SITFCR & MDF_SITFCR_SITFACTIVE) != 0U) in HAL_MDF_DeInit()
517 hmdf->Instance->SITFCR &= ~(MDF_SITFCR_SITFEN); in HAL_MDF_DeInit()
521 hmdf->Instance->DFLTIER = 0U; in HAL_MDF_DeInit()
522 hmdf->Instance->DFLTISR = 0xFFFFFFFFU; in HAL_MDF_DeInit()
525 if (((v_mdf1InstanceCounter == 1U) && IS_MDF_INSTANCE(hmdf->Instance)) || in HAL_MDF_DeInit()
526 ((v_adf1InstanceCounter == 1U) && IS_ADF_INSTANCE(hmdf->Instance))) in HAL_MDF_DeInit()
530 p_mdf_base = (IS_ADF_INSTANCE(hmdf->Instance)) ? ADF1 : MDF1; in HAL_MDF_DeInit()
538 if (hmdf->MspDeInitCallback == NULL) in HAL_MDF_DeInit()
540 hmdf->MspDeInitCallback = HAL_MDF_MspDeInit; in HAL_MDF_DeInit()
542 hmdf->MspDeInitCallback(hmdf); in HAL_MDF_DeInit()
544 HAL_MDF_MspDeInit(hmdf); in HAL_MDF_DeInit()
548 if (IS_ADF_INSTANCE(hmdf->Instance)) in HAL_MDF_DeInit()
556 a_mdfHandle[MDF_GetHandleNumberFromInstance(hmdf->Instance)] = (MDF_HandleTypeDef *) NULL; in HAL_MDF_DeInit()
559 hmdf->State = HAL_MDF_STATE_RESET; in HAL_MDF_DeInit()
572 __weak void HAL_MDF_MspInit(MDF_HandleTypeDef *hmdf) in HAL_MDF_MspInit() argument
575 UNUSED(hmdf); in HAL_MDF_MspInit()
586 __weak void HAL_MDF_MspDeInit(MDF_HandleTypeDef *hmdf) in HAL_MDF_MspDeInit() argument
589 UNUSED(hmdf); in HAL_MDF_MspDeInit()
610 HAL_StatusTypeDef HAL_MDF_RegisterCallback(MDF_HandleTypeDef *hmdf, in HAL_MDF_RegisterCallback() argument
620 hmdf->ErrorCode |= MDF_ERROR_INVALID_CALLBACK; in HAL_MDF_RegisterCallback()
625 if (hmdf->State == HAL_MDF_STATE_READY) in HAL_MDF_RegisterCallback()
630 hmdf->AcqCpltCallback = pCallback; in HAL_MDF_RegisterCallback()
633 hmdf->AcqHalfCpltCallback = pCallback; in HAL_MDF_RegisterCallback()
636 hmdf->SadCallback = pCallback; in HAL_MDF_RegisterCallback()
639 hmdf->ErrorCallback = pCallback; in HAL_MDF_RegisterCallback()
642 hmdf->MspInitCallback = pCallback; in HAL_MDF_RegisterCallback()
645 hmdf->MspDeInitCallback = pCallback; in HAL_MDF_RegisterCallback()
649 hmdf->ErrorCode |= MDF_ERROR_INVALID_CALLBACK; in HAL_MDF_RegisterCallback()
654 else if (hmdf->State == HAL_MDF_STATE_RESET) in HAL_MDF_RegisterCallback()
659 hmdf->MspInitCallback = pCallback; in HAL_MDF_RegisterCallback()
662 hmdf->MspDeInitCallback = pCallback; in HAL_MDF_RegisterCallback()
666 hmdf->ErrorCode |= MDF_ERROR_INVALID_CALLBACK; in HAL_MDF_RegisterCallback()
674 hmdf->ErrorCode |= MDF_ERROR_INVALID_CALLBACK; in HAL_MDF_RegisterCallback()
697 HAL_StatusTypeDef HAL_MDF_UnRegisterCallback(MDF_HandleTypeDef *hmdf, in HAL_MDF_UnRegisterCallback() argument
702 if (hmdf->State == HAL_MDF_STATE_READY) in HAL_MDF_UnRegisterCallback()
707 hmdf->AcqCpltCallback = HAL_MDF_AcqCpltCallback; in HAL_MDF_UnRegisterCallback()
710 hmdf->AcqHalfCpltCallback = HAL_MDF_AcqHalfCpltCallback; in HAL_MDF_UnRegisterCallback()
713 hmdf->SadCallback = HAL_MDF_SadCallback; in HAL_MDF_UnRegisterCallback()
716 hmdf->ErrorCallback = HAL_MDF_ErrorCallback; in HAL_MDF_UnRegisterCallback()
719 hmdf->MspInitCallback = HAL_MDF_MspInit; in HAL_MDF_UnRegisterCallback()
722 hmdf->MspDeInitCallback = HAL_MDF_MspDeInit; in HAL_MDF_UnRegisterCallback()
726 hmdf->ErrorCode |= MDF_ERROR_INVALID_CALLBACK; in HAL_MDF_UnRegisterCallback()
731 else if (hmdf->State == HAL_MDF_STATE_RESET) in HAL_MDF_UnRegisterCallback()
736 hmdf->MspInitCallback = HAL_MDF_MspInit; in HAL_MDF_UnRegisterCallback()
739 hmdf->MspDeInitCallback = HAL_MDF_MspDeInit; in HAL_MDF_UnRegisterCallback()
743 hmdf->ErrorCode |= MDF_ERROR_INVALID_CALLBACK; in HAL_MDF_UnRegisterCallback()
751 hmdf->ErrorCode |= MDF_ERROR_INVALID_CALLBACK; in HAL_MDF_UnRegisterCallback()
767 HAL_StatusTypeDef HAL_MDF_RegisterOldCallback(MDF_HandleTypeDef *hmdf, in HAL_MDF_RegisterOldCallback() argument
776 hmdf->ErrorCode |= MDF_ERROR_INVALID_CALLBACK; in HAL_MDF_RegisterOldCallback()
781 if (hmdf->State == HAL_MDF_STATE_READY) in HAL_MDF_RegisterOldCallback()
783 hmdf->OldCallback = pCallback; in HAL_MDF_RegisterOldCallback()
788 hmdf->ErrorCode |= MDF_ERROR_INVALID_CALLBACK; in HAL_MDF_RegisterOldCallback()
804 HAL_StatusTypeDef HAL_MDF_UnRegisterOldCallback(MDF_HandleTypeDef *hmdf) in HAL_MDF_UnRegisterOldCallback() argument
808 if (hmdf->State == HAL_MDF_STATE_READY) in HAL_MDF_UnRegisterOldCallback()
810 hmdf->OldCallback = HAL_MDF_OldCallback; in HAL_MDF_UnRegisterOldCallback()
815 hmdf->ErrorCode |= MDF_ERROR_INVALID_CALLBACK; in HAL_MDF_UnRegisterOldCallback()
831 HAL_StatusTypeDef HAL_MDF_RegisterSndLvlCallback(MDF_HandleTypeDef *hmdf, in HAL_MDF_RegisterSndLvlCallback() argument
840 hmdf->ErrorCode |= MDF_ERROR_INVALID_CALLBACK; in HAL_MDF_RegisterSndLvlCallback()
845 if (hmdf->State == HAL_MDF_STATE_READY) in HAL_MDF_RegisterSndLvlCallback()
847 hmdf->SndLvCallback = pCallback; in HAL_MDF_RegisterSndLvlCallback()
852 hmdf->ErrorCode |= MDF_ERROR_INVALID_CALLBACK; in HAL_MDF_RegisterSndLvlCallback()
868 HAL_StatusTypeDef HAL_MDF_UnRegisterSndLvlCallback(MDF_HandleTypeDef *hmdf) in HAL_MDF_UnRegisterSndLvlCallback() argument
872 if (hmdf->State == HAL_MDF_STATE_READY) in HAL_MDF_UnRegisterSndLvlCallback()
874 hmdf->SndLvCallback = HAL_MDF_SndLvlCallback; in HAL_MDF_UnRegisterSndLvlCallback()
879 hmdf->ErrorCode |= MDF_ERROR_INVALID_CALLBACK; in HAL_MDF_UnRegisterSndLvlCallback()
916 HAL_StatusTypeDef HAL_MDF_AcqStart(MDF_HandleTypeDef *hmdf, const MDF_FilterConfigTypeDef *pFilterC… in HAL_MDF_AcqStart() argument
927 if (IS_ADF_INSTANCE(hmdf->Instance)) in HAL_MDF_AcqStart()
936 if ((IS_ADF_INSTANCE(hmdf->Instance)) && (pFilterConfig->SoundActivity.Activation == ENABLE) && in HAL_MDF_AcqStart()
944 else if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_AcqStart()
949 else if ((hmdf->Instance->DFLTCR & MDF_DFLTCR_DFLTACTIVE) != 0U) in HAL_MDF_AcqStart()
956 if (IS_ADF_INSTANCE(hmdf->Instance)) in HAL_MDF_AcqStart()
958 if ((hmdf->Instance->SADCR & MDF_SADCR_SADACTIVE) != 0U) in HAL_MDF_AcqStart()
969 if (IS_MDF_INSTANCE(hmdf->Instance)) in HAL_MDF_AcqStart()
971 …if (((hmdf->Instance->OLDCR & MDF_OLDCR_OLDACTIVE) != 0U) && (pFilterConfig->CicMode >= MDF_ONE_FI… in HAL_MDF_AcqStart()
980 hmdf->Instance->DFLTCR = 0U; in HAL_MDF_AcqStart()
981 MDF_AcqStart(hmdf, pFilterConfig); in HAL_MDF_AcqStart()
996 HAL_StatusTypeDef HAL_MDF_PollForAcq(MDF_HandleTypeDef *hmdf, uint32_t Timeout) in HAL_MDF_PollForAcq() argument
1001 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_PollForAcq()
1010 … while (((hmdf->Instance->DFLTISR & MDF_DFLTISR_RXNEF) != MDF_DFLTISR_RXNEF) && (status == HAL_OK)) in HAL_MDF_PollForAcq()
1023 …uint32_t error_flags = (hmdf->Instance->DFLTISR & (MDF_DFLTISR_DOVRF | MDF_DFLTISR_SATF | MDF_DFLT… in HAL_MDF_PollForAcq()
1029 hmdf->ErrorCode |= MDF_ERROR_ACQUISITION_OVERFLOW; in HAL_MDF_PollForAcq()
1033 hmdf->ErrorCode |= MDF_ERROR_SATURATION; in HAL_MDF_PollForAcq()
1037 hmdf->ErrorCode |= MDF_ERROR_RSF_OVERRUN; in HAL_MDF_PollForAcq()
1041 hmdf->Instance->DFLTISR |= error_flags; in HAL_MDF_PollForAcq()
1045 hmdf->ErrorCallback(hmdf); in HAL_MDF_PollForAcq()
1047 HAL_MDF_ErrorCallback(hmdf); in HAL_MDF_PollForAcq()
1054 if ((hmdf->Instance->DFLTCR & MDF_DFLTCR_ACQMOD) == MDF_MODE_ASYNC_SINGLE) in HAL_MDF_PollForAcq()
1056 hmdf->State = HAL_MDF_STATE_READY; in HAL_MDF_PollForAcq()
1072 HAL_StatusTypeDef HAL_MDF_PollForSnapshotAcq(MDF_HandleTypeDef *hmdf, uint32_t Timeout) in HAL_MDF_PollForSnapshotAcq() argument
1077 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_PollForSnapshotAcq()
1086 … while (((hmdf->Instance->DFLTISR & MDF_DFLTISR_SSDRF) != MDF_DFLTISR_SSDRF) && (status == HAL_OK)) in HAL_MDF_PollForSnapshotAcq()
1099 …uint32_t error_flags = (hmdf->Instance->DFLTISR & (MDF_DFLTISR_SSOVRF | MDF_DFLTISR_SATF | MDF_DFL… in HAL_MDF_PollForSnapshotAcq()
1105 hmdf->ErrorCode |= MDF_ERROR_ACQUISITION_OVERFLOW; in HAL_MDF_PollForSnapshotAcq()
1109 hmdf->ErrorCode |= MDF_ERROR_SATURATION; in HAL_MDF_PollForSnapshotAcq()
1113 hmdf->ErrorCode |= MDF_ERROR_RSF_OVERRUN; in HAL_MDF_PollForSnapshotAcq()
1117 hmdf->Instance->DFLTISR |= error_flags; in HAL_MDF_PollForSnapshotAcq()
1121 hmdf->ErrorCallback(hmdf); in HAL_MDF_PollForSnapshotAcq()
1123 HAL_MDF_ErrorCallback(hmdf); in HAL_MDF_PollForSnapshotAcq()
1138 HAL_StatusTypeDef HAL_MDF_GetAcqValue(const MDF_HandleTypeDef *hmdf, int32_t *pValue) in HAL_MDF_GetAcqValue() argument
1150 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_GetAcqValue()
1152 if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_GetAcqValue()
1162 *pValue = (int32_t) hmdf->Instance->DFLTDR; in HAL_MDF_GetAcqValue()
1176 HAL_StatusTypeDef HAL_MDF_GetSnapshotAcqValue(MDF_HandleTypeDef *hmdf, MDF_SnapshotParamTypeDef *pS… in HAL_MDF_GetSnapshotAcqValue() argument
1186 else if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_GetSnapshotAcqValue()
1195 snpsdr_value = hmdf->Instance->SNPSDR; in HAL_MDF_GetSnapshotAcqValue()
1198 hmdf->Instance->DFLTISR |= MDF_DFLTISR_SSDRF; in HAL_MDF_GetSnapshotAcqValue()
1204 if ((hmdf->Instance->DFLTCR & MDF_SNAPSHOT_16BITS) == MDF_SNAPSHOT_16BITS) in HAL_MDF_GetSnapshotAcqValue()
1230 HAL_StatusTypeDef HAL_MDF_AcqStop(MDF_HandleTypeDef *hmdf) in HAL_MDF_AcqStop() argument
1235 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_AcqStop()
1238 if (hmdf->State == HAL_MDF_STATE_READY) in HAL_MDF_AcqStop()
1240 if ((hmdf->Instance->DFLTCR & MDF_DFLTCR_DFLTACTIVE) != MDF_DFLTCR_DFLTACTIVE) in HAL_MDF_AcqStop()
1253 if (IS_ADF_INSTANCE(hmdf->Instance)) in HAL_MDF_AcqStop()
1255 if ((hmdf->Instance->SADCR & MDF_SADCR_SADACTIVE) != 0U) in HAL_MDF_AcqStop()
1257 hmdf->Instance->SADCR &= ~(MDF_SADCR_SADEN); in HAL_MDF_AcqStop()
1265 hmdf->Instance->DFLTCR &= ~(MDF_DFLTCR_DFLTEN); in HAL_MDF_AcqStop()
1268 if (IS_ADF_INSTANCE(hmdf->Instance)) in HAL_MDF_AcqStop()
1270 hmdf->Instance->DFLTISR |= (MDF_DFLTISR_DOVRF | MDF_DFLTISR_SATF | MDF_DFLTISR_RFOVRF | in HAL_MDF_AcqStop()
1275 hmdf->Instance->DFLTISR |= (MDF_DFLTISR_DOVRF | MDF_DFLTISR_SSDRF | MDF_DFLTISR_SSOVRF | in HAL_MDF_AcqStop()
1280 hmdf->State = HAL_MDF_STATE_READY; in HAL_MDF_AcqStop()
1293 HAL_StatusTypeDef HAL_MDF_AcqStart_IT(MDF_HandleTypeDef *hmdf, const MDF_FilterConfigTypeDef *pFilt… in HAL_MDF_AcqStart_IT() argument
1304 if (IS_ADF_INSTANCE(hmdf->Instance)) in HAL_MDF_AcqStart_IT()
1313 if ((IS_ADF_INSTANCE(hmdf->Instance)) && (pFilterConfig->SoundActivity.Activation == ENABLE) && in HAL_MDF_AcqStart_IT()
1321 else if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_AcqStart_IT()
1326 else if ((hmdf->Instance->DFLTCR & MDF_DFLTCR_DFLTACTIVE) != 0U) in HAL_MDF_AcqStart_IT()
1333 if (IS_ADF_INSTANCE(hmdf->Instance)) in HAL_MDF_AcqStart_IT()
1335 if ((hmdf->Instance->SADCR & MDF_SADCR_SADACTIVE) != 0U) in HAL_MDF_AcqStart_IT()
1346 if (IS_MDF_INSTANCE(hmdf->Instance)) in HAL_MDF_AcqStart_IT()
1348 …if (((hmdf->Instance->OLDCR & MDF_OLDCR_OLDACTIVE) != 0U) && (pFilterConfig->CicMode >= MDF_ONE_FI… in HAL_MDF_AcqStart_IT()
1359 hmdf->Instance->DFLTIER |= (MDF_DFLTIER_SSOVRIE | MDF_DFLTIER_SSDRIE); in HAL_MDF_AcqStart_IT()
1363 … if ((IS_MDF_INSTANCE(hmdf->Instance)) || (pFilterConfig->SoundActivity.Activation == DISABLE) || in HAL_MDF_AcqStart_IT()
1367 hmdf->Instance->DFLTIER |= (MDF_DFLTIER_DOVRIE | MDF_DFLTIER_FTHIE); in HAL_MDF_AcqStart_IT()
1374 hmdf->Instance->DFLTIER |= MDF_DFLTIER_RFOVRIE; in HAL_MDF_AcqStart_IT()
1378 hmdf->Instance->DFLTIER |= MDF_DFLTIER_SATIE; in HAL_MDF_AcqStart_IT()
1380 … if ((IS_ADF_INSTANCE(hmdf->Instance)) && (pFilterConfig->SoundActivity.Activation == ENABLE)) in HAL_MDF_AcqStart_IT()
1384 hmdf->Instance->DFLTIER |= (pFilterConfig->SoundActivity.SoundLevelInterrupt == ENABLE) ? in HAL_MDF_AcqStart_IT()
1390 hmdf->Instance->DFLTCR = 0U; in HAL_MDF_AcqStart_IT()
1391 MDF_AcqStart(hmdf, pFilterConfig); in HAL_MDF_AcqStart_IT()
1405 HAL_StatusTypeDef HAL_MDF_AcqStop_IT(MDF_HandleTypeDef *hmdf) in HAL_MDF_AcqStop_IT() argument
1410 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_AcqStop_IT()
1413 if (hmdf->State == HAL_MDF_STATE_READY) in HAL_MDF_AcqStop_IT()
1415 if ((hmdf->Instance->DFLTCR & MDF_DFLTCR_DFLTACTIVE) != MDF_DFLTCR_DFLTACTIVE) in HAL_MDF_AcqStop_IT()
1428 if (IS_ADF_INSTANCE(hmdf->Instance)) in HAL_MDF_AcqStop_IT()
1430 if ((hmdf->Instance->SADCR & MDF_SADCR_SADACTIVE) != 0U) in HAL_MDF_AcqStop_IT()
1432 hmdf->Instance->SADCR &= ~(MDF_SADCR_SADEN); in HAL_MDF_AcqStop_IT()
1440 hmdf->Instance->DFLTCR &= ~(MDF_DFLTCR_DFLTEN); in HAL_MDF_AcqStop_IT()
1443 if (IS_ADF_INSTANCE(hmdf->Instance)) in HAL_MDF_AcqStop_IT()
1445 hmdf->Instance->DFLTIER &= ~(MDF_DFLTIER_FTHIE | MDF_DFLTIER_DOVRIE | MDF_DFLTIER_SATIE | in HAL_MDF_AcqStop_IT()
1447 hmdf->Instance->DFLTISR |= (MDF_DFLTISR_DOVRF | MDF_DFLTISR_SATF | MDF_DFLTISR_RFOVRF | in HAL_MDF_AcqStop_IT()
1452 hmdf->Instance->DFLTIER &= ~(MDF_DFLTIER_FTHIE | MDF_DFLTIER_DOVRIE | MDF_DFLTIER_SSDRIE | in HAL_MDF_AcqStop_IT()
1454 hmdf->Instance->DFLTISR |= (MDF_DFLTISR_DOVRF | MDF_DFLTISR_SSDRF | MDF_DFLTISR_SSOVRF | in HAL_MDF_AcqStop_IT()
1459 hmdf->State = HAL_MDF_STATE_READY; in HAL_MDF_AcqStop_IT()
1473 HAL_StatusTypeDef HAL_MDF_AcqStart_DMA(MDF_HandleTypeDef *hmdf, const MDF_FilterConfigTypeDef *pFil… in HAL_MDF_AcqStart_DMA() argument
1486 if (IS_ADF_INSTANCE(hmdf->Instance)) in HAL_MDF_AcqStart_DMA()
1495 if ((IS_ADF_INSTANCE(hmdf->Instance)) && (pFilterConfig->SoundActivity.Activation == ENABLE) && in HAL_MDF_AcqStart_DMA()
1507 else if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_AcqStart_DMA()
1512 else if ((hmdf->Instance->DFLTCR & MDF_DFLTCR_DFLTACTIVE) != 0U) in HAL_MDF_AcqStart_DMA()
1519 if (IS_ADF_INSTANCE(hmdf->Instance)) in HAL_MDF_AcqStart_DMA()
1521 if ((hmdf->Instance->SADCR & MDF_SADCR_SADACTIVE) != 0U) in HAL_MDF_AcqStart_DMA()
1532 if (IS_MDF_INSTANCE(hmdf->Instance)) in HAL_MDF_AcqStart_DMA()
1534 …if (((hmdf->Instance->OLDCR & MDF_OLDCR_OLDACTIVE) != 0U) && (pFilterConfig->CicMode >= MDF_ONE_FI… in HAL_MDF_AcqStart_DMA()
1547 hmdf->Instance->DFLTIER |= MDF_DFLTIER_RFOVRIE; in HAL_MDF_AcqStart_DMA()
1551 hmdf->Instance->DFLTIER |= MDF_DFLTIER_SATIE; in HAL_MDF_AcqStart_DMA()
1553 … if ((IS_ADF_INSTANCE(hmdf->Instance)) && (pFilterConfig->SoundActivity.Activation == ENABLE)) in HAL_MDF_AcqStart_DMA()
1557 hmdf->Instance->DFLTIER |= (pFilterConfig->SoundActivity.SoundLevelInterrupt == ENABLE) ? in HAL_MDF_AcqStart_DMA()
1563 hmdf->Instance->DFLTCR = MDF_DFLTCR_DMAEN; in HAL_MDF_AcqStart_DMA()
1566 hmdf->hdma->XferCpltCallback = MDF_DmaXferCpltCallback; in HAL_MDF_AcqStart_DMA()
1567 hmdf->hdma->XferHalfCpltCallback = MDF_DmaXferHalfCpltCallback; in HAL_MDF_AcqStart_DMA()
1568 hmdf->hdma->XferErrorCallback = MDF_DmaErrorCallback; in HAL_MDF_AcqStart_DMA()
1569 SrcAddress = (pDmaConfig->MsbOnly == ENABLE) ? (((uint32_t) &hmdf->Instance->DFLTDR) + 2U) : in HAL_MDF_AcqStart_DMA()
1570 (uint32_t) &hmdf->Instance->DFLTDR; in HAL_MDF_AcqStart_DMA()
1571 if ((hmdf->hdma->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) in HAL_MDF_AcqStart_DMA()
1573 if (hmdf->hdma->LinkedListQueue != NULL) in HAL_MDF_AcqStart_DMA()
1575hmdf->hdma->LinkedListQueue->Head->LinkRegisters[NODE_CBR1_DEFAULT_OFFSET] = pDmaConfig->DataLengt… in HAL_MDF_AcqStart_DMA()
1576 hmdf->hdma->LinkedListQueue->Head->LinkRegisters[NODE_CSAR_DEFAULT_OFFSET] = SrcAddress; in HAL_MDF_AcqStart_DMA()
1577hmdf->hdma->LinkedListQueue->Head->LinkRegisters[NODE_CDAR_DEFAULT_OFFSET] = pDmaConfig->Address; in HAL_MDF_AcqStart_DMA()
1579 status = HAL_DMAEx_List_Start_IT(hmdf->hdma); in HAL_MDF_AcqStart_DMA()
1588 … status = HAL_DMA_Start_IT(hmdf->hdma, SrcAddress, pDmaConfig->Address, pDmaConfig->DataLength); in HAL_MDF_AcqStart_DMA()
1593 hmdf->State = HAL_MDF_STATE_ERROR; in HAL_MDF_AcqStart_DMA()
1599 MDF_AcqStart(hmdf, pFilterConfig); in HAL_MDF_AcqStart_DMA()
1614 HAL_StatusTypeDef HAL_MDF_AcqStop_DMA(MDF_HandleTypeDef *hmdf) in HAL_MDF_AcqStop_DMA() argument
1619 if (hmdf->State == HAL_MDF_STATE_READY) in HAL_MDF_AcqStop_DMA()
1621 if ((hmdf->Instance->DFLTCR & MDF_DFLTCR_DFLTACTIVE) != MDF_DFLTCR_DFLTACTIVE) in HAL_MDF_AcqStop_DMA()
1629 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_AcqStop_DMA()
1636 if (HAL_DMA_Abort(hmdf->hdma) != HAL_OK) in HAL_MDF_AcqStop_DMA()
1639 hmdf->State = HAL_MDF_STATE_ERROR; in HAL_MDF_AcqStop_DMA()
1648 if (IS_ADF_INSTANCE(hmdf->Instance)) in HAL_MDF_AcqStop_DMA()
1650 if ((hmdf->Instance->SADCR & MDF_SADCR_SADACTIVE) != 0U) in HAL_MDF_AcqStop_DMA()
1652 hmdf->Instance->SADCR &= ~(MDF_SADCR_SADEN); in HAL_MDF_AcqStop_DMA()
1657 hmdf->Instance->DFLTCR &= ~(MDF_DFLTCR_DFLTEN); in HAL_MDF_AcqStop_DMA()
1660 if (IS_ADF_INSTANCE(hmdf->Instance)) in HAL_MDF_AcqStop_DMA()
1662 hmdf->Instance->DFLTIER &= ~(MDF_DFLTIER_SATIE | MDF_DFLTIER_RFOVRIE | MDF_DFLTIER_SDDETIE | in HAL_MDF_AcqStop_DMA()
1664 hmdf->Instance->DFLTISR |= (MDF_DFLTISR_SATF | MDF_DFLTISR_RFOVRF | MDF_DFLTISR_SDDETF | in HAL_MDF_AcqStop_DMA()
1669 hmdf->Instance->DFLTIER &= ~(MDF_DFLTIER_SATIE | MDF_DFLTIER_RFOVRIE); in HAL_MDF_AcqStop_DMA()
1670 hmdf->Instance->DFLTISR |= (MDF_DFLTISR_SATF | MDF_DFLTISR_RFOVRF); in HAL_MDF_AcqStop_DMA()
1674 hmdf->Instance->DFLTCR &= ~(MDF_DFLTCR_DMAEN); in HAL_MDF_AcqStop_DMA()
1677 hmdf->State = HAL_MDF_STATE_READY; in HAL_MDF_AcqStop_DMA()
1689 HAL_StatusTypeDef HAL_MDF_GenerateTrgo(const MDF_HandleTypeDef *hmdf) in HAL_MDF_GenerateTrgo() argument
1694 if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_GenerateTrgo()
1696 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_GenerateTrgo()
1707 p_mdf_base = (IS_ADF_INSTANCE(hmdf->Instance)) ? ADF1 : MDF1; in HAL_MDF_GenerateTrgo()
1732 HAL_StatusTypeDef HAL_MDF_SetDelay(MDF_HandleTypeDef *hmdf, uint32_t Delay) in HAL_MDF_SetDelay() argument
1740 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_SetDelay()
1747 if ((hmdf->Instance->DLYCR & MDF_DLYCR_SKPBF) == MDF_DLYCR_SKPBF) in HAL_MDF_SetDelay()
1754 hmdf->Instance->DLYCR |= Delay; in HAL_MDF_SetDelay()
1769 HAL_StatusTypeDef HAL_MDF_GetDelay(const MDF_HandleTypeDef *hmdf, uint32_t *pDelay) in HAL_MDF_GetDelay() argument
1779 else if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_GetDelay()
1786 *pDelay = (hmdf->Instance->DLYCR & MDF_DLYCR_SKPDLY); in HAL_MDF_GetDelay()
1800 HAL_StatusTypeDef HAL_MDF_SetGain(MDF_HandleTypeDef *hmdf, int32_t Gain) in HAL_MDF_SetGain() argument
1808 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_SetGain()
1831 tmp_register = (hmdf->Instance->DFLTCICR & ~(MDF_DFLTCICR_SCALE)); in HAL_MDF_SetGain()
1832 hmdf->Instance->DFLTCICR = (tmp_register | (register_gain_value << MDF_DFLTCICR_SCALE_Pos)); in HAL_MDF_SetGain()
1846 HAL_StatusTypeDef HAL_MDF_GetGain(const MDF_HandleTypeDef *hmdf, int32_t *pGain) in HAL_MDF_GetGain() argument
1856 else if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_GetGain()
1865 … register_gain_value = ((hmdf->Instance->DFLTCICR & MDF_DFLTCICR_SCALE) >> MDF_DFLTCICR_SCALE_Pos); in HAL_MDF_GetGain()
1891 HAL_StatusTypeDef HAL_MDF_SetOffset(MDF_HandleTypeDef *hmdf, int32_t Offset) in HAL_MDF_SetOffset() argument
1896 assert_param(IS_MDF_INSTANCE(hmdf->Instance)); in HAL_MDF_SetOffset()
1900 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_SetOffset()
1907 hmdf->Instance->OECCR = (uint32_t) Offset; in HAL_MDF_SetOffset()
1922 HAL_StatusTypeDef HAL_MDF_GetOffset(const MDF_HandleTypeDef *hmdf, int32_t *pOffset) in HAL_MDF_GetOffset() argument
1927 assert_param(IS_MDF_INSTANCE(hmdf->Instance)); in HAL_MDF_GetOffset()
1933 else if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_GetOffset()
1942 register_offset_value = hmdf->Instance->OECCR; in HAL_MDF_GetOffset()
1971 HAL_StatusTypeDef HAL_MDF_PollForSndLvl(MDF_HandleTypeDef *hmdf, uint32_t Timeout, uint32_t *pSound… in HAL_MDF_PollForSndLvl() argument
1977 assert_param(IS_ADF_INSTANCE(hmdf->Instance)); in HAL_MDF_PollForSndLvl()
1983 else if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_PollForSndLvl()
1988 else if ((hmdf->Instance->SADCR & MDF_SADCR_SADACTIVE) == 0U) in HAL_MDF_PollForSndLvl()
1997 …while (((hmdf->Instance->DFLTISR & MDF_DFLTISR_SDLVLF) != MDF_DFLTISR_SDLVLF) && (status == HAL_OK… in HAL_MDF_PollForSndLvl()
2012 *pSoundLevel = hmdf->Instance->SADSDLVR; in HAL_MDF_PollForSndLvl()
2015 *pAmbientNoise = hmdf->Instance->SADANLVR; in HAL_MDF_PollForSndLvl()
2018 hmdf->Instance->DFLTISR |= MDF_DFLTISR_SDLVLF; in HAL_MDF_PollForSndLvl()
2033 HAL_StatusTypeDef HAL_MDF_PollForSad(MDF_HandleTypeDef *hmdf, uint32_t Timeout) in HAL_MDF_PollForSad() argument
2038 assert_param(IS_ADF_INSTANCE(hmdf->Instance)); in HAL_MDF_PollForSad()
2041 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_PollForSad()
2046 else if ((hmdf->Instance->SADCR & MDF_SADCR_SADACTIVE) == 0U) in HAL_MDF_PollForSad()
2055 …while (((hmdf->Instance->DFLTISR & MDF_DFLTISR_SDDETF) != MDF_DFLTISR_SDDETF) && (status == HAL_OK… in HAL_MDF_PollForSad()
2070 hmdf->Instance->DFLTISR |= MDF_DFLTISR_SDDETF; in HAL_MDF_PollForSad()
2083 __weak void HAL_MDF_AcqCpltCallback(MDF_HandleTypeDef *hmdf) in HAL_MDF_AcqCpltCallback() argument
2086 UNUSED(hmdf); in HAL_MDF_AcqCpltCallback()
2097 __weak void HAL_MDF_AcqHalfCpltCallback(MDF_HandleTypeDef *hmdf) in HAL_MDF_AcqHalfCpltCallback() argument
2100 UNUSED(hmdf); in HAL_MDF_AcqHalfCpltCallback()
2115 __weak void HAL_MDF_SndLvlCallback(MDF_HandleTypeDef *hmdf, uint32_t SoundLevel, uint32_t AmbientNo… in HAL_MDF_SndLvlCallback() argument
2118 UNUSED(hmdf); in HAL_MDF_SndLvlCallback()
2131 __weak void HAL_MDF_SadCallback(MDF_HandleTypeDef *hmdf) in HAL_MDF_SadCallback() argument
2134 UNUSED(hmdf); in HAL_MDF_SadCallback()
2164 HAL_StatusTypeDef HAL_MDF_PollForCkab(MDF_HandleTypeDef *hmdf, uint32_t Timeout) in HAL_MDF_PollForCkab() argument
2169 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_PollForCkab()
2171 if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_PollForCkab()
2180 if ((hmdf->Instance->SITFCR & MDF_SITFCR_SITFACTIVE) == 0U) in HAL_MDF_PollForCkab()
2186 if ((hmdf->Instance->SITFCR & MDF_SITFCR_SITFMOD) != MDF_SITF_NORMAL_SPI_MODE) in HAL_MDF_PollForCkab()
2198 … while (((hmdf->Instance->DFLTISR & MDF_DFLTISR_CKABF) != MDF_DFLTISR_CKABF) && (status == HAL_OK)) in HAL_MDF_PollForCkab()
2213 hmdf->Instance->DFLTISR |= MDF_DFLTISR_CKABF; in HAL_MDF_PollForCkab()
2226 HAL_StatusTypeDef HAL_MDF_CkabStart_IT(MDF_HandleTypeDef *hmdf) in HAL_MDF_CkabStart_IT() argument
2231 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_CkabStart_IT()
2233 if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_CkabStart_IT()
2242 if ((hmdf->Instance->SITFCR & MDF_SITFCR_SITFACTIVE) == 0U) in HAL_MDF_CkabStart_IT()
2248 if ((hmdf->Instance->SITFCR & MDF_SITFCR_SITFMOD) != MDF_SITF_NORMAL_SPI_MODE) in HAL_MDF_CkabStart_IT()
2258 hmdf->Instance->DFLTISR |= MDF_DFLTISR_CKABF; in HAL_MDF_CkabStart_IT()
2261 if ((hmdf->Instance->DFLTISR & MDF_DFLTISR_CKABF) == MDF_DFLTISR_CKABF) in HAL_MDF_CkabStart_IT()
2268 hmdf->Instance->DFLTIER |= MDF_DFLTIER_CKABIE; in HAL_MDF_CkabStart_IT()
2281 HAL_StatusTypeDef HAL_MDF_CkabStop_IT(MDF_HandleTypeDef *hmdf) in HAL_MDF_CkabStop_IT() argument
2286 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_CkabStop_IT()
2288 if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_CkabStop_IT()
2297 if ((hmdf->Instance->SITFCR & MDF_SITFCR_SITFACTIVE) == 0U) in HAL_MDF_CkabStop_IT()
2303 if ((hmdf->Instance->SITFCR & MDF_SITFCR_SITFMOD) != MDF_SITF_NORMAL_SPI_MODE) in HAL_MDF_CkabStop_IT()
2313 hmdf->Instance->DFLTIER &= ~(MDF_DFLTIER_CKABIE); in HAL_MDF_CkabStop_IT()
2316 hmdf->Instance->DFLTISR |= MDF_DFLTISR_CKABF; in HAL_MDF_CkabStop_IT()
2349 HAL_StatusTypeDef HAL_MDF_ScdStart(MDF_HandleTypeDef *hmdf, const MDF_ScdConfigTypeDef *pScdConfig) in HAL_MDF_ScdStart() argument
2360 assert_param(IS_MDF_INSTANCE(hmdf->Instance)); in HAL_MDF_ScdStart()
2365 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_ScdStart()
2367 if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_ScdStart()
2376 if ((hmdf->Instance->SCDCR & MDF_SCDCR_SCDACTIVE) == MDF_SCDCR_SCDACTIVE) in HAL_MDF_ScdStart()
2383 hmdf->Instance->SCDCR = (((pScdConfig->Threshold - 1U) << MDF_SCDCR_SCDT_Pos) | in HAL_MDF_ScdStart()
2387 hmdf->Instance->SCDCR |= MDF_SCDCR_SCDEN; in HAL_MDF_ScdStart()
2403 HAL_StatusTypeDef HAL_MDF_PollForScd(MDF_HandleTypeDef *hmdf, uint32_t Timeout) in HAL_MDF_PollForScd() argument
2408 assert_param(IS_MDF_INSTANCE(hmdf->Instance)); in HAL_MDF_PollForScd()
2411 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_PollForScd()
2413 if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_PollForScd()
2422 if ((hmdf->Instance->SCDCR & MDF_SCDCR_SCDACTIVE) != MDF_SCDCR_SCDACTIVE) in HAL_MDF_PollForScd()
2431 … while (((hmdf->Instance->DFLTISR & MDF_DFLTISR_SCDF) != MDF_DFLTISR_SCDF) && (status == HAL_OK)) in HAL_MDF_PollForScd()
2446 hmdf->Instance->DFLTISR |= MDF_DFLTISR_SCDF; in HAL_MDF_PollForScd()
2461 HAL_StatusTypeDef HAL_MDF_ScdStop(MDF_HandleTypeDef *hmdf) in HAL_MDF_ScdStop() argument
2466 assert_param(IS_MDF_INSTANCE(hmdf->Instance)); in HAL_MDF_ScdStop()
2469 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_ScdStop()
2471 if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_ScdStop()
2480 if ((hmdf->Instance->SCDCR & MDF_SCDCR_SCDACTIVE) != MDF_SCDCR_SCDACTIVE) in HAL_MDF_ScdStop()
2487 hmdf->Instance->SCDCR &= ~(MDF_SCDCR_SCDEN); in HAL_MDF_ScdStop()
2490 hmdf->Instance->DFLTISR |= MDF_DFLTISR_SCDF; in HAL_MDF_ScdStop()
2505 HAL_StatusTypeDef HAL_MDF_ScdStart_IT(MDF_HandleTypeDef *hmdf, const MDF_ScdConfigTypeDef *pScdConf… in HAL_MDF_ScdStart_IT() argument
2516 assert_param(IS_MDF_INSTANCE(hmdf->Instance)); in HAL_MDF_ScdStart_IT()
2521 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_ScdStart_IT()
2523 if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_ScdStart_IT()
2532 if ((hmdf->Instance->SCDCR & MDF_SCDCR_SCDACTIVE) == MDF_SCDCR_SCDACTIVE) in HAL_MDF_ScdStart_IT()
2539 hmdf->Instance->SCDCR = (((pScdConfig->Threshold - 1U) << MDF_SCDCR_SCDT_Pos) | in HAL_MDF_ScdStart_IT()
2543 hmdf->Instance->DFLTIER |= MDF_DFLTIER_SCDIE; in HAL_MDF_ScdStart_IT()
2546 hmdf->Instance->SCDCR |= MDF_SCDCR_SCDEN; in HAL_MDF_ScdStart_IT()
2561 HAL_StatusTypeDef HAL_MDF_ScdStop_IT(MDF_HandleTypeDef *hmdf) in HAL_MDF_ScdStop_IT() argument
2566 assert_param(IS_MDF_INSTANCE(hmdf->Instance)); in HAL_MDF_ScdStop_IT()
2569 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_ScdStop_IT()
2571 if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_ScdStop_IT()
2580 if ((hmdf->Instance->SCDCR & MDF_SCDCR_SCDACTIVE) != MDF_SCDCR_SCDACTIVE) in HAL_MDF_ScdStop_IT()
2587 hmdf->Instance->SCDCR &= ~(MDF_SCDCR_SCDEN); in HAL_MDF_ScdStop_IT()
2590 hmdf->Instance->DFLTIER &= ~(MDF_DFLTIER_SCDIE); in HAL_MDF_ScdStop_IT()
2593 hmdf->Instance->DFLTISR |= MDF_DFLTISR_SCDF; in HAL_MDF_ScdStop_IT()
2627 HAL_StatusTypeDef HAL_MDF_OldStart(MDF_HandleTypeDef *hmdf, const MDF_OldConfigTypeDef *pOldConfig) in HAL_MDF_OldStart() argument
2638 assert_param(IS_MDF_INSTANCE(hmdf->Instance)); in HAL_MDF_OldStart()
2652 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_OldStart()
2654 if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_OldStart()
2664 if ((hmdf->Instance->OLDCR & MDF_OLDCR_OLDACTIVE) == MDF_OLDCR_OLDACTIVE) in HAL_MDF_OldStart()
2671 if ((hmdf->Instance->DFLTCR & MDF_DFLTCR_DFLTACTIVE) == MDF_DFLTCR_DFLTACTIVE) in HAL_MDF_OldStart()
2674 if ((hmdf->Instance->DFLTCICR & MDF_DFLTCICR_CICMOD) >= MDF_ONE_FILTER_SINC4) in HAL_MDF_OldStart()
2682 hmdf->Instance->DFLTCICR &= ~(MDF_DFLTCICR_CICMOD); in HAL_MDF_OldStart()
2688 hmdf->Instance->OLDCR = (pOldConfig->OldCicMode | pOldConfig->OldEventConfig | in HAL_MDF_OldStart()
2693 hmdf->Instance->OLDTHLR = (uint32_t) pOldConfig->LowThreshold; in HAL_MDF_OldStart()
2694 hmdf->Instance->OLDTHHR = (uint32_t) pOldConfig->HighThreshold; in HAL_MDF_OldStart()
2697 hmdf->Instance->OLDCR |= MDF_OLDCR_OLDEN; in HAL_MDF_OldStart()
2716 HAL_StatusTypeDef HAL_MDF_PollForOld(MDF_HandleTypeDef *hmdf, uint32_t Timeout, uint32_t *pThreshol… in HAL_MDF_PollForOld() argument
2721 assert_param(IS_MDF_INSTANCE(hmdf->Instance)); in HAL_MDF_PollForOld()
2729 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_PollForOld()
2731 if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_PollForOld()
2741 if ((hmdf->Instance->OLDCR & MDF_OLDCR_OLDACTIVE) != MDF_OLDCR_OLDACTIVE) in HAL_MDF_PollForOld()
2750 … while (((hmdf->Instance->DFLTISR & MDF_DFLTISR_OLDF) != MDF_DFLTISR_OLDF) && (status == HAL_OK)) in HAL_MDF_PollForOld()
2765 if ((hmdf->Instance->DFLTISR & (MDF_DFLTISR_THLF | MDF_DFLTISR_THHF)) == 0U) in HAL_MDF_PollForOld()
2769 else if ((hmdf->Instance->DFLTISR & MDF_DFLTISR_THLF) == MDF_DFLTISR_THLF) in HAL_MDF_PollForOld()
2779 hmdf->Instance->DFLTISR |= MDF_DFLTISR_OLDF; in HAL_MDF_PollForOld()
2794 HAL_StatusTypeDef HAL_MDF_OldStop(MDF_HandleTypeDef *hmdf) in HAL_MDF_OldStop() argument
2799 assert_param(IS_MDF_INSTANCE(hmdf->Instance)); in HAL_MDF_OldStop()
2802 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_OldStop()
2804 if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_OldStop()
2813 if ((hmdf->Instance->OLDCR & MDF_OLDCR_OLDACTIVE) != MDF_OLDCR_OLDACTIVE) in HAL_MDF_OldStop()
2820 hmdf->Instance->OLDCR &= ~(MDF_OLDCR_OLDEN); in HAL_MDF_OldStop()
2823 hmdf->Instance->DFLTISR |= MDF_DFLTISR_OLDF; in HAL_MDF_OldStop()
2838 HAL_StatusTypeDef HAL_MDF_OldStart_IT(MDF_HandleTypeDef *hmdf, const MDF_OldConfigTypeDef *pOldConf… in HAL_MDF_OldStart_IT() argument
2849 assert_param(IS_MDF_INSTANCE(hmdf->Instance)); in HAL_MDF_OldStart_IT()
2863 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_OldStart_IT()
2865 if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_OldStart_IT()
2875 if ((hmdf->Instance->OLDCR & MDF_OLDCR_OLDACTIVE) == MDF_OLDCR_OLDACTIVE) in HAL_MDF_OldStart_IT()
2882 if ((hmdf->Instance->DFLTCR & MDF_DFLTCR_DFLTACTIVE) == MDF_DFLTCR_DFLTACTIVE) in HAL_MDF_OldStart_IT()
2885 if ((hmdf->Instance->DFLTCICR & MDF_DFLTCICR_CICMOD) >= MDF_ONE_FILTER_SINC4) in HAL_MDF_OldStart_IT()
2893 hmdf->Instance->DFLTCICR &= ~(MDF_DFLTCICR_CICMOD); in HAL_MDF_OldStart_IT()
2899 hmdf->Instance->OLDCR = (pOldConfig->OldCicMode | pOldConfig->OldEventConfig | in HAL_MDF_OldStart_IT()
2904 hmdf->Instance->OLDTHLR = (uint32_t) pOldConfig->LowThreshold; in HAL_MDF_OldStart_IT()
2905 hmdf->Instance->OLDTHHR = (uint32_t) pOldConfig->HighThreshold; in HAL_MDF_OldStart_IT()
2908 hmdf->Instance->DFLTIER |= MDF_DFLTIER_OLDIE; in HAL_MDF_OldStart_IT()
2911 hmdf->Instance->OLDCR |= MDF_OLDCR_OLDEN; in HAL_MDF_OldStart_IT()
2927 HAL_StatusTypeDef HAL_MDF_OldStop_IT(MDF_HandleTypeDef *hmdf) in HAL_MDF_OldStop_IT() argument
2932 assert_param(IS_MDF_INSTANCE(hmdf->Instance)); in HAL_MDF_OldStop_IT()
2935 if (hmdf->State != HAL_MDF_STATE_ACQUISITION) in HAL_MDF_OldStop_IT()
2937 if (hmdf->State != HAL_MDF_STATE_READY) in HAL_MDF_OldStop_IT()
2946 if ((hmdf->Instance->OLDCR & MDF_OLDCR_OLDACTIVE) != MDF_OLDCR_OLDACTIVE) in HAL_MDF_OldStop_IT()
2953 hmdf->Instance->OLDCR &= ~(MDF_OLDCR_OLDEN); in HAL_MDF_OldStop_IT()
2956 hmdf->Instance->DFLTIER &= ~(MDF_DFLTIER_OLDIE); in HAL_MDF_OldStop_IT()
2959 hmdf->Instance->DFLTISR |= MDF_DFLTISR_OLDF; in HAL_MDF_OldStop_IT()
2974 __weak void HAL_MDF_OldCallback(MDF_HandleTypeDef *hmdf, uint32_t ThresholdInfo) in HAL_MDF_OldCallback() argument
2977 UNUSED(hmdf); in HAL_MDF_OldCallback()
3009 void HAL_MDF_IRQHandler(MDF_HandleTypeDef *hmdf) in HAL_MDF_IRQHandler() argument
3016 tmp_reg1 = hmdf->Instance->DFLTIER; in HAL_MDF_IRQHandler()
3017 tmp_reg2 = hmdf->Instance->DFLTISR; in HAL_MDF_IRQHandler()
3024 hmdf->Instance->DFLTISR |= MDF_DFLTISR_DOVRF; in HAL_MDF_IRQHandler()
3027 hmdf->ErrorCode |= MDF_ERROR_ACQUISITION_OVERFLOW; in HAL_MDF_IRQHandler()
3031 hmdf->ErrorCallback(hmdf); in HAL_MDF_IRQHandler()
3033 HAL_MDF_ErrorCallback(hmdf); in HAL_MDF_IRQHandler()
3040 hmdf->Instance->DFLTISR |= MDF_DFLTISR_SSOVRF; in HAL_MDF_IRQHandler()
3043 hmdf->ErrorCode |= MDF_ERROR_ACQUISITION_OVERFLOW; in HAL_MDF_IRQHandler()
3047 hmdf->ErrorCallback(hmdf); in HAL_MDF_IRQHandler()
3049 HAL_MDF_ErrorCallback(hmdf); in HAL_MDF_IRQHandler()
3057 hmdf->AcqCpltCallback(hmdf); in HAL_MDF_IRQHandler()
3059 HAL_MDF_AcqCpltCallback(hmdf); in HAL_MDF_IRQHandler()
3063 if ((hmdf->Instance->DFLTCR & MDF_DFLTCR_ACQMOD) == MDF_MODE_ASYNC_SINGLE) in HAL_MDF_IRQHandler()
3065 hmdf->State = HAL_MDF_STATE_READY; in HAL_MDF_IRQHandler()
3072 hmdf->Instance->DFLTISR |= MDF_DFLTISR_SSDRF; in HAL_MDF_IRQHandler()
3076 hmdf->AcqCpltCallback(hmdf); in HAL_MDF_IRQHandler()
3078 HAL_MDF_AcqCpltCallback(hmdf); in HAL_MDF_IRQHandler()
3085 hmdf->Instance->DFLTISR |= MDF_DFLTISR_RFOVRF; in HAL_MDF_IRQHandler()
3088 hmdf->ErrorCode |= MDF_ERROR_RSF_OVERRUN; in HAL_MDF_IRQHandler()
3092 hmdf->ErrorCallback(hmdf); in HAL_MDF_IRQHandler()
3094 HAL_MDF_ErrorCallback(hmdf); in HAL_MDF_IRQHandler()
3101 hmdf->Instance->DFLTISR |= MDF_DFLTISR_CKABF; in HAL_MDF_IRQHandler()
3104 hmdf->ErrorCode |= MDF_ERROR_CLOCK_ABSENCE; in HAL_MDF_IRQHandler()
3108 hmdf->ErrorCallback(hmdf); in HAL_MDF_IRQHandler()
3110 HAL_MDF_ErrorCallback(hmdf); in HAL_MDF_IRQHandler()
3117 hmdf->Instance->DFLTISR |= MDF_DFLTISR_SATF; in HAL_MDF_IRQHandler()
3120 hmdf->ErrorCode |= MDF_ERROR_SATURATION; in HAL_MDF_IRQHandler()
3124 hmdf->ErrorCallback(hmdf); in HAL_MDF_IRQHandler()
3126 HAL_MDF_ErrorCallback(hmdf); in HAL_MDF_IRQHandler()
3133 hmdf->Instance->DFLTISR |= MDF_DFLTISR_SCDF; in HAL_MDF_IRQHandler()
3136 hmdf->ErrorCode |= MDF_ERROR_SHORT_CIRCUIT; in HAL_MDF_IRQHandler()
3140 hmdf->ErrorCallback(hmdf); in HAL_MDF_IRQHandler()
3142 HAL_MDF_ErrorCallback(hmdf); in HAL_MDF_IRQHandler()
3151 if ((hmdf->Instance->DFLTISR & (MDF_DFLTISR_THLF | MDF_DFLTISR_THHF)) == 0U) in HAL_MDF_IRQHandler()
3155 else if ((hmdf->Instance->DFLTISR & MDF_DFLTISR_THLF) == MDF_DFLTISR_THLF) in HAL_MDF_IRQHandler()
3165 hmdf->Instance->DFLTISR |= MDF_DFLTISR_OLDF; in HAL_MDF_IRQHandler()
3168 hmdf->ErrorCode |= MDF_ERROR_OUT_OFF_LIMIT; in HAL_MDF_IRQHandler()
3172 hmdf->OldCallback(hmdf, threshold_info); in HAL_MDF_IRQHandler()
3174 HAL_MDF_OldCallback(hmdf, threshold_info); in HAL_MDF_IRQHandler()
3181 hmdf->Instance->DFLTISR |= MDF_DFLTISR_SDDETF; in HAL_MDF_IRQHandler()
3185 hmdf->SadCallback(hmdf); in HAL_MDF_IRQHandler()
3187 HAL_MDF_SadCallback(hmdf); in HAL_MDF_IRQHandler()
3199 sound_level = hmdf->Instance->SADSDLVR; in HAL_MDF_IRQHandler()
3202 ambient_noise = hmdf->Instance->SADANLVR; in HAL_MDF_IRQHandler()
3205 hmdf->Instance->DFLTISR |= MDF_DFLTISR_SDLVLF; in HAL_MDF_IRQHandler()
3209 hmdf->SndLvCallback(hmdf, sound_level, ambient_noise); in HAL_MDF_IRQHandler()
3211 HAL_MDF_SndLvlCallback(hmdf, sound_level, ambient_noise); in HAL_MDF_IRQHandler()
3222 __weak void HAL_MDF_ErrorCallback(MDF_HandleTypeDef *hmdf) in HAL_MDF_ErrorCallback() argument
3225 UNUSED(hmdf); in HAL_MDF_ErrorCallback()
3236 HAL_MDF_StateTypeDef HAL_MDF_GetState(const MDF_HandleTypeDef *hmdf) in HAL_MDF_GetState() argument
3239 return hmdf->State; in HAL_MDF_GetState()
3247 uint32_t HAL_MDF_GetError(const MDF_HandleTypeDef *hmdf) in HAL_MDF_GetError() argument
3250 return hmdf->ErrorCode; in HAL_MDF_GetError()
3314 static void MDF_AcqStart(MDF_HandleTypeDef *const hmdf, const MDF_FilterConfigTypeDef *const pFilte… in MDF_AcqStart() argument
3325 hmdf->Instance->DFLTCR |= (pFilterConfig->AcquisitionMode | pFilterConfig->FifoThreshold | in MDF_AcqStart()
3331 if (IS_ADF_INSTANCE(hmdf->Instance)) in MDF_AcqStart()
3340 hmdf->Instance->DFLTCR |= (pFilterConfig->AcquisitionMode | pFilterConfig->FifoThreshold | in MDF_AcqStart()
3346 if (IS_MDF_INSTANCE(hmdf->Instance) && (pFilterConfig->AcquisitionMode == MDF_MODE_SYNC_SNAPSHOT)) in MDF_AcqStart()
3349 hmdf->Instance->DFLTCR |= pFilterConfig->SnapshotFormat; in MDF_AcqStart()
3353 if (IS_ADF_INSTANCE(hmdf->Instance)) in MDF_AcqStart()
3377 hmdf->Instance->DFLTCICR = (pFilterConfig->DataSource | pFilterConfig->CicMode | in MDF_AcqStart()
3383 hmdf->Instance->DLYCR = pFilterConfig->Delay; in MDF_AcqStart()
3386 if (IS_MDF_INSTANCE(hmdf->Instance)) in MDF_AcqStart()
3389 hmdf->Instance->OECCR = (uint32_t) pFilterConfig->Offset; in MDF_AcqStart()
3394 hmdf->Instance->DFLTRSFR = 0U; in MDF_AcqStart()
3399 hmdf->Instance->DFLTRSFR |= pFilterConfig->ReshapeFilter.DecimationRatio; in MDF_AcqStart()
3404 hmdf->Instance->DFLTRSFR |= MDF_DFLTRSFR_RSFLTBYP; in MDF_AcqStart()
3413 hmdf->Instance->DFLTRSFR |= pFilterConfig->HighPassFilter.CutOffFrequency; in MDF_AcqStart()
3418 hmdf->Instance->DFLTRSFR |= MDF_DFLTRSFR_HPFBYP; in MDF_AcqStart()
3422 if (IS_MDF_INSTANCE(hmdf->Instance)) in MDF_AcqStart()
3430hmdf->Instance->DFLTINTR = (((pFilterConfig->Integrator.Value - 1U) << MDF_DFLTINTR_INTVAL_Pos) | in MDF_AcqStart()
3436 hmdf->Instance->DFLTINTR = 0U; in MDF_AcqStart()
3440 if (IS_ADF_INSTANCE(hmdf->Instance)) in MDF_AcqStart()
3458hmdf->Instance->SADCR = (pFilterConfig->SoundActivity.Mode | pFilterConfig->SoundActivity.FrameSiz… in MDF_AcqStart()
3464hmdf->Instance->SADCR = (pFilterConfig->SoundActivity.Mode | pFilterConfig->SoundActivity.FrameSiz… in MDF_AcqStart()
3478hmdf->Instance->SADCFGR = ((pFilterConfig->SoundActivity.MinNoiseLevel << MDF_SADCFGR_ANMIN_Pos) | in MDF_AcqStart()
3486hmdf->Instance->SADCFGR = ((pFilterConfig->SoundActivity.MinNoiseLevel << MDF_SADCFGR_ANMIN_Pos) | in MDF_AcqStart()
3495 hmdf->Instance->SADCR = 0U; in MDF_AcqStart()
3496 hmdf->Instance->SADCFGR = 0U; in MDF_AcqStart()
3501 hmdf->State = HAL_MDF_STATE_ACQUISITION; in MDF_AcqStart()
3504 if ((IS_ADF_INSTANCE(hmdf->Instance)) && (pFilterConfig->SoundActivity.Activation == ENABLE)) in MDF_AcqStart()
3506 hmdf->Instance->SADCR |= MDF_SADCR_SADEN; in MDF_AcqStart()
3510 hmdf->Instance->DFLTCR |= MDF_DFLTCR_DFLTEN; in MDF_AcqStart()
3520 MDF_HandleTypeDef *hmdf = (MDF_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in MDF_DmaXferCpltCallback() local
3525 hmdf->State = HAL_MDF_STATE_READY; in MDF_DmaXferCpltCallback()
3529 hmdf->AcqCpltCallback(hmdf); in MDF_DmaXferCpltCallback()
3531 HAL_MDF_AcqCpltCallback(hmdf); in MDF_DmaXferCpltCallback()
3542 MDF_HandleTypeDef *hmdf = (MDF_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in MDF_DmaXferHalfCpltCallback() local
3545 hmdf->AcqHalfCpltCallback(hmdf); in MDF_DmaXferHalfCpltCallback()
3547 HAL_MDF_AcqHalfCpltCallback(hmdf); in MDF_DmaXferHalfCpltCallback()
3558 MDF_HandleTypeDef *hmdf = (MDF_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in MDF_DmaErrorCallback() local
3561 hmdf->ErrorCode |= MDF_ERROR_DMA; in MDF_DmaErrorCallback()
3564 hmdf->ErrorCallback(hmdf); in MDF_DmaErrorCallback()
3566 HAL_MDF_ErrorCallback(hmdf); in MDF_DmaErrorCallback()