Lines Matching refs:hadc

394 HAL_StatusTypeDef HAL_ADC_Init(ADC_HandleTypeDef *hadc)  in HAL_ADC_Init()  argument
403 if (hadc == NULL) in HAL_ADC_Init()
409 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Init()
410 assert_param(IS_ADC_CLOCKPRESCALER(hadc->Init.ClockPrescaler)); in HAL_ADC_Init()
411 assert_param(IS_ADC_RESOLUTION(hadc->Init.Resolution)); in HAL_ADC_Init()
413 assert_param(IS_ADC_DFSDMCFG_MODE(hadc)); in HAL_ADC_Init()
415 assert_param(IS_ADC_DATA_ALIGN(hadc->Init.DataAlign)); in HAL_ADC_Init()
416 assert_param(IS_ADC_SCAN_MODE(hadc->Init.ScanConvMode)); in HAL_ADC_Init()
417 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode)); in HAL_ADC_Init()
418 assert_param(IS_ADC_EXTTRIG_EDGE(hadc->Init.ExternalTrigConvEdge)); in HAL_ADC_Init()
419 assert_param(IS_ADC_EXTTRIG(hadc, hadc->Init.ExternalTrigConv)); in HAL_ADC_Init()
420 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.DMAContinuousRequests)); in HAL_ADC_Init()
421 assert_param(IS_ADC_EOC_SELECTION(hadc->Init.EOCSelection)); in HAL_ADC_Init()
422 assert_param(IS_ADC_OVERRUN(hadc->Init.Overrun)); in HAL_ADC_Init()
423 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.LowPowerAutoWait)); in HAL_ADC_Init()
424 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.OversamplingMode)); in HAL_ADC_Init()
426 if (hadc->Init.ScanConvMode != ADC_SCAN_DISABLE) in HAL_ADC_Init()
428 assert_param(IS_ADC_REGULAR_NB_CONV(hadc->Init.NbrOfConversion)); in HAL_ADC_Init()
429 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.DiscontinuousConvMode)); in HAL_ADC_Init()
431 if (hadc->Init.DiscontinuousConvMode == ENABLE) in HAL_ADC_Init()
433 assert_param(IS_ADC_REGULAR_DISCONT_NUMBER(hadc->Init.NbrOfDiscConversion)); in HAL_ADC_Init()
438 …assert_param(!((hadc->Init.DiscontinuousConvMode == ENABLE) && (hadc->Init.ContinuousConvMode == E… in HAL_ADC_Init()
442 if (hadc->State == HAL_ADC_STATE_RESET) in HAL_ADC_Init()
446hadc->ConvCpltCallback = HAL_ADC_ConvCpltCallback; /* Legacy weak cal… in HAL_ADC_Init()
447hadc->ConvHalfCpltCallback = HAL_ADC_ConvHalfCpltCallback; /* Legacy weak cal… in HAL_ADC_Init()
448hadc->LevelOutOfWindowCallback = HAL_ADC_LevelOutOfWindowCallback; /* Legacy weak cal… in HAL_ADC_Init()
449hadc->ErrorCallback = HAL_ADC_ErrorCallback; /* Legacy weak cal… in HAL_ADC_Init()
450hadc->InjectedConvCpltCallback = HAL_ADCEx_InjectedConvCpltCallback; /* Legacy weak cal… in HAL_ADC_Init()
451hadc->InjectedQueueOverflowCallback = HAL_ADCEx_InjectedQueueOverflowCallback; /* Legacy weak cal… in HAL_ADC_Init()
452hadc->LevelOutOfWindow2Callback = HAL_ADCEx_LevelOutOfWindow2Callback; /* Legacy weak cal… in HAL_ADC_Init()
453hadc->LevelOutOfWindow3Callback = HAL_ADCEx_LevelOutOfWindow3Callback; /* Legacy weak cal… in HAL_ADC_Init()
454hadc->EndOfSamplingCallback = HAL_ADCEx_EndOfSamplingCallback; /* Legacy weak cal… in HAL_ADC_Init()
456 if (hadc->MspInitCallback == NULL) in HAL_ADC_Init()
458 hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */ in HAL_ADC_Init()
462 hadc->MspInitCallback(hadc); in HAL_ADC_Init()
465 HAL_ADC_MspInit(hadc); in HAL_ADC_Init()
469 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Init()
472 hadc->Lock = HAL_UNLOCKED; in HAL_ADC_Init()
476 if (LL_ADC_IsDeepPowerDownEnabled(hadc->Instance) != 0UL) in HAL_ADC_Init()
479 LL_ADC_DisableDeepPowerDown(hadc->Instance); in HAL_ADC_Init()
486 if (LL_ADC_IsInternalRegulatorEnabled(hadc->Instance) == 0UL) in HAL_ADC_Init()
489 LL_ADC_EnableInternalRegulator(hadc->Instance); in HAL_ADC_Init()
504 if (LL_ADC_IsInternalRegulatorEnabled(hadc->Instance) == 0UL) in HAL_ADC_Init()
507 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in HAL_ADC_Init()
510 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in HAL_ADC_Init()
519 tmp_adc_is_conversion_on_going_regular = LL_ADC_REG_IsConversionOngoing(hadc->Instance); in HAL_ADC_Init()
521 if (((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) == 0UL) in HAL_ADC_Init()
526 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Init()
535 if (LL_ADC_IsEnabled(hadc->Instance) == 0UL) in HAL_ADC_Init()
537 if (__LL_ADC_IS_ENABLED_ALL_COMMON_INSTANCE(__LL_ADC_COMMON_INSTANCE(hadc->Instance)) == 0UL) in HAL_ADC_Init()
556 LL_ADC_SetCommonClock(__LL_ADC_COMMON_INSTANCE(hadc->Instance), hadc->Init.ClockPrescaler); in HAL_ADC_Init()
569 tmp_cfgr = (ADC_CFGR_CONTINUOUS((uint32_t)hadc->Init.ContinuousConvMode) | in HAL_ADC_Init()
570 hadc->Init.Overrun | in HAL_ADC_Init()
571 hadc->Init.DataAlign | in HAL_ADC_Init()
572 hadc->Init.Resolution | in HAL_ADC_Init()
573 ADC_CFGR_REG_DISCONTINUOUS((uint32_t)hadc->Init.DiscontinuousConvMode)); in HAL_ADC_Init()
575 if (hadc->Init.DiscontinuousConvMode == ENABLE) in HAL_ADC_Init()
577 tmp_cfgr |= ADC_CFGR_DISCONTINUOUS_NUM(hadc->Init.NbrOfDiscConversion); in HAL_ADC_Init()
585 if (hadc->Init.ExternalTrigConv != ADC_SOFTWARE_START) in HAL_ADC_Init()
587 tmp_cfgr |= ((hadc->Init.ExternalTrigConv & ADC_CFGR_EXTSEL) in HAL_ADC_Init()
588 | hadc->Init.ExternalTrigConvEdge in HAL_ADC_Init()
593 MODIFY_REG(hadc->Instance->CFGR, ADC_CFGR_FIELDS_1, tmp_cfgr); in HAL_ADC_Init()
601 tmp_adc_is_conversion_on_going_injected = LL_ADC_INJ_IsConversionOngoing(hadc->Instance); in HAL_ADC_Init()
606 tmp_cfgr = (ADC_CFGR_DFSDM(hadc) | in HAL_ADC_Init()
607 ADC_CFGR_AUTOWAIT((uint32_t)hadc->Init.LowPowerAutoWait) | in HAL_ADC_Init()
608 ADC_CFGR_DMACONTREQ((uint32_t)hadc->Init.DMAContinuousRequests)); in HAL_ADC_Init()
610 MODIFY_REG(hadc->Instance->CFGR, ADC_CFGR_FIELDS_2, tmp_cfgr); in HAL_ADC_Init()
612 if (hadc->Init.OversamplingMode == ENABLE) in HAL_ADC_Init()
614 assert_param(IS_ADC_OVERSAMPLING_RATIO(hadc->Init.Oversampling.Ratio)); in HAL_ADC_Init()
615 assert_param(IS_ADC_RIGHT_BIT_SHIFT(hadc->Init.Oversampling.RightBitShift)); in HAL_ADC_Init()
616 assert_param(IS_ADC_TRIGGERED_OVERSAMPLING_MODE(hadc->Init.Oversampling.TriggeredMode)); in HAL_ADC_Init()
617 assert_param(IS_ADC_REGOVERSAMPLING_MODE(hadc->Init.Oversampling.OversamplingStopReset)); in HAL_ADC_Init()
624 MODIFY_REG(hadc->Instance->CFGR2, in HAL_ADC_Init()
630 hadc->Init.Oversampling.Ratio | in HAL_ADC_Init()
631 hadc->Init.Oversampling.RightBitShift | in HAL_ADC_Init()
632 hadc->Init.Oversampling.TriggeredMode | in HAL_ADC_Init()
633 hadc->Init.Oversampling.OversamplingStopReset in HAL_ADC_Init()
639 CLEAR_BIT(hadc->Instance->CFGR2, ADC_CFGR2_ROVSE); in HAL_ADC_Init()
653 if (hadc->Init.ScanConvMode == ADC_SCAN_ENABLE) in HAL_ADC_Init()
656 MODIFY_REG(hadc->Instance->SQR1, ADC_SQR1_L, (hadc->Init.NbrOfConversion - (uint8_t)1)); in HAL_ADC_Init()
660 CLEAR_BIT(hadc->Instance->SQR1, ADC_SQR1_L); in HAL_ADC_Init()
665 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_BUSY_INTERNAL, HAL_ADC_STATE_READY); in HAL_ADC_Init()
670 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in HAL_ADC_Init()
697 HAL_StatusTypeDef HAL_ADC_DeInit(ADC_HandleTypeDef *hadc) in HAL_ADC_DeInit() argument
702 if (hadc == NULL) in HAL_ADC_DeInit()
708 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_DeInit()
711 SET_BIT(hadc->State, HAL_ADC_STATE_BUSY_INTERNAL); in HAL_ADC_DeInit()
714 tmp_hal_status = ADC_ConversionStop(hadc, ADC_REGULAR_INJECTED_GROUP); in HAL_ADC_DeInit()
722 SET_BIT(hadc->Instance->CFGR, ADC_CFGR_JQM); in HAL_ADC_DeInit()
728 tmp_hal_status = ADC_Disable(hadc); in HAL_ADC_DeInit()
734 hadc->State = HAL_ADC_STATE_READY; in HAL_ADC_DeInit()
746 __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_AWD3 | ADC_IT_AWD2 | ADC_IT_AWD1 | in HAL_ADC_DeInit()
753 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_AWD3 | ADC_FLAG_AWD2 | ADC_FLAG_AWD1 | in HAL_ADC_DeInit()
764 CLEAR_BIT(hadc->Instance->CR, ADC_CR_ADVREGEN | ADC_CR_ADCALDIF); in HAL_ADC_DeInit()
765 SET_BIT(hadc->Instance->CR, ADC_CR_DEEPPWD); in HAL_ADC_DeInit()
768 CLEAR_BIT(hadc->Instance->CFGR, ADC_CFGR_FIELDS); in HAL_ADC_DeInit()
769 SET_BIT(hadc->Instance->CFGR, ADC_CFGR_JQDIS); in HAL_ADC_DeInit()
772 CLEAR_BIT(hadc->Instance->CFGR2, ADC_CFGR2_ROVSM | ADC_CFGR2_TROVS | ADC_CFGR2_OVSS | in HAL_ADC_DeInit()
776 CLEAR_BIT(hadc->Instance->SMPR1, ADC_SMPR1_FIELDS); in HAL_ADC_DeInit()
779 CLEAR_BIT(hadc->Instance->SMPR2, ADC_SMPR2_SMP18 | ADC_SMPR2_SMP17 | ADC_SMPR2_SMP16 | in HAL_ADC_DeInit()
784 CLEAR_BIT(hadc->Instance->TR1, ADC_TR1_HT1 | ADC_TR1_LT1); in HAL_ADC_DeInit()
787 CLEAR_BIT(hadc->Instance->TR2, ADC_TR2_HT2 | ADC_TR2_LT2); in HAL_ADC_DeInit()
790 CLEAR_BIT(hadc->Instance->TR3, ADC_TR3_HT3 | ADC_TR3_LT3); in HAL_ADC_DeInit()
793 CLEAR_BIT(hadc->Instance->SQR1, ADC_SQR1_SQ4 | ADC_SQR1_SQ3 | ADC_SQR1_SQ2 | in HAL_ADC_DeInit()
797 CLEAR_BIT(hadc->Instance->SQR2, ADC_SQR2_SQ9 | ADC_SQR2_SQ8 | ADC_SQR2_SQ7 | in HAL_ADC_DeInit()
801 CLEAR_BIT(hadc->Instance->SQR3, ADC_SQR3_SQ14 | ADC_SQR3_SQ13 | ADC_SQR3_SQ12 | in HAL_ADC_DeInit()
805 CLEAR_BIT(hadc->Instance->SQR4, ADC_SQR4_SQ16 | ADC_SQR4_SQ15); in HAL_ADC_DeInit()
813 CLEAR_BIT(hadc->Instance->OFR1, ADC_OFR1_OFFSET1_EN | ADC_OFR1_OFFSET1_CH | ADC_OFR1_OFFSET1); in HAL_ADC_DeInit()
815 CLEAR_BIT(hadc->Instance->OFR2, ADC_OFR2_OFFSET2_EN | ADC_OFR2_OFFSET2_CH | ADC_OFR2_OFFSET2); in HAL_ADC_DeInit()
817 CLEAR_BIT(hadc->Instance->OFR3, ADC_OFR3_OFFSET3_EN | ADC_OFR3_OFFSET3_CH | ADC_OFR3_OFFSET3); in HAL_ADC_DeInit()
819 CLEAR_BIT(hadc->Instance->OFR4, ADC_OFR4_OFFSET4_EN | ADC_OFR4_OFFSET4_CH | ADC_OFR4_OFFSET4); in HAL_ADC_DeInit()
825 CLEAR_BIT(hadc->Instance->AWD2CR, ADC_AWD2CR_AWD2CH); in HAL_ADC_DeInit()
828 CLEAR_BIT(hadc->Instance->AWD3CR, ADC_AWD3CR_AWD3CH); in HAL_ADC_DeInit()
831 CLEAR_BIT(hadc->Instance->DIFSEL, ADC_DIFSEL_DIFSEL); in HAL_ADC_DeInit()
834 CLEAR_BIT(hadc->Instance->CALFACT, ADC_CALFACT_CALFACT_D | ADC_CALFACT_CALFACT_S); in HAL_ADC_DeInit()
841 if (__LL_ADC_IS_ENABLED_ALL_COMMON_INSTANCE(__LL_ADC_COMMON_INSTANCE(hadc->Instance)) == 0UL) in HAL_ADC_DeInit()
850 ADC_CLEAR_COMMON_CONTROL_REGISTER(hadc); in HAL_ADC_DeInit()
861 if (hadc->MspDeInitCallback == NULL) in HAL_ADC_DeInit()
863 hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */ in HAL_ADC_DeInit()
867 hadc->MspDeInitCallback(hadc); in HAL_ADC_DeInit()
870 HAL_ADC_MspDeInit(hadc); in HAL_ADC_DeInit()
875 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_DeInit()
878 hadc->InjectionConfig.ContextQueue = 0; in HAL_ADC_DeInit()
879 hadc->InjectionConfig.ChannelCount = 0; in HAL_ADC_DeInit()
882 hadc->State = HAL_ADC_STATE_RESET; in HAL_ADC_DeInit()
885 __HAL_UNLOCK(hadc); in HAL_ADC_DeInit()
896 __weak void HAL_ADC_MspInit(ADC_HandleTypeDef *hadc) in HAL_ADC_MspInit() argument
899 UNUSED(hadc); in HAL_ADC_MspInit()
913 __weak void HAL_ADC_MspDeInit(ADC_HandleTypeDef *hadc) in HAL_ADC_MspDeInit() argument
916 UNUSED(hadc); in HAL_ADC_MspDeInit()
947 HAL_StatusTypeDef HAL_ADC_RegisterCallback(ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef Callb… in HAL_ADC_RegisterCallback() argument
955 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
960 if ((hadc->State & HAL_ADC_STATE_READY) != 0UL) in HAL_ADC_RegisterCallback()
965 hadc->ConvCpltCallback = pCallback; in HAL_ADC_RegisterCallback()
969 hadc->ConvHalfCpltCallback = pCallback; in HAL_ADC_RegisterCallback()
973 hadc->LevelOutOfWindowCallback = pCallback; in HAL_ADC_RegisterCallback()
977 hadc->ErrorCallback = pCallback; in HAL_ADC_RegisterCallback()
981 hadc->InjectedConvCpltCallback = pCallback; in HAL_ADC_RegisterCallback()
985 hadc->InjectedQueueOverflowCallback = pCallback; in HAL_ADC_RegisterCallback()
989 hadc->LevelOutOfWindow2Callback = pCallback; in HAL_ADC_RegisterCallback()
993 hadc->LevelOutOfWindow3Callback = pCallback; in HAL_ADC_RegisterCallback()
997 hadc->EndOfSamplingCallback = pCallback; in HAL_ADC_RegisterCallback()
1001 hadc->MspInitCallback = pCallback; in HAL_ADC_RegisterCallback()
1005 hadc->MspDeInitCallback = pCallback; in HAL_ADC_RegisterCallback()
1010 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
1017 else if (HAL_ADC_STATE_RESET == hadc->State) in HAL_ADC_RegisterCallback()
1022 hadc->MspInitCallback = pCallback; in HAL_ADC_RegisterCallback()
1026 hadc->MspDeInitCallback = pCallback; in HAL_ADC_RegisterCallback()
1031 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
1041 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
1072 HAL_StatusTypeDef HAL_ADC_UnRegisterCallback(ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef Cal… in HAL_ADC_UnRegisterCallback() argument
1076 if ((hadc->State & HAL_ADC_STATE_READY) != 0UL) in HAL_ADC_UnRegisterCallback()
1081 hadc->ConvCpltCallback = HAL_ADC_ConvCpltCallback; in HAL_ADC_UnRegisterCallback()
1085 hadc->ConvHalfCpltCallback = HAL_ADC_ConvHalfCpltCallback; in HAL_ADC_UnRegisterCallback()
1089 hadc->LevelOutOfWindowCallback = HAL_ADC_LevelOutOfWindowCallback; in HAL_ADC_UnRegisterCallback()
1093 hadc->ErrorCallback = HAL_ADC_ErrorCallback; in HAL_ADC_UnRegisterCallback()
1097 hadc->InjectedConvCpltCallback = HAL_ADCEx_InjectedConvCpltCallback; in HAL_ADC_UnRegisterCallback()
1101 hadc->InjectedQueueOverflowCallback = HAL_ADCEx_InjectedQueueOverflowCallback; in HAL_ADC_UnRegisterCallback()
1105 hadc->LevelOutOfWindow2Callback = HAL_ADCEx_LevelOutOfWindow2Callback; in HAL_ADC_UnRegisterCallback()
1109 hadc->LevelOutOfWindow3Callback = HAL_ADCEx_LevelOutOfWindow3Callback; in HAL_ADC_UnRegisterCallback()
1113 hadc->EndOfSamplingCallback = HAL_ADCEx_EndOfSamplingCallback; in HAL_ADC_UnRegisterCallback()
1117 hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */ in HAL_ADC_UnRegisterCallback()
1121 hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */ in HAL_ADC_UnRegisterCallback()
1126 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_UnRegisterCallback()
1133 else if (HAL_ADC_STATE_RESET == hadc->State) in HAL_ADC_UnRegisterCallback()
1138hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */ in HAL_ADC_UnRegisterCallback()
1142hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */ in HAL_ADC_UnRegisterCallback()
1147 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_UnRegisterCallback()
1157 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_UnRegisterCallback()
1203 HAL_StatusTypeDef HAL_ADC_Start(ADC_HandleTypeDef *hadc) in HAL_ADC_Start() argument
1208 uint32_t tmp_multimode_config = LL_ADC_GetMultimode(__LL_ADC_COMMON_INSTANCE(hadc->Instance)); in HAL_ADC_Start()
1212 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Start()
1215 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_Start()
1218 __HAL_LOCK(hadc); in HAL_ADC_Start()
1221 tmp_hal_status = ADC_Enable(hadc); in HAL_ADC_Start()
1229 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Start()
1237 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_Start()
1241 CLEAR_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); in HAL_ADC_Start()
1247 if (HAL_IS_BIT_SET(hadc->State, HAL_ADC_STATE_INJ_BUSY)) in HAL_ADC_Start()
1250 CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); in HAL_ADC_Start()
1255 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Start()
1260 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR)); in HAL_ADC_Start()
1265 __HAL_UNLOCK(hadc); in HAL_ADC_Start()
1276 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_Start()
1283 if (READ_BIT(hadc->Instance->CFGR, ADC_CFGR_JAUTO) != 0UL) in HAL_ADC_Start()
1285 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_Start()
1289 LL_ADC_REG_StartConversion(hadc->Instance); in HAL_ADC_Start()
1294 SET_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); in HAL_ADC_Start()
1297 tmpADC_Master = __LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance); in HAL_ADC_Start()
1300 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_Start()
1305 if (READ_BIT(hadc->Instance->CFGR, ADC_CFGR_JAUTO) != 0UL) in HAL_ADC_Start()
1307 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_Start()
1311 LL_ADC_REG_StartConversion(hadc->Instance); in HAL_ADC_Start()
1317 __HAL_UNLOCK(hadc); in HAL_ADC_Start()
1338 HAL_StatusTypeDef HAL_ADC_Stop(ADC_HandleTypeDef *hadc) in HAL_ADC_Stop() argument
1343 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Stop()
1346 __HAL_LOCK(hadc); in HAL_ADC_Stop()
1349 tmp_hal_status = ADC_ConversionStop(hadc, ADC_REGULAR_INJECTED_GROUP); in HAL_ADC_Stop()
1355 tmp_hal_status = ADC_Disable(hadc); in HAL_ADC_Stop()
1361 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Stop()
1368 __HAL_UNLOCK(hadc); in HAL_ADC_Stop()
1392 HAL_StatusTypeDef HAL_ADC_PollForConversion(ADC_HandleTypeDef *hadc, uint32_t Timeout) in HAL_ADC_PollForConversion() argument
1399 uint32_t tmp_multimode_config = LL_ADC_GetMultimode(__LL_ADC_COMMON_INSTANCE(hadc->Instance)); in HAL_ADC_PollForConversion()
1403 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_PollForConversion()
1406 if (hadc->Init.EOCSelection == ADC_EOC_SEQ_CONV) in HAL_ADC_PollForConversion()
1426 if (READ_BIT(hadc->Instance->CFGR, ADC_CFGR_DMAEN) != 0UL) in HAL_ADC_PollForConversion()
1428 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_PollForConversion()
1439 …if (LL_ADC_GetMultiDMATransfer(__LL_ADC_COMMON_INSTANCE(hadc->Instance)) != LL_ADC_MULTI_REG_DMA_E… in HAL_ADC_PollForConversion()
1441 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_PollForConversion()
1451 if (READ_BIT(hadc->Instance->CFGR, ADC_CFGR_DMAEN) != 0UL) in HAL_ADC_PollForConversion()
1453 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_PollForConversion()
1467 while ((hadc->Instance->ISR & tmp_Flag_End) == 0UL) in HAL_ADC_PollForConversion()
1475 if ((hadc->Instance->ISR & tmp_Flag_End) == 0UL) in HAL_ADC_PollForConversion()
1478 SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT); in HAL_ADC_PollForConversion()
1481 __HAL_UNLOCK(hadc); in HAL_ADC_PollForConversion()
1490 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); in HAL_ADC_PollForConversion()
1494 if ((LL_ADC_REG_IsTriggerSourceSWStart(hadc->Instance) != 0UL) in HAL_ADC_PollForConversion()
1495 && (hadc->Init.ContinuousConvMode == DISABLE) in HAL_ADC_PollForConversion()
1499 if (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS)) in HAL_ADC_PollForConversion()
1502 CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); in HAL_ADC_PollForConversion()
1504 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) == 0UL) in HAL_ADC_PollForConversion()
1506 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in HAL_ADC_PollForConversion()
1515 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_PollForConversion()
1522 tmp_cfgr = READ_REG(hadc->Instance->CFGR); in HAL_ADC_PollForConversion()
1527 tmpADC_Master = __LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance); in HAL_ADC_PollForConversion()
1532 tmp_cfgr = READ_REG(hadc->Instance->CFGR); in HAL_ADC_PollForConversion()
1538 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOS); in HAL_ADC_PollForConversion()
1547 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS)); in HAL_ADC_PollForConversion()
1578 HAL_StatusTypeDef HAL_ADC_PollForEvent(ADC_HandleTypeDef *hadc, uint32_t EventType, uint32_t Timeou… in HAL_ADC_PollForEvent() argument
1583 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_PollForEvent()
1590 while (__HAL_ADC_GET_FLAG(hadc, EventType) == 0UL) in HAL_ADC_PollForEvent()
1598 if (__HAL_ADC_GET_FLAG(hadc, EventType) == 0UL) in HAL_ADC_PollForEvent()
1601 SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT); in HAL_ADC_PollForEvent()
1604 __HAL_UNLOCK(hadc); in HAL_ADC_PollForEvent()
1617 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOSMP); in HAL_ADC_PollForEvent()
1620 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOSMP); in HAL_ADC_PollForEvent()
1636 SET_BIT(hadc->State, HAL_ADC_STATE_AWD1); in HAL_ADC_PollForEvent()
1639 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD1); in HAL_ADC_PollForEvent()
1646 SET_BIT(hadc->State, HAL_ADC_STATE_AWD2); in HAL_ADC_PollForEvent()
1649 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD2); in HAL_ADC_PollForEvent()
1656 SET_BIT(hadc->State, HAL_ADC_STATE_AWD3); in HAL_ADC_PollForEvent()
1659 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD3); in HAL_ADC_PollForEvent()
1666 SET_BIT(hadc->State, HAL_ADC_STATE_INJ_JQOVF); in HAL_ADC_PollForEvent()
1669 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_JQOVF); in HAL_ADC_PollForEvent()
1672 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_JQOVF); in HAL_ADC_PollForEvent()
1682 if (hadc->Init.Overrun == ADC_OVR_DATA_PRESERVED) in HAL_ADC_PollForEvent()
1685 SET_BIT(hadc->State, HAL_ADC_STATE_REG_OVR); in HAL_ADC_PollForEvent()
1688 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_OVR); in HAL_ADC_PollForEvent()
1695 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR); in HAL_ADC_PollForEvent()
1727 HAL_StatusTypeDef HAL_ADC_Start_IT(ADC_HandleTypeDef *hadc) in HAL_ADC_Start_IT() argument
1732 uint32_t tmp_multimode_config = LL_ADC_GetMultimode(__LL_ADC_COMMON_INSTANCE(hadc->Instance)); in HAL_ADC_Start_IT()
1736 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Start_IT()
1739 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_Start_IT()
1742 __HAL_LOCK(hadc); in HAL_ADC_Start_IT()
1745 tmp_hal_status = ADC_Enable(hadc); in HAL_ADC_Start_IT()
1753 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Start_IT()
1761 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_Start_IT()
1765 CLEAR_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); in HAL_ADC_Start_IT()
1771 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) != 0UL) in HAL_ADC_Start_IT()
1774 CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); in HAL_ADC_Start_IT()
1779 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Start_IT()
1784 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR)); in HAL_ADC_Start_IT()
1789 __HAL_UNLOCK(hadc); in HAL_ADC_Start_IT()
1792 __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_EOC | ADC_IT_EOS | ADC_IT_OVR)); in HAL_ADC_Start_IT()
1795 switch (hadc->Init.EOCSelection) in HAL_ADC_Start_IT()
1798 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_EOS); in HAL_ADC_Start_IT()
1802 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_EOC); in HAL_ADC_Start_IT()
1810 if (hadc->Init.Overrun == ADC_OVR_DATA_PRESERVED) in HAL_ADC_Start_IT()
1812 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_OVR); in HAL_ADC_Start_IT()
1824 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_Start_IT()
1831 if (READ_BIT(hadc->Instance->CFGR, ADC_CFGR_JAUTO) != 0UL) in HAL_ADC_Start_IT()
1833 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_Start_IT()
1839 switch (hadc->Init.EOCSelection) in HAL_ADC_Start_IT()
1842 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOC); in HAL_ADC_Start_IT()
1843 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_JEOS); in HAL_ADC_Start_IT()
1847 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOS); in HAL_ADC_Start_IT()
1848 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_JEOC); in HAL_ADC_Start_IT()
1854 LL_ADC_REG_StartConversion(hadc->Instance); in HAL_ADC_Start_IT()
1859 SET_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); in HAL_ADC_Start_IT()
1862 tmpADC_Master = __LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance); in HAL_ADC_Start_IT()
1867 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_Start_IT()
1869 switch (hadc->Init.EOCSelection) in HAL_ADC_Start_IT()
1872 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOC); in HAL_ADC_Start_IT()
1873 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_JEOS); in HAL_ADC_Start_IT()
1877 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOS); in HAL_ADC_Start_IT()
1878 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_JEOC); in HAL_ADC_Start_IT()
1885 if (READ_BIT(hadc->Instance->CFGR, ADC_CFGR_JAUTO) != 0UL) in HAL_ADC_Start_IT()
1887 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_Start_IT()
1893 switch (hadc->Init.EOCSelection) in HAL_ADC_Start_IT()
1896 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOC); in HAL_ADC_Start_IT()
1897 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_JEOS); in HAL_ADC_Start_IT()
1901 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOS); in HAL_ADC_Start_IT()
1902 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_JEOC); in HAL_ADC_Start_IT()
1908 LL_ADC_REG_StartConversion(hadc->Instance); in HAL_ADC_Start_IT()
1914 __HAL_UNLOCK(hadc); in HAL_ADC_Start_IT()
1934 HAL_StatusTypeDef HAL_ADC_Stop_IT(ADC_HandleTypeDef *hadc) in HAL_ADC_Stop_IT() argument
1939 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Stop_IT()
1942 __HAL_LOCK(hadc); in HAL_ADC_Stop_IT()
1945 tmp_hal_status = ADC_ConversionStop(hadc, ADC_REGULAR_INJECTED_GROUP); in HAL_ADC_Stop_IT()
1952 __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_EOC | ADC_IT_EOS | ADC_IT_OVR)); in HAL_ADC_Stop_IT()
1955 tmp_hal_status = ADC_Disable(hadc); in HAL_ADC_Stop_IT()
1961 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Stop_IT()
1968 __HAL_UNLOCK(hadc); in HAL_ADC_Stop_IT()
1987 HAL_StatusTypeDef HAL_ADC_Start_DMA(ADC_HandleTypeDef *hadc, uint32_t *pData, uint32_t Length) in HAL_ADC_Start_DMA() argument
1991 uint32_t tmp_multimode_config = LL_ADC_GetMultimode(__LL_ADC_COMMON_INSTANCE(hadc->Instance)); in HAL_ADC_Start_DMA()
1995 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Start_DMA()
1998 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_Start_DMA()
2001 __HAL_LOCK(hadc); in HAL_ADC_Start_DMA()
2013 tmp_hal_status = ADC_Enable(hadc); in HAL_ADC_Start_DMA()
2021 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Start_DMA()
2029 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_Start_DMA()
2033 CLEAR_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); in HAL_ADC_Start_DMA()
2038 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) != 0UL) in HAL_ADC_Start_DMA()
2041 CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); in HAL_ADC_Start_DMA()
2046 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Start_DMA()
2050 hadc->DMA_Handle->XferCpltCallback = ADC_DMAConvCplt; in HAL_ADC_Start_DMA()
2053 hadc->DMA_Handle->XferHalfCpltCallback = ADC_DMAHalfConvCplt; in HAL_ADC_Start_DMA()
2056 hadc->DMA_Handle->XferErrorCallback = ADC_DMAError; in HAL_ADC_Start_DMA()
2065 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR)); in HAL_ADC_Start_DMA()
2070 __HAL_UNLOCK(hadc); in HAL_ADC_Start_DMA()
2075 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_OVR); in HAL_ADC_Start_DMA()
2078 SET_BIT(hadc->Instance->CFGR, ADC_CFGR_DMAEN); in HAL_ADC_Start_DMA()
2081 …tmp_hal_status = HAL_DMA_Start_IT(hadc->DMA_Handle, (uint32_t)&hadc->Instance->DR, (uint32_t)pData… in HAL_ADC_Start_DMA()
2088 LL_ADC_REG_StartConversion(hadc->Instance); in HAL_ADC_Start_DMA()
2093 __HAL_UNLOCK(hadc); in HAL_ADC_Start_DMA()
2102 __HAL_UNLOCK(hadc); in HAL_ADC_Start_DMA()
2128 HAL_StatusTypeDef HAL_ADC_Stop_DMA(ADC_HandleTypeDef *hadc) in HAL_ADC_Stop_DMA() argument
2133 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Stop_DMA()
2136 __HAL_LOCK(hadc); in HAL_ADC_Stop_DMA()
2139 tmp_hal_status = ADC_ConversionStop(hadc, ADC_REGULAR_INJECTED_GROUP); in HAL_ADC_Stop_DMA()
2145 CLEAR_BIT(hadc->Instance->CFGR, ADC_CFGR_DMAEN); in HAL_ADC_Stop_DMA()
2149 if (hadc->DMA_Handle->State == HAL_DMA_STATE_BUSY) in HAL_ADC_Stop_DMA()
2151 tmp_hal_status = HAL_DMA_Abort(hadc->DMA_Handle); in HAL_ADC_Stop_DMA()
2157 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA); in HAL_ADC_Stop_DMA()
2162 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_OVR); in HAL_ADC_Stop_DMA()
2169 tmp_hal_status = ADC_Disable(hadc); in HAL_ADC_Stop_DMA()
2173 (void)ADC_Disable(hadc); in HAL_ADC_Stop_DMA()
2180 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Stop_DMA()
2188 __HAL_UNLOCK(hadc); in HAL_ADC_Stop_DMA()
2213 uint32_t HAL_ADC_GetValue(const ADC_HandleTypeDef *hadc) in HAL_ADC_GetValue() argument
2216 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_GetValue()
2222 return hadc->Instance->DR; in HAL_ADC_GetValue()
2230 void HAL_ADC_IRQHandler(ADC_HandleTypeDef *hadc) in HAL_ADC_IRQHandler() argument
2233 uint32_t tmp_isr = hadc->Instance->ISR; in HAL_ADC_IRQHandler()
2234 uint32_t tmp_ier = hadc->Instance->IER; in HAL_ADC_IRQHandler()
2240 uint32_t tmp_multimode_config = LL_ADC_GetMultimode(__LL_ADC_COMMON_INSTANCE(hadc->Instance)); in HAL_ADC_IRQHandler()
2244 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_IRQHandler()
2245 assert_param(IS_ADC_EOC_SELECTION(hadc->Init.EOCSelection)); in HAL_ADC_IRQHandler()
2251 if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) == 0UL) in HAL_ADC_IRQHandler()
2254 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOSMP); in HAL_ADC_IRQHandler()
2259 hadc->EndOfSamplingCallback(hadc); in HAL_ADC_IRQHandler()
2261 HAL_ADCEx_EndOfSamplingCallback(hadc); in HAL_ADC_IRQHandler()
2265 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOSMP); in HAL_ADC_IRQHandler()
2273 if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) == 0UL) in HAL_ADC_IRQHandler()
2276 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); in HAL_ADC_IRQHandler()
2282 if (LL_ADC_REG_IsTriggerSourceSWStart(hadc->Instance) != 0UL) in HAL_ADC_IRQHandler()
2288 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_IRQHandler()
2295 tmp_cfgr = READ_REG(hadc->Instance->CFGR); in HAL_ADC_IRQHandler()
2300 tmpADC_Master = __LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance); in HAL_ADC_IRQHandler()
2304 tmp_cfgr = READ_REG(hadc->Instance->CFGR); in HAL_ADC_IRQHandler()
2311 if (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS)) in HAL_ADC_IRQHandler()
2315 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_IRQHandler()
2321 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC | ADC_IT_EOS); in HAL_ADC_IRQHandler()
2324 CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); in HAL_ADC_IRQHandler()
2326 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) == 0UL) in HAL_ADC_IRQHandler()
2328 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in HAL_ADC_IRQHandler()
2334 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in HAL_ADC_IRQHandler()
2337 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in HAL_ADC_IRQHandler()
2349 hadc->ConvCpltCallback(hadc); in HAL_ADC_IRQHandler()
2351 HAL_ADC_ConvCpltCallback(hadc); in HAL_ADC_IRQHandler()
2359 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS)); in HAL_ADC_IRQHandler()
2367 if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) == 0UL) in HAL_ADC_IRQHandler()
2370 SET_BIT(hadc->State, HAL_ADC_STATE_INJ_EOC); in HAL_ADC_IRQHandler()
2374 tmp_adc_inj_is_trigger_source_sw_start = LL_ADC_INJ_IsTriggerSourceSWStart(hadc->Instance); in HAL_ADC_IRQHandler()
2375 tmp_adc_reg_is_trigger_source_sw_start = LL_ADC_REG_IsTriggerSourceSWStart(hadc->Instance); in HAL_ADC_IRQHandler()
2380 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_IRQHandler()
2386 tmp_cfgr = READ_REG(hadc->Instance->CFGR); in HAL_ADC_IRQHandler()
2390 tmpADC_Master = __LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance); in HAL_ADC_IRQHandler()
2394 tmp_cfgr = READ_REG(hadc->Instance->CFGR); in HAL_ADC_IRQHandler()
2409 if (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_JEOS)) in HAL_ADC_IRQHandler()
2421 if (LL_ADC_INJ_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_IRQHandler()
2424 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOC | ADC_IT_JEOS); in HAL_ADC_IRQHandler()
2427 CLEAR_BIT(hadc->State, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_IRQHandler()
2429 if ((hadc->State & HAL_ADC_STATE_REG_BUSY) == 0UL) in HAL_ADC_IRQHandler()
2431 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in HAL_ADC_IRQHandler()
2437 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in HAL_ADC_IRQHandler()
2440 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in HAL_ADC_IRQHandler()
2454 hadc->InjectedConvCpltCallback(hadc); in HAL_ADC_IRQHandler()
2456 HAL_ADCEx_InjectedConvCpltCallback(hadc); in HAL_ADC_IRQHandler()
2460 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_JEOC | ADC_FLAG_JEOS); in HAL_ADC_IRQHandler()
2467 SET_BIT(hadc->State, HAL_ADC_STATE_AWD1); in HAL_ADC_IRQHandler()
2471 hadc->LevelOutOfWindowCallback(hadc); in HAL_ADC_IRQHandler()
2473 HAL_ADC_LevelOutOfWindowCallback(hadc); in HAL_ADC_IRQHandler()
2477 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD1); in HAL_ADC_IRQHandler()
2484 SET_BIT(hadc->State, HAL_ADC_STATE_AWD2); in HAL_ADC_IRQHandler()
2488 hadc->LevelOutOfWindow2Callback(hadc); in HAL_ADC_IRQHandler()
2490 HAL_ADCEx_LevelOutOfWindow2Callback(hadc); in HAL_ADC_IRQHandler()
2494 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD2); in HAL_ADC_IRQHandler()
2501 SET_BIT(hadc->State, HAL_ADC_STATE_AWD3); in HAL_ADC_IRQHandler()
2505 hadc->LevelOutOfWindow3Callback(hadc); in HAL_ADC_IRQHandler()
2507 HAL_ADCEx_LevelOutOfWindow3Callback(hadc); in HAL_ADC_IRQHandler()
2511 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD3); in HAL_ADC_IRQHandler()
2523 if (hadc->Init.Overrun == ADC_OVR_DATA_PRESERVED) in HAL_ADC_IRQHandler()
2535 …if (LL_ADC_GetMultiDMATransfer(__LL_ADC_COMMON_INSTANCE(hadc->Instance)) != LL_ADC_MULTI_REG_DMA_E… in HAL_ADC_IRQHandler()
2544 if ((hadc->Instance->CFGR & ADC_CFGR_DMAEN) != 0UL) in HAL_ADC_IRQHandler()
2554 SET_BIT(hadc->State, HAL_ADC_STATE_REG_OVR); in HAL_ADC_IRQHandler()
2557 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_OVR); in HAL_ADC_IRQHandler()
2565 hadc->ErrorCallback(hadc); in HAL_ADC_IRQHandler()
2567 HAL_ADC_ErrorCallback(hadc); in HAL_ADC_IRQHandler()
2572 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR); in HAL_ADC_IRQHandler()
2579 SET_BIT(hadc->State, HAL_ADC_STATE_INJ_JQOVF); in HAL_ADC_IRQHandler()
2582 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_JQOVF); in HAL_ADC_IRQHandler()
2585 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_JQOVF); in HAL_ADC_IRQHandler()
2589 hadc->InjectedQueueOverflowCallback(hadc); in HAL_ADC_IRQHandler()
2591 HAL_ADCEx_InjectedQueueOverflowCallback(hadc); in HAL_ADC_IRQHandler()
2602 __weak void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc) in HAL_ADC_ConvCpltCallback() argument
2605 UNUSED(hadc); in HAL_ADC_ConvCpltCallback()
2617 __weak void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef *hadc) in HAL_ADC_ConvHalfCpltCallback() argument
2620 UNUSED(hadc); in HAL_ADC_ConvHalfCpltCallback()
2632 __weak void HAL_ADC_LevelOutOfWindowCallback(ADC_HandleTypeDef *hadc) in HAL_ADC_LevelOutOfWindowCallback() argument
2635 UNUSED(hadc); in HAL_ADC_LevelOutOfWindowCallback()
2654 __weak void HAL_ADC_ErrorCallback(ADC_HandleTypeDef *hadc) in HAL_ADC_ErrorCallback() argument
2657 UNUSED(hadc); in HAL_ADC_ErrorCallback()
2700 HAL_StatusTypeDef HAL_ADC_ConfigChannel(ADC_HandleTypeDef *hadc, const ADC_ChannelConfTypeDef *pCon… in HAL_ADC_ConfigChannel() argument
2710 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_ConfigChannel()
2715 assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), pConfig->Offset)); in HAL_ADC_ConfigChannel()
2719 …assert_param(!((pConfig->OffsetNumber != ADC_OFFSET_NONE) && (hadc->Init.OversamplingMode == ENABL… in HAL_ADC_ConfigChannel()
2724 assert_param(IS_ADC_CHANNEL(hadc, pConfig->Channel)); in HAL_ADC_ConfigChannel()
2728 assert_param(IS_ADC_DIFF_CHANNEL(hadc, pConfig->Channel)); in HAL_ADC_ConfigChannel()
2732 __HAL_LOCK(hadc); in HAL_ADC_ConfigChannel()
2739 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_ConfigChannel()
2742 LL_ADC_REG_SetSequencerRanks(hadc->Instance, pConfig->Rank, pConfig->Channel); in HAL_ADC_ConfigChannel()
2749 tmp_adc_is_conversion_on_going_regular = LL_ADC_REG_IsConversionOngoing(hadc->Instance); in HAL_ADC_ConfigChannel()
2750 tmp_adc_is_conversion_on_going_injected = LL_ADC_INJ_IsConversionOngoing(hadc->Instance); in HAL_ADC_ConfigChannel()
2759 … LL_ADC_SetChannelSamplingTime(hadc->Instance, pConfig->Channel, LL_ADC_SAMPLINGTIME_2CYCLES_5); in HAL_ADC_ConfigChannel()
2762 LL_ADC_SetSamplingTimeCommonConfig(hadc->Instance, LL_ADC_SAMPLINGTIME_COMMON_3C5_REPL_2C5); in HAL_ADC_ConfigChannel()
2767 LL_ADC_SetChannelSamplingTime(hadc->Instance, pConfig->Channel, pConfig->SamplingTime); in HAL_ADC_ConfigChannel()
2770 LL_ADC_SetSamplingTimeCommonConfig(hadc->Instance, LL_ADC_SAMPLINGTIME_COMMON_DEFAULT); in HAL_ADC_ConfigChannel()
2777 tmpOffsetShifted = ADC_OFFSET_SHIFT_RESOLUTION(hadc, (uint32_t)pConfig->Offset); in HAL_ADC_ConfigChannel()
2782 LL_ADC_SetOffset(hadc->Instance, pConfig->OffsetNumber, pConfig->Channel, tmpOffsetShifted); in HAL_ADC_ConfigChannel()
2789 if (__LL_ADC_CHANNEL_TO_DECIMAL_NB(LL_ADC_GetOffsetChannel(hadc->Instance, LL_ADC_OFFSET_1)) in HAL_ADC_ConfigChannel()
2792 LL_ADC_SetOffsetState(hadc->Instance, LL_ADC_OFFSET_1, LL_ADC_OFFSET_DISABLE); in HAL_ADC_ConfigChannel()
2794 if (__LL_ADC_CHANNEL_TO_DECIMAL_NB(LL_ADC_GetOffsetChannel(hadc->Instance, LL_ADC_OFFSET_2)) in HAL_ADC_ConfigChannel()
2797 LL_ADC_SetOffsetState(hadc->Instance, LL_ADC_OFFSET_2, LL_ADC_OFFSET_DISABLE); in HAL_ADC_ConfigChannel()
2799 if (__LL_ADC_CHANNEL_TO_DECIMAL_NB(LL_ADC_GetOffsetChannel(hadc->Instance, LL_ADC_OFFSET_3)) in HAL_ADC_ConfigChannel()
2802 LL_ADC_SetOffsetState(hadc->Instance, LL_ADC_OFFSET_3, LL_ADC_OFFSET_DISABLE); in HAL_ADC_ConfigChannel()
2804 if (__LL_ADC_CHANNEL_TO_DECIMAL_NB(LL_ADC_GetOffsetChannel(hadc->Instance, LL_ADC_OFFSET_4)) in HAL_ADC_ConfigChannel()
2807 LL_ADC_SetOffsetState(hadc->Instance, LL_ADC_OFFSET_4, LL_ADC_OFFSET_DISABLE); in HAL_ADC_ConfigChannel()
2816 if (LL_ADC_IsEnabled(hadc->Instance) == 0UL) in HAL_ADC_ConfigChannel()
2819 LL_ADC_SetChannelSingleDiff(hadc->Instance, pConfig->Channel, pConfig->SingleDiff); in HAL_ADC_ConfigChannel()
2826 LL_ADC_SetChannelSamplingTime(hadc->Instance, in HAL_ADC_ConfigChannel()
2843 …tmp_config_internal_channel = LL_ADC_GetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instan… in HAL_ADC_ConfigChannel()
2847 … if (__LL_ADC_IS_ENABLED_ALL_COMMON_INSTANCE(__LL_ADC_COMMON_INSTANCE(hadc->Instance)) == 0UL) in HAL_ADC_ConfigChannel()
2854 if (ADC_TEMPERATURE_SENSOR_INSTANCE(hadc)) in HAL_ADC_ConfigChannel()
2856 LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), in HAL_ADC_ConfigChannel()
2875 if (ADC_BATTERY_VOLTAGE_INSTANCE(hadc)) in HAL_ADC_ConfigChannel()
2877 LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), in HAL_ADC_ConfigChannel()
2884 if (ADC_VREFINT_INSTANCE(hadc)) in HAL_ADC_ConfigChannel()
2886 LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), in HAL_ADC_ConfigChannel()
2901 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_ConfigChannel()
2915 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_ConfigChannel()
2921 __HAL_UNLOCK(hadc); in HAL_ADC_ConfigChannel()
2943 HAL_StatusTypeDef HAL_ADC_AnalogWDGConfig(ADC_HandleTypeDef *hadc, const ADC_AnalogWDGConfTypeDef *… in HAL_ADC_AnalogWDGConfig() argument
2952 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_AnalogWDGConfig()
2961 assert_param(IS_ADC_CHANNEL(hadc, pAnalogWDGConfig->Channel)); in HAL_ADC_AnalogWDGConfig()
2965 if (hadc->Init.OversamplingMode == ENABLE) in HAL_ADC_AnalogWDGConfig()
2976 assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), pAnalogWDGConfig->HighThreshold)); in HAL_ADC_AnalogWDGConfig()
2977 assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), pAnalogWDGConfig->LowThreshold)); in HAL_ADC_AnalogWDGConfig()
2981 __HAL_LOCK(hadc); in HAL_ADC_AnalogWDGConfig()
2988 tmp_adc_is_conversion_on_going_regular = LL_ADC_REG_IsConversionOngoing(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
2989 tmp_adc_is_conversion_on_going_injected = LL_ADC_INJ_IsConversionOngoing(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3003 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, in HAL_ADC_AnalogWDGConfig()
3009 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, in HAL_ADC_AnalogWDGConfig()
3015 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, in HAL_ADC_AnalogWDGConfig()
3021 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, LL_ADC_AWD_ALL_CHANNELS_REG); in HAL_ADC_AnalogWDGConfig()
3025 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, LL_ADC_AWD_ALL_CHANNELS_INJ); in HAL_ADC_AnalogWDGConfig()
3029 … LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, LL_ADC_AWD_ALL_CHANNELS_REG_INJ); in HAL_ADC_AnalogWDGConfig()
3033 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, LL_ADC_AWD_DISABLE); in HAL_ADC_AnalogWDGConfig()
3040 …tmp_awd_high_threshold_shifted = ADC_AWD1THRESHOLD_SHIFT_RESOLUTION(hadc, pAnalogWDGConfig->HighTh… in HAL_ADC_AnalogWDGConfig()
3041 …tmp_awd_low_threshold_shifted = ADC_AWD1THRESHOLD_SHIFT_RESOLUTION(hadc, pAnalogWDGConfig->LowThr… in HAL_ADC_AnalogWDGConfig()
3044 …LL_ADC_ConfigAnalogWDThresholds(hadc->Instance, pAnalogWDGConfig->WatchdogNumber, tmp_awd_high_thr… in HAL_ADC_AnalogWDGConfig()
3048 CLEAR_BIT(hadc->State, HAL_ADC_STATE_AWD1); in HAL_ADC_AnalogWDGConfig()
3054 LL_ADC_ClearFlag_AWD1(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3059 LL_ADC_EnableIT_AWD1(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3063 LL_ADC_DisableIT_AWD1(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3078 SET_BIT(hadc->Instance->AWD2CR, in HAL_ADC_AnalogWDGConfig()
3083 SET_BIT(hadc->Instance->AWD3CR, in HAL_ADC_AnalogWDGConfig()
3091 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, in HAL_ADC_AnalogWDGConfig()
3096 …LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, pAnalogWDGConfig->WatchdogNumber, LL_ADC_AWD_DISAB… in HAL_ADC_AnalogWDGConfig()
3102 …tmp_awd_high_threshold_shifted = ADC_AWD23THRESHOLD_SHIFT_RESOLUTION(hadc, pAnalogWDGConfig->HighT… in HAL_ADC_AnalogWDGConfig()
3103 …tmp_awd_low_threshold_shifted = ADC_AWD23THRESHOLD_SHIFT_RESOLUTION(hadc, pAnalogWDGConfig->LowTh… in HAL_ADC_AnalogWDGConfig()
3106 …LL_ADC_ConfigAnalogWDThresholds(hadc->Instance, pAnalogWDGConfig->WatchdogNumber, tmp_awd_high_thr… in HAL_ADC_AnalogWDGConfig()
3112 CLEAR_BIT(hadc->State, HAL_ADC_STATE_AWD2); in HAL_ADC_AnalogWDGConfig()
3118 LL_ADC_ClearFlag_AWD2(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3123 LL_ADC_EnableIT_AWD2(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3127 LL_ADC_DisableIT_AWD2(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3134 CLEAR_BIT(hadc->State, HAL_ADC_STATE_AWD3); in HAL_ADC_AnalogWDGConfig()
3140 LL_ADC_ClearFlag_AWD3(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3145 LL_ADC_EnableIT_AWD3(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3149 LL_ADC_DisableIT_AWD3(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3160 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_AnalogWDGConfig()
3165 __HAL_UNLOCK(hadc); in HAL_ADC_AnalogWDGConfig()
3203 uint32_t HAL_ADC_GetState(const ADC_HandleTypeDef *hadc) in HAL_ADC_GetState() argument
3206 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_GetState()
3209 return hadc->State; in HAL_ADC_GetState()
3217 uint32_t HAL_ADC_GetError(const ADC_HandleTypeDef *hadc) in HAL_ADC_GetError() argument
3220 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_GetError()
3222 return hadc->ErrorCode; in HAL_ADC_GetError()
3247 HAL_StatusTypeDef ADC_ConversionStop(ADC_HandleTypeDef *hadc, uint32_t ConversionGroup) in ADC_ConversionStop() argument
3257 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in ADC_ConversionStop()
3262 tmp_adc_is_conversion_on_going_regular = LL_ADC_REG_IsConversionOngoing(hadc->Instance); in ADC_ConversionStop()
3263 tmp_adc_is_conversion_on_going_injected = LL_ADC_INJ_IsConversionOngoing(hadc->Instance); in ADC_ConversionStop()
3274 if (((hadc->Instance->CFGR & ADC_CFGR_JAUTO) != 0UL) in ADC_ConversionStop()
3275 && (hadc->Init.ContinuousConvMode == ENABLE) in ADC_ConversionStop()
3276 && (hadc->Init.LowPowerAutoWait == ENABLE) in ADC_ConversionStop()
3283 while (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_JEOS) == 0UL) in ADC_ConversionStop()
3288 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_ConversionStop()
3291 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_ConversionStop()
3299 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_JEOS); in ADC_ConversionStop()
3306 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) != 0UL) in ADC_ConversionStop()
3308 if (LL_ADC_IsDisableOngoing(hadc->Instance) == 0UL) in ADC_ConversionStop()
3311 LL_ADC_REG_StopConversion(hadc->Instance); in ADC_ConversionStop()
3320 if (LL_ADC_INJ_IsConversionOngoing(hadc->Instance) != 0UL) in ADC_ConversionStop()
3322 if (LL_ADC_IsDisableOngoing(hadc->Instance) == 0UL) in ADC_ConversionStop()
3325 LL_ADC_INJ_StopConversion(hadc->Instance); in ADC_ConversionStop()
3348 while ((hadc->Instance->CR & tmp_ADC_CR_ADSTART_JADSTART) != 0UL) in ADC_ConversionStop()
3353 if ((hadc->Instance->CR & tmp_ADC_CR_ADSTART_JADSTART) != 0UL) in ADC_ConversionStop()
3356 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_ConversionStop()
3359 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_ConversionStop()
3379 HAL_StatusTypeDef ADC_Enable(ADC_HandleTypeDef *hadc) in ADC_Enable() argument
3388 if (LL_ADC_IsEnabled(hadc->Instance) == 0UL) in ADC_Enable()
3391 …if ((hadc->Instance->CR & (ADC_CR_ADCAL | ADC_CR_JADSTP | ADC_CR_ADSTP | ADC_CR_JADSTART | ADC_CR_… in ADC_Enable()
3395 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_Enable()
3398 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_Enable()
3404 LL_ADC_Enable(hadc->Instance); in ADC_Enable()
3406 if ((LL_ADC_GetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance)) in ADC_Enable()
3429 while (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_RDY) == 0UL) in ADC_Enable()
3439 if (LL_ADC_IsEnabled(hadc->Instance) == 0UL) in ADC_Enable()
3441 LL_ADC_Enable(hadc->Instance); in ADC_Enable()
3447 if (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_RDY) == 0UL) in ADC_Enable()
3450 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_Enable()
3453 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_Enable()
3472 HAL_StatusTypeDef ADC_Disable(ADC_HandleTypeDef *hadc) in ADC_Disable() argument
3475 const uint32_t tmp_adc_is_disable_on_going = LL_ADC_IsDisableOngoing(hadc->Instance); in ADC_Disable()
3480 if ((LL_ADC_IsEnabled(hadc->Instance) != 0UL) in ADC_Disable()
3485 if ((hadc->Instance->CR & (ADC_CR_JADSTART | ADC_CR_ADSTART | ADC_CR_ADEN)) == ADC_CR_ADEN) in ADC_Disable()
3488 LL_ADC_Disable(hadc->Instance); in ADC_Disable()
3489 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOSMP | ADC_FLAG_RDY)); in ADC_Disable()
3494 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_Disable()
3497 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_Disable()
3506 while ((hadc->Instance->CR & ADC_CR_ADEN) != 0UL) in ADC_Disable()
3511 if ((hadc->Instance->CR & ADC_CR_ADEN) != 0UL) in ADC_Disable()
3514 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_Disable()
3517 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_Disable()
3537 ADC_HandleTypeDef *hadc = (ADC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in ADC_DMAConvCplt() local
3540 if ((hadc->State & (HAL_ADC_STATE_ERROR_INTERNAL | HAL_ADC_STATE_ERROR_DMA)) == 0UL) in ADC_DMAConvCplt()
3543 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); in ADC_DMAConvCplt()
3549 if ((hadc->Instance->ISR & ADC_FLAG_EOS) != 0UL) in ADC_DMAConvCplt()
3552 if (LL_ADC_REG_IsTriggerSourceSWStart(hadc->Instance) != 0UL) in ADC_DMAConvCplt()
3555 if (READ_BIT(hadc->Instance->CFGR, ADC_CFGR_CONT) == 0UL) in ADC_DMAConvCplt()
3558 CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); in ADC_DMAConvCplt()
3559 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) == 0UL) in ADC_DMAConvCplt()
3561 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in ADC_DMAConvCplt()
3570 if (READ_BIT(hadc->Instance->CFGR, ADC_CFGR_DMACFG) == 0UL) in ADC_DMAConvCplt()
3573 CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); in ADC_DMAConvCplt()
3574 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) == 0UL) in ADC_DMAConvCplt()
3576 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in ADC_DMAConvCplt()
3583 hadc->ConvCpltCallback(hadc); in ADC_DMAConvCplt()
3585 HAL_ADC_ConvCpltCallback(hadc); in ADC_DMAConvCplt()
3590 if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) != 0UL) in ADC_DMAConvCplt()
3594 hadc->ErrorCallback(hadc); in ADC_DMAConvCplt()
3596 HAL_ADC_ErrorCallback(hadc); in ADC_DMAConvCplt()
3602 hadc->DMA_Handle->XferErrorCallback(hdma); in ADC_DMAConvCplt()
3615 ADC_HandleTypeDef *hadc = (ADC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in ADC_DMAHalfConvCplt() local
3619 hadc->ConvHalfCpltCallback(hadc); in ADC_DMAHalfConvCplt()
3621 HAL_ADC_ConvHalfCpltCallback(hadc); in ADC_DMAHalfConvCplt()
3633 ADC_HandleTypeDef *hadc = (ADC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in ADC_DMAError() local
3636 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA); in ADC_DMAError()
3639 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_DMA); in ADC_DMAError()
3643 hadc->ErrorCallback(hadc); in ADC_DMAError()
3645 HAL_ADC_ErrorCallback(hadc); in ADC_DMAError()