Lines Matching refs:hadc

396 HAL_StatusTypeDef HAL_ADC_Init(ADC_HandleTypeDef *hadc)  in HAL_ADC_Init()  argument
405 if (hadc == NULL) in HAL_ADC_Init()
411 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Init()
412 assert_param(IS_ADC_CLOCKPRESCALER(hadc->Init.ClockPrescaler)); in HAL_ADC_Init()
413 assert_param(IS_ADC_RESOLUTION(hadc->Init.Resolution)); in HAL_ADC_Init()
414 assert_param(IS_ADC_DATA_ALIGN(hadc->Init.DataAlign)); in HAL_ADC_Init()
415 assert_param(IS_ADC_GAIN_COMPENSATION(hadc->Init.GainCompensation)); 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_ADC_SAMPLINGMODE(hadc->Init.SamplingMode)); in HAL_ADC_Init()
421 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.DMAContinuousRequests)); in HAL_ADC_Init()
422 assert_param(IS_ADC_EOC_SELECTION(hadc->Init.EOCSelection)); in HAL_ADC_Init()
423 assert_param(IS_ADC_OVERRUN(hadc->Init.Overrun)); in HAL_ADC_Init()
424 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.LowPowerAutoWait)); in HAL_ADC_Init()
425 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.OversamplingMode)); in HAL_ADC_Init()
427 if (hadc->Init.ScanConvMode != ADC_SCAN_DISABLE) in HAL_ADC_Init()
429 assert_param(IS_ADC_REGULAR_NB_CONV(hadc->Init.NbrOfConversion)); in HAL_ADC_Init()
430 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.DiscontinuousConvMode)); in HAL_ADC_Init()
432 if (hadc->Init.DiscontinuousConvMode == ENABLE) in HAL_ADC_Init()
434 assert_param(IS_ADC_REGULAR_DISCONT_NUMBER(hadc->Init.NbrOfDiscConversion)); in HAL_ADC_Init()
439 …assert_param(!((hadc->Init.DiscontinuousConvMode == ENABLE) && (hadc->Init.ContinuousConvMode == E… in HAL_ADC_Init()
443 if (hadc->State == HAL_ADC_STATE_RESET) in HAL_ADC_Init()
447hadc->ConvCpltCallback = HAL_ADC_ConvCpltCallback; /* Legacy weak cal… in HAL_ADC_Init()
448hadc->ConvHalfCpltCallback = HAL_ADC_ConvHalfCpltCallback; /* Legacy weak cal… in HAL_ADC_Init()
449hadc->LevelOutOfWindowCallback = HAL_ADC_LevelOutOfWindowCallback; /* Legacy weak cal… in HAL_ADC_Init()
450hadc->ErrorCallback = HAL_ADC_ErrorCallback; /* Legacy weak cal… in HAL_ADC_Init()
451hadc->InjectedConvCpltCallback = HAL_ADCEx_InjectedConvCpltCallback; /* Legacy weak cal… in HAL_ADC_Init()
452hadc->InjectedQueueOverflowCallback = HAL_ADCEx_InjectedQueueOverflowCallback; /* Legacy weak cal… in HAL_ADC_Init()
453hadc->LevelOutOfWindow2Callback = HAL_ADCEx_LevelOutOfWindow2Callback; /* Legacy weak cal… in HAL_ADC_Init()
454hadc->LevelOutOfWindow3Callback = HAL_ADCEx_LevelOutOfWindow3Callback; /* Legacy weak cal… in HAL_ADC_Init()
455hadc->EndOfSamplingCallback = HAL_ADCEx_EndOfSamplingCallback; /* Legacy weak cal… in HAL_ADC_Init()
457 if (hadc->MspInitCallback == NULL) in HAL_ADC_Init()
459 hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */ in HAL_ADC_Init()
463 hadc->MspInitCallback(hadc); in HAL_ADC_Init()
466 HAL_ADC_MspInit(hadc); in HAL_ADC_Init()
470 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Init()
473 hadc->Lock = HAL_UNLOCKED; in HAL_ADC_Init()
477 if (LL_ADC_IsDeepPowerDownEnabled(hadc->Instance) != 0UL) in HAL_ADC_Init()
480 LL_ADC_DisableDeepPowerDown(hadc->Instance); in HAL_ADC_Init()
487 if (LL_ADC_IsInternalRegulatorEnabled(hadc->Instance) == 0UL) in HAL_ADC_Init()
490 LL_ADC_EnableInternalRegulator(hadc->Instance); in HAL_ADC_Init()
505 if (LL_ADC_IsInternalRegulatorEnabled(hadc->Instance) == 0UL) in HAL_ADC_Init()
508 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in HAL_ADC_Init()
511 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in HAL_ADC_Init()
520 tmp_adc_is_conversion_on_going_regular = LL_ADC_REG_IsConversionOngoing(hadc->Instance); in HAL_ADC_Init()
522 if (((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) == 0UL) in HAL_ADC_Init()
527 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Init()
536 if (LL_ADC_IsEnabled(hadc->Instance) == 0UL) in HAL_ADC_Init()
538 if (__LL_ADC_IS_ENABLED_ALL_COMMON_INSTANCE(__LL_ADC_COMMON_INSTANCE(hadc->Instance)) == 0UL) in HAL_ADC_Init()
557 LL_ADC_SetCommonClock(__LL_ADC_COMMON_INSTANCE(hadc->Instance), hadc->Init.ClockPrescaler); in HAL_ADC_Init()
570 tmp_cfgr = (ADC_CFGR_CONTINUOUS((uint32_t)hadc->Init.ContinuousConvMode) | in HAL_ADC_Init()
571 hadc->Init.Overrun | in HAL_ADC_Init()
572 hadc->Init.DataAlign | in HAL_ADC_Init()
573 hadc->Init.Resolution | in HAL_ADC_Init()
574 ADC_CFGR_REG_DISCONTINUOUS((uint32_t)hadc->Init.DiscontinuousConvMode)); in HAL_ADC_Init()
576 if (hadc->Init.DiscontinuousConvMode == ENABLE) in HAL_ADC_Init()
578 tmp_cfgr |= ADC_CFGR_DISCONTINUOUS_NUM(hadc->Init.NbrOfDiscConversion); in HAL_ADC_Init()
586 if (hadc->Init.ExternalTrigConv != ADC_SOFTWARE_START) in HAL_ADC_Init()
588 tmp_cfgr |= ((hadc->Init.ExternalTrigConv & ADC_CFGR_EXTSEL) in HAL_ADC_Init()
589 | hadc->Init.ExternalTrigConvEdge in HAL_ADC_Init()
594 MODIFY_REG(hadc->Instance->CFGR, ADC_CFGR_FIELDS_1, tmp_cfgr); in HAL_ADC_Init()
597 MODIFY_REG(hadc->Instance->CFGR2, ADC_CFGR2_BULB | ADC_CFGR2_SMPTRIG, hadc->Init.SamplingMode); in HAL_ADC_Init()
606 tmp_adc_is_conversion_on_going_injected = LL_ADC_INJ_IsConversionOngoing(hadc->Instance); in HAL_ADC_Init()
611 tmp_cfgr = (ADC_CFGR_DFSDM(hadc) | in HAL_ADC_Init()
612 ADC_CFGR_AUTOWAIT((uint32_t)hadc->Init.LowPowerAutoWait) | in HAL_ADC_Init()
613 ADC_CFGR_DMACONTREQ((uint32_t)hadc->Init.DMAContinuousRequests)); in HAL_ADC_Init()
615 MODIFY_REG(hadc->Instance->CFGR, ADC_CFGR_FIELDS_2, tmp_cfgr); in HAL_ADC_Init()
617 if (hadc->Init.GainCompensation != 0UL) in HAL_ADC_Init()
619 SET_BIT(hadc->Instance->CFGR2, ADC_CFGR2_GCOMP); in HAL_ADC_Init()
620 MODIFY_REG(hadc->Instance->GCOMP, ADC_GCOMP_GCOMPCOEFF, hadc->Init.GainCompensation); in HAL_ADC_Init()
624 CLEAR_BIT(hadc->Instance->CFGR2, ADC_CFGR2_GCOMP); in HAL_ADC_Init()
625 MODIFY_REG(hadc->Instance->GCOMP, ADC_GCOMP_GCOMPCOEFF, 0UL); in HAL_ADC_Init()
628 if (hadc->Init.OversamplingMode == ENABLE) in HAL_ADC_Init()
630 assert_param(IS_ADC_OVERSAMPLING_RATIO(hadc->Init.Oversampling.Ratio)); in HAL_ADC_Init()
631 assert_param(IS_ADC_RIGHT_BIT_SHIFT(hadc->Init.Oversampling.RightBitShift)); in HAL_ADC_Init()
632 assert_param(IS_ADC_TRIGGERED_OVERSAMPLING_MODE(hadc->Init.Oversampling.TriggeredMode)); in HAL_ADC_Init()
633 assert_param(IS_ADC_REGOVERSAMPLING_MODE(hadc->Init.Oversampling.OversamplingStopReset)); in HAL_ADC_Init()
640 MODIFY_REG(hadc->Instance->CFGR2, in HAL_ADC_Init()
646 hadc->Init.Oversampling.Ratio | in HAL_ADC_Init()
647 hadc->Init.Oversampling.RightBitShift | in HAL_ADC_Init()
648 hadc->Init.Oversampling.TriggeredMode | in HAL_ADC_Init()
649 hadc->Init.Oversampling.OversamplingStopReset in HAL_ADC_Init()
655 CLEAR_BIT(hadc->Instance->CFGR2, ADC_CFGR2_ROVSE); in HAL_ADC_Init()
669 if (hadc->Init.ScanConvMode == ADC_SCAN_ENABLE) in HAL_ADC_Init()
672 MODIFY_REG(hadc->Instance->SQR1, ADC_SQR1_L, (hadc->Init.NbrOfConversion - (uint8_t)1)); in HAL_ADC_Init()
676 CLEAR_BIT(hadc->Instance->SQR1, ADC_SQR1_L); in HAL_ADC_Init()
681 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_BUSY_INTERNAL, HAL_ADC_STATE_READY); in HAL_ADC_Init()
686 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in HAL_ADC_Init()
713 HAL_StatusTypeDef HAL_ADC_DeInit(ADC_HandleTypeDef *hadc) in HAL_ADC_DeInit() argument
718 if (hadc == NULL) in HAL_ADC_DeInit()
724 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_DeInit()
727 SET_BIT(hadc->State, HAL_ADC_STATE_BUSY_INTERNAL); in HAL_ADC_DeInit()
730 tmp_hal_status = ADC_ConversionStop(hadc, ADC_REGULAR_INJECTED_GROUP); in HAL_ADC_DeInit()
738 SET_BIT(hadc->Instance->CFGR, ADC_CFGR_JQM); in HAL_ADC_DeInit()
744 tmp_hal_status = ADC_Disable(hadc); in HAL_ADC_DeInit()
750 hadc->State = HAL_ADC_STATE_READY; in HAL_ADC_DeInit()
762 __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_AWD3 | ADC_IT_AWD2 | ADC_IT_AWD1 | in HAL_ADC_DeInit()
769 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_AWD3 | ADC_FLAG_AWD2 | ADC_FLAG_AWD1 | in HAL_ADC_DeInit()
780 CLEAR_BIT(hadc->Instance->CR, ADC_CR_ADVREGEN | ADC_CR_ADCALDIF); in HAL_ADC_DeInit()
781 SET_BIT(hadc->Instance->CR, ADC_CR_DEEPPWD); in HAL_ADC_DeInit()
784 CLEAR_BIT(hadc->Instance->CFGR, ADC_CFGR_FIELDS); in HAL_ADC_DeInit()
785 SET_BIT(hadc->Instance->CFGR, ADC_CFGR_JQDIS); in HAL_ADC_DeInit()
788 CLEAR_BIT(hadc->Instance->CFGR2, ADC_CFGR2_ROVSM | ADC_CFGR2_TROVS | ADC_CFGR2_OVSS | in HAL_ADC_DeInit()
792 CLEAR_BIT(hadc->Instance->SMPR1, ADC_SMPR1_FIELDS); in HAL_ADC_DeInit()
795 CLEAR_BIT(hadc->Instance->SMPR2, ADC_SMPR2_SMP18 | ADC_SMPR2_SMP17 | ADC_SMPR2_SMP16 | in HAL_ADC_DeInit()
800 CLEAR_BIT(hadc->Instance->TR1, ADC_TR1_HT1 | ADC_TR1_LT1); in HAL_ADC_DeInit()
803 CLEAR_BIT(hadc->Instance->TR2, ADC_TR2_HT2 | ADC_TR2_LT2); in HAL_ADC_DeInit()
806 CLEAR_BIT(hadc->Instance->TR3, ADC_TR3_HT3 | ADC_TR3_LT3); in HAL_ADC_DeInit()
809 CLEAR_BIT(hadc->Instance->SQR1, ADC_SQR1_SQ4 | ADC_SQR1_SQ3 | ADC_SQR1_SQ2 | in HAL_ADC_DeInit()
813 CLEAR_BIT(hadc->Instance->SQR2, ADC_SQR2_SQ9 | ADC_SQR2_SQ8 | ADC_SQR2_SQ7 | in HAL_ADC_DeInit()
817 CLEAR_BIT(hadc->Instance->SQR3, ADC_SQR3_SQ14 | ADC_SQR3_SQ13 | ADC_SQR3_SQ12 | in HAL_ADC_DeInit()
821 CLEAR_BIT(hadc->Instance->SQR4, ADC_SQR4_SQ16 | ADC_SQR4_SQ15); in HAL_ADC_DeInit()
829 CLEAR_BIT(hadc->Instance->OFR1, ADC_OFR1_OFFSET1_EN | ADC_OFR1_OFFSET1_CH | ADC_OFR1_OFFSET1); in HAL_ADC_DeInit()
831 CLEAR_BIT(hadc->Instance->OFR2, ADC_OFR2_OFFSET2_EN | ADC_OFR2_OFFSET2_CH | ADC_OFR2_OFFSET2); in HAL_ADC_DeInit()
833 CLEAR_BIT(hadc->Instance->OFR3, ADC_OFR3_OFFSET3_EN | ADC_OFR3_OFFSET3_CH | ADC_OFR3_OFFSET3); in HAL_ADC_DeInit()
835 CLEAR_BIT(hadc->Instance->OFR4, ADC_OFR4_OFFSET4_EN | ADC_OFR4_OFFSET4_CH | ADC_OFR4_OFFSET4); in HAL_ADC_DeInit()
841 CLEAR_BIT(hadc->Instance->AWD2CR, ADC_AWD2CR_AWD2CH); in HAL_ADC_DeInit()
844 CLEAR_BIT(hadc->Instance->AWD3CR, ADC_AWD3CR_AWD3CH); in HAL_ADC_DeInit()
847 CLEAR_BIT(hadc->Instance->DIFSEL, ADC_DIFSEL_DIFSEL); in HAL_ADC_DeInit()
850 CLEAR_BIT(hadc->Instance->CALFACT, ADC_CALFACT_CALFACT_D | ADC_CALFACT_CALFACT_S); in HAL_ADC_DeInit()
857 if (__LL_ADC_IS_ENABLED_ALL_COMMON_INSTANCE(__LL_ADC_COMMON_INSTANCE(hadc->Instance)) == 0UL) in HAL_ADC_DeInit()
866 ADC_CLEAR_COMMON_CONTROL_REGISTER(hadc); in HAL_ADC_DeInit()
877 if (hadc->MspDeInitCallback == NULL) in HAL_ADC_DeInit()
879 hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */ in HAL_ADC_DeInit()
883 hadc->MspDeInitCallback(hadc); in HAL_ADC_DeInit()
886 HAL_ADC_MspDeInit(hadc); in HAL_ADC_DeInit()
891 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_DeInit()
894 hadc->InjectionConfig.ContextQueue = 0; in HAL_ADC_DeInit()
895 hadc->InjectionConfig.ChannelCount = 0; in HAL_ADC_DeInit()
898 hadc->State = HAL_ADC_STATE_RESET; in HAL_ADC_DeInit()
901 __HAL_UNLOCK(hadc); in HAL_ADC_DeInit()
912 __weak void HAL_ADC_MspInit(ADC_HandleTypeDef *hadc) in HAL_ADC_MspInit() argument
915 UNUSED(hadc); in HAL_ADC_MspInit()
929 __weak void HAL_ADC_MspDeInit(ADC_HandleTypeDef *hadc) in HAL_ADC_MspDeInit() argument
932 UNUSED(hadc); in HAL_ADC_MspDeInit()
963 HAL_StatusTypeDef HAL_ADC_RegisterCallback(ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef Callb… in HAL_ADC_RegisterCallback() argument
971 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
976 if ((hadc->State & HAL_ADC_STATE_READY) != 0UL) in HAL_ADC_RegisterCallback()
981 hadc->ConvCpltCallback = pCallback; in HAL_ADC_RegisterCallback()
985 hadc->ConvHalfCpltCallback = pCallback; in HAL_ADC_RegisterCallback()
989 hadc->LevelOutOfWindowCallback = pCallback; in HAL_ADC_RegisterCallback()
993 hadc->ErrorCallback = pCallback; in HAL_ADC_RegisterCallback()
997 hadc->InjectedConvCpltCallback = pCallback; in HAL_ADC_RegisterCallback()
1001 hadc->InjectedQueueOverflowCallback = pCallback; in HAL_ADC_RegisterCallback()
1005 hadc->LevelOutOfWindow2Callback = pCallback; in HAL_ADC_RegisterCallback()
1009 hadc->LevelOutOfWindow3Callback = pCallback; in HAL_ADC_RegisterCallback()
1013 hadc->EndOfSamplingCallback = pCallback; in HAL_ADC_RegisterCallback()
1017 hadc->MspInitCallback = pCallback; in HAL_ADC_RegisterCallback()
1021 hadc->MspDeInitCallback = pCallback; in HAL_ADC_RegisterCallback()
1026 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
1033 else if (HAL_ADC_STATE_RESET == hadc->State) in HAL_ADC_RegisterCallback()
1038 hadc->MspInitCallback = pCallback; in HAL_ADC_RegisterCallback()
1042 hadc->MspDeInitCallback = pCallback; in HAL_ADC_RegisterCallback()
1047 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
1057 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
1088 HAL_StatusTypeDef HAL_ADC_UnRegisterCallback(ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef Cal… in HAL_ADC_UnRegisterCallback() argument
1092 if ((hadc->State & HAL_ADC_STATE_READY) != 0UL) in HAL_ADC_UnRegisterCallback()
1097 hadc->ConvCpltCallback = HAL_ADC_ConvCpltCallback; in HAL_ADC_UnRegisterCallback()
1101 hadc->ConvHalfCpltCallback = HAL_ADC_ConvHalfCpltCallback; in HAL_ADC_UnRegisterCallback()
1105 hadc->LevelOutOfWindowCallback = HAL_ADC_LevelOutOfWindowCallback; in HAL_ADC_UnRegisterCallback()
1109 hadc->ErrorCallback = HAL_ADC_ErrorCallback; in HAL_ADC_UnRegisterCallback()
1113 hadc->InjectedConvCpltCallback = HAL_ADCEx_InjectedConvCpltCallback; in HAL_ADC_UnRegisterCallback()
1117 hadc->InjectedQueueOverflowCallback = HAL_ADCEx_InjectedQueueOverflowCallback; in HAL_ADC_UnRegisterCallback()
1121 hadc->LevelOutOfWindow2Callback = HAL_ADCEx_LevelOutOfWindow2Callback; in HAL_ADC_UnRegisterCallback()
1125 hadc->LevelOutOfWindow3Callback = HAL_ADCEx_LevelOutOfWindow3Callback; in HAL_ADC_UnRegisterCallback()
1129 hadc->EndOfSamplingCallback = HAL_ADCEx_EndOfSamplingCallback; in HAL_ADC_UnRegisterCallback()
1133 hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */ in HAL_ADC_UnRegisterCallback()
1137 hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */ in HAL_ADC_UnRegisterCallback()
1142 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_UnRegisterCallback()
1149 else if (HAL_ADC_STATE_RESET == hadc->State) in HAL_ADC_UnRegisterCallback()
1154hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */ in HAL_ADC_UnRegisterCallback()
1158hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */ in HAL_ADC_UnRegisterCallback()
1163 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_UnRegisterCallback()
1173 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_UnRegisterCallback()
1219 HAL_StatusTypeDef HAL_ADC_Start(ADC_HandleTypeDef *hadc) in HAL_ADC_Start() argument
1224 uint32_t tmp_multimode_config = LL_ADC_GetMultimode(__LL_ADC_COMMON_INSTANCE(hadc->Instance)); in HAL_ADC_Start()
1228 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Start()
1231 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_Start()
1234 __HAL_LOCK(hadc); in HAL_ADC_Start()
1237 tmp_hal_status = ADC_Enable(hadc); in HAL_ADC_Start()
1245 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Start()
1253 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_Start()
1257 CLEAR_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); in HAL_ADC_Start()
1263 if (HAL_IS_BIT_SET(hadc->State, HAL_ADC_STATE_INJ_BUSY)) in HAL_ADC_Start()
1266 CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); in HAL_ADC_Start()
1271 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Start()
1276 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR)); in HAL_ADC_Start()
1281 __HAL_UNLOCK(hadc); in HAL_ADC_Start()
1292 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_Start()
1299 if (READ_BIT(hadc->Instance->CFGR, ADC_CFGR_JAUTO) != 0UL) in HAL_ADC_Start()
1301 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_Start()
1305 LL_ADC_REG_StartConversion(hadc->Instance); in HAL_ADC_Start()
1310 SET_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); in HAL_ADC_Start()
1313 tmpADC_Master = __LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance); in HAL_ADC_Start()
1316 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_Start()
1321 if (READ_BIT(hadc->Instance->CFGR, ADC_CFGR_JAUTO) != 0UL) in HAL_ADC_Start()
1323 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_Start()
1327 LL_ADC_REG_StartConversion(hadc->Instance); in HAL_ADC_Start()
1333 __HAL_UNLOCK(hadc); in HAL_ADC_Start()
1354 HAL_StatusTypeDef HAL_ADC_Stop(ADC_HandleTypeDef *hadc) in HAL_ADC_Stop() argument
1359 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Stop()
1362 __HAL_LOCK(hadc); in HAL_ADC_Stop()
1365 tmp_hal_status = ADC_ConversionStop(hadc, ADC_REGULAR_INJECTED_GROUP); in HAL_ADC_Stop()
1371 tmp_hal_status = ADC_Disable(hadc); in HAL_ADC_Stop()
1377 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Stop()
1384 __HAL_UNLOCK(hadc); in HAL_ADC_Stop()
1408 HAL_StatusTypeDef HAL_ADC_PollForConversion(ADC_HandleTypeDef *hadc, uint32_t Timeout) in HAL_ADC_PollForConversion() argument
1415 uint32_t tmp_multimode_config = LL_ADC_GetMultimode(__LL_ADC_COMMON_INSTANCE(hadc->Instance)); in HAL_ADC_PollForConversion()
1419 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_PollForConversion()
1422 if (hadc->Init.EOCSelection == ADC_EOC_SEQ_CONV) in HAL_ADC_PollForConversion()
1442 if (READ_BIT(hadc->Instance->CFGR, ADC_CFGR_DMAEN) != 0UL) in HAL_ADC_PollForConversion()
1444 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_PollForConversion()
1455 …if (LL_ADC_GetMultiDMATransfer(__LL_ADC_COMMON_INSTANCE(hadc->Instance)) != LL_ADC_MULTI_REG_DMA_E… in HAL_ADC_PollForConversion()
1457 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_PollForConversion()
1467 if (READ_BIT(hadc->Instance->CFGR, ADC_CFGR_DMAEN) != 0UL) in HAL_ADC_PollForConversion()
1469 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_PollForConversion()
1483 while ((hadc->Instance->ISR & tmp_Flag_End) == 0UL) in HAL_ADC_PollForConversion()
1491 if ((hadc->Instance->ISR & tmp_Flag_End) == 0UL) in HAL_ADC_PollForConversion()
1494 SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT); in HAL_ADC_PollForConversion()
1497 __HAL_UNLOCK(hadc); in HAL_ADC_PollForConversion()
1506 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); in HAL_ADC_PollForConversion()
1510 if ((LL_ADC_REG_IsTriggerSourceSWStart(hadc->Instance) != 0UL) in HAL_ADC_PollForConversion()
1511 && (hadc->Init.ContinuousConvMode == DISABLE) in HAL_ADC_PollForConversion()
1515 if (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS)) in HAL_ADC_PollForConversion()
1518 CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); in HAL_ADC_PollForConversion()
1520 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) == 0UL) in HAL_ADC_PollForConversion()
1522 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in HAL_ADC_PollForConversion()
1531 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_PollForConversion()
1538 tmp_cfgr = READ_REG(hadc->Instance->CFGR); in HAL_ADC_PollForConversion()
1543 tmpADC_Master = __LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance); in HAL_ADC_PollForConversion()
1548 tmp_cfgr = READ_REG(hadc->Instance->CFGR); in HAL_ADC_PollForConversion()
1554 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOS); in HAL_ADC_PollForConversion()
1563 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS)); in HAL_ADC_PollForConversion()
1594 HAL_StatusTypeDef HAL_ADC_PollForEvent(ADC_HandleTypeDef *hadc, uint32_t EventType, uint32_t Timeou… in HAL_ADC_PollForEvent() argument
1599 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_PollForEvent()
1606 while (__HAL_ADC_GET_FLAG(hadc, EventType) == 0UL) in HAL_ADC_PollForEvent()
1614 if (__HAL_ADC_GET_FLAG(hadc, EventType) == 0UL) in HAL_ADC_PollForEvent()
1617 SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT); in HAL_ADC_PollForEvent()
1620 __HAL_UNLOCK(hadc); in HAL_ADC_PollForEvent()
1633 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOSMP); in HAL_ADC_PollForEvent()
1636 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOSMP); in HAL_ADC_PollForEvent()
1652 SET_BIT(hadc->State, HAL_ADC_STATE_AWD1); in HAL_ADC_PollForEvent()
1655 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD1); in HAL_ADC_PollForEvent()
1662 SET_BIT(hadc->State, HAL_ADC_STATE_AWD2); in HAL_ADC_PollForEvent()
1665 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD2); in HAL_ADC_PollForEvent()
1672 SET_BIT(hadc->State, HAL_ADC_STATE_AWD3); in HAL_ADC_PollForEvent()
1675 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD3); in HAL_ADC_PollForEvent()
1682 SET_BIT(hadc->State, HAL_ADC_STATE_INJ_JQOVF); in HAL_ADC_PollForEvent()
1685 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_JQOVF); in HAL_ADC_PollForEvent()
1688 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_JQOVF); in HAL_ADC_PollForEvent()
1698 if (hadc->Init.Overrun == ADC_OVR_DATA_PRESERVED) in HAL_ADC_PollForEvent()
1701 SET_BIT(hadc->State, HAL_ADC_STATE_REG_OVR); in HAL_ADC_PollForEvent()
1704 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_OVR); in HAL_ADC_PollForEvent()
1711 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR); in HAL_ADC_PollForEvent()
1743 HAL_StatusTypeDef HAL_ADC_Start_IT(ADC_HandleTypeDef *hadc) in HAL_ADC_Start_IT() argument
1748 uint32_t tmp_multimode_config = LL_ADC_GetMultimode(__LL_ADC_COMMON_INSTANCE(hadc->Instance)); in HAL_ADC_Start_IT()
1752 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Start_IT()
1755 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_Start_IT()
1758 __HAL_LOCK(hadc); in HAL_ADC_Start_IT()
1761 tmp_hal_status = ADC_Enable(hadc); in HAL_ADC_Start_IT()
1769 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Start_IT()
1777 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_Start_IT()
1781 CLEAR_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); in HAL_ADC_Start_IT()
1787 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) != 0UL) in HAL_ADC_Start_IT()
1790 CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); in HAL_ADC_Start_IT()
1795 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Start_IT()
1800 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR)); in HAL_ADC_Start_IT()
1805 __HAL_UNLOCK(hadc); in HAL_ADC_Start_IT()
1808 __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_EOC | ADC_IT_EOS | ADC_IT_OVR)); in HAL_ADC_Start_IT()
1811 switch (hadc->Init.EOCSelection) in HAL_ADC_Start_IT()
1814 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_EOS); in HAL_ADC_Start_IT()
1818 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_EOC); in HAL_ADC_Start_IT()
1826 if (hadc->Init.Overrun == ADC_OVR_DATA_PRESERVED) in HAL_ADC_Start_IT()
1828 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_OVR); in HAL_ADC_Start_IT()
1840 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_Start_IT()
1847 if (READ_BIT(hadc->Instance->CFGR, ADC_CFGR_JAUTO) != 0UL) in HAL_ADC_Start_IT()
1849 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_Start_IT()
1855 switch (hadc->Init.EOCSelection) in HAL_ADC_Start_IT()
1858 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOC); in HAL_ADC_Start_IT()
1859 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_JEOS); in HAL_ADC_Start_IT()
1863 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOS); in HAL_ADC_Start_IT()
1864 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_JEOC); in HAL_ADC_Start_IT()
1870 LL_ADC_REG_StartConversion(hadc->Instance); in HAL_ADC_Start_IT()
1875 SET_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); in HAL_ADC_Start_IT()
1878 tmpADC_Master = __LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance); in HAL_ADC_Start_IT()
1883 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_Start_IT()
1885 switch (hadc->Init.EOCSelection) in HAL_ADC_Start_IT()
1888 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOC); in HAL_ADC_Start_IT()
1889 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_JEOS); in HAL_ADC_Start_IT()
1893 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOS); in HAL_ADC_Start_IT()
1894 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_JEOC); in HAL_ADC_Start_IT()
1901 if (READ_BIT(hadc->Instance->CFGR, ADC_CFGR_JAUTO) != 0UL) in HAL_ADC_Start_IT()
1903 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_Start_IT()
1909 switch (hadc->Init.EOCSelection) in HAL_ADC_Start_IT()
1912 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOC); in HAL_ADC_Start_IT()
1913 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_JEOS); in HAL_ADC_Start_IT()
1917 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOS); in HAL_ADC_Start_IT()
1918 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_JEOC); in HAL_ADC_Start_IT()
1924 LL_ADC_REG_StartConversion(hadc->Instance); in HAL_ADC_Start_IT()
1930 __HAL_UNLOCK(hadc); in HAL_ADC_Start_IT()
1950 HAL_StatusTypeDef HAL_ADC_Stop_IT(ADC_HandleTypeDef *hadc) in HAL_ADC_Stop_IT() argument
1955 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Stop_IT()
1958 __HAL_LOCK(hadc); in HAL_ADC_Stop_IT()
1961 tmp_hal_status = ADC_ConversionStop(hadc, ADC_REGULAR_INJECTED_GROUP); in HAL_ADC_Stop_IT()
1968 __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_EOC | ADC_IT_EOS | ADC_IT_OVR)); in HAL_ADC_Stop_IT()
1971 tmp_hal_status = ADC_Disable(hadc); in HAL_ADC_Stop_IT()
1977 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Stop_IT()
1984 __HAL_UNLOCK(hadc); in HAL_ADC_Stop_IT()
2003 HAL_StatusTypeDef HAL_ADC_Start_DMA(ADC_HandleTypeDef *hadc, uint32_t *pData, uint32_t Length) in HAL_ADC_Start_DMA() argument
2007 uint32_t tmp_multimode_config = LL_ADC_GetMultimode(__LL_ADC_COMMON_INSTANCE(hadc->Instance)); in HAL_ADC_Start_DMA()
2011 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Start_DMA()
2014 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_Start_DMA()
2017 __HAL_LOCK(hadc); in HAL_ADC_Start_DMA()
2022 if ((ADC_IS_INDEPENDENT(hadc) != RESET) in HAL_ADC_Start_DMA()
2030 tmp_hal_status = ADC_Enable(hadc); in HAL_ADC_Start_DMA()
2038 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Start_DMA()
2046 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_Start_DMA()
2050 CLEAR_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); in HAL_ADC_Start_DMA()
2055 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) != 0UL) in HAL_ADC_Start_DMA()
2058 CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); in HAL_ADC_Start_DMA()
2063 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Start_DMA()
2067 hadc->DMA_Handle->XferCpltCallback = ADC_DMAConvCplt; in HAL_ADC_Start_DMA()
2070 hadc->DMA_Handle->XferHalfCpltCallback = ADC_DMAHalfConvCplt; in HAL_ADC_Start_DMA()
2073 hadc->DMA_Handle->XferErrorCallback = ADC_DMAError; in HAL_ADC_Start_DMA()
2082 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR)); in HAL_ADC_Start_DMA()
2087 __HAL_UNLOCK(hadc); in HAL_ADC_Start_DMA()
2092 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_OVR); in HAL_ADC_Start_DMA()
2095 SET_BIT(hadc->Instance->CFGR, ADC_CFGR_DMAEN); in HAL_ADC_Start_DMA()
2098 …tmp_hal_status = HAL_DMA_Start_IT(hadc->DMA_Handle, (uint32_t)&hadc->Instance->DR, (uint32_t)pData… in HAL_ADC_Start_DMA()
2105 LL_ADC_REG_StartConversion(hadc->Instance); in HAL_ADC_Start_DMA()
2110 __HAL_UNLOCK(hadc); in HAL_ADC_Start_DMA()
2119 __HAL_UNLOCK(hadc); in HAL_ADC_Start_DMA()
2145 HAL_StatusTypeDef HAL_ADC_Stop_DMA(ADC_HandleTypeDef *hadc) in HAL_ADC_Stop_DMA() argument
2150 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Stop_DMA()
2153 __HAL_LOCK(hadc); in HAL_ADC_Stop_DMA()
2156 tmp_hal_status = ADC_ConversionStop(hadc, ADC_REGULAR_INJECTED_GROUP); in HAL_ADC_Stop_DMA()
2162 CLEAR_BIT(hadc->Instance->CFGR, ADC_CFGR_DMAEN); in HAL_ADC_Stop_DMA()
2166 if (hadc->DMA_Handle->State == HAL_DMA_STATE_BUSY) in HAL_ADC_Stop_DMA()
2168 tmp_hal_status = HAL_DMA_Abort(hadc->DMA_Handle); in HAL_ADC_Stop_DMA()
2174 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA); in HAL_ADC_Stop_DMA()
2179 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_OVR); in HAL_ADC_Stop_DMA()
2186 tmp_hal_status = ADC_Disable(hadc); in HAL_ADC_Stop_DMA()
2190 (void)ADC_Disable(hadc); in HAL_ADC_Stop_DMA()
2197 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Stop_DMA()
2205 __HAL_UNLOCK(hadc); in HAL_ADC_Stop_DMA()
2230 uint32_t HAL_ADC_GetValue(const ADC_HandleTypeDef *hadc) in HAL_ADC_GetValue() argument
2233 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_GetValue()
2239 return hadc->Instance->DR; in HAL_ADC_GetValue()
2251 HAL_StatusTypeDef HAL_ADC_StartSampling(ADC_HandleTypeDef *hadc) in HAL_ADC_StartSampling() argument
2254 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_StartSampling()
2257 SET_BIT(hadc->Instance->CFGR2, ADC_CFGR2_SWTRIG); in HAL_ADC_StartSampling()
2273 HAL_StatusTypeDef HAL_ADC_StopSampling(ADC_HandleTypeDef *hadc) in HAL_ADC_StopSampling() argument
2276 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_StopSampling()
2279 CLEAR_BIT(hadc->Instance->CFGR2, ADC_CFGR2_SWTRIG); in HAL_ADC_StopSampling()
2290 void HAL_ADC_IRQHandler(ADC_HandleTypeDef *hadc) in HAL_ADC_IRQHandler() argument
2293 uint32_t tmp_isr = hadc->Instance->ISR; in HAL_ADC_IRQHandler()
2294 uint32_t tmp_ier = hadc->Instance->IER; in HAL_ADC_IRQHandler()
2300 uint32_t tmp_multimode_config = LL_ADC_GetMultimode(__LL_ADC_COMMON_INSTANCE(hadc->Instance)); in HAL_ADC_IRQHandler()
2304 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_IRQHandler()
2305 assert_param(IS_ADC_EOC_SELECTION(hadc->Init.EOCSelection)); in HAL_ADC_IRQHandler()
2311 if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) == 0UL) in HAL_ADC_IRQHandler()
2314 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOSMP); in HAL_ADC_IRQHandler()
2319 hadc->EndOfSamplingCallback(hadc); in HAL_ADC_IRQHandler()
2321 HAL_ADCEx_EndOfSamplingCallback(hadc); in HAL_ADC_IRQHandler()
2325 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOSMP); in HAL_ADC_IRQHandler()
2333 if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) == 0UL) in HAL_ADC_IRQHandler()
2336 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); in HAL_ADC_IRQHandler()
2342 if (LL_ADC_REG_IsTriggerSourceSWStart(hadc->Instance) != 0UL) in HAL_ADC_IRQHandler()
2348 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_IRQHandler()
2355 tmp_cfgr = READ_REG(hadc->Instance->CFGR); in HAL_ADC_IRQHandler()
2360 tmpADC_Master = __LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance); in HAL_ADC_IRQHandler()
2364 tmp_cfgr = READ_REG(hadc->Instance->CFGR); in HAL_ADC_IRQHandler()
2371 if (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS)) in HAL_ADC_IRQHandler()
2375 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_IRQHandler()
2381 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC | ADC_IT_EOS); in HAL_ADC_IRQHandler()
2384 CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); in HAL_ADC_IRQHandler()
2386 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) == 0UL) in HAL_ADC_IRQHandler()
2388 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in HAL_ADC_IRQHandler()
2394 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in HAL_ADC_IRQHandler()
2397 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in HAL_ADC_IRQHandler()
2409 hadc->ConvCpltCallback(hadc); in HAL_ADC_IRQHandler()
2411 HAL_ADC_ConvCpltCallback(hadc); in HAL_ADC_IRQHandler()
2419 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS)); in HAL_ADC_IRQHandler()
2427 if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) == 0UL) in HAL_ADC_IRQHandler()
2430 SET_BIT(hadc->State, HAL_ADC_STATE_INJ_EOC); in HAL_ADC_IRQHandler()
2434 tmp_adc_inj_is_trigger_source_sw_start = LL_ADC_INJ_IsTriggerSourceSWStart(hadc->Instance); in HAL_ADC_IRQHandler()
2435 tmp_adc_reg_is_trigger_source_sw_start = LL_ADC_REG_IsTriggerSourceSWStart(hadc->Instance); in HAL_ADC_IRQHandler()
2440 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_IRQHandler()
2446 tmp_cfgr = READ_REG(hadc->Instance->CFGR); in HAL_ADC_IRQHandler()
2450 tmpADC_Master = __LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance); in HAL_ADC_IRQHandler()
2454 tmp_cfgr = READ_REG(hadc->Instance->CFGR); in HAL_ADC_IRQHandler()
2469 if (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_JEOS)) in HAL_ADC_IRQHandler()
2481 if (LL_ADC_INJ_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_IRQHandler()
2484 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOC | ADC_IT_JEOS); in HAL_ADC_IRQHandler()
2487 CLEAR_BIT(hadc->State, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_IRQHandler()
2489 if ((hadc->State & HAL_ADC_STATE_REG_BUSY) == 0UL) in HAL_ADC_IRQHandler()
2491 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in HAL_ADC_IRQHandler()
2497 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in HAL_ADC_IRQHandler()
2500 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in HAL_ADC_IRQHandler()
2514 hadc->InjectedConvCpltCallback(hadc); in HAL_ADC_IRQHandler()
2516 HAL_ADCEx_InjectedConvCpltCallback(hadc); in HAL_ADC_IRQHandler()
2520 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_JEOC | ADC_FLAG_JEOS); in HAL_ADC_IRQHandler()
2527 SET_BIT(hadc->State, HAL_ADC_STATE_AWD1); in HAL_ADC_IRQHandler()
2531 hadc->LevelOutOfWindowCallback(hadc); in HAL_ADC_IRQHandler()
2533 HAL_ADC_LevelOutOfWindowCallback(hadc); in HAL_ADC_IRQHandler()
2537 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD1); in HAL_ADC_IRQHandler()
2544 SET_BIT(hadc->State, HAL_ADC_STATE_AWD2); in HAL_ADC_IRQHandler()
2548 hadc->LevelOutOfWindow2Callback(hadc); in HAL_ADC_IRQHandler()
2550 HAL_ADCEx_LevelOutOfWindow2Callback(hadc); in HAL_ADC_IRQHandler()
2554 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD2); in HAL_ADC_IRQHandler()
2561 SET_BIT(hadc->State, HAL_ADC_STATE_AWD3); in HAL_ADC_IRQHandler()
2565 hadc->LevelOutOfWindow3Callback(hadc); in HAL_ADC_IRQHandler()
2567 HAL_ADCEx_LevelOutOfWindow3Callback(hadc); in HAL_ADC_IRQHandler()
2571 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD3); in HAL_ADC_IRQHandler()
2583 if (hadc->Init.Overrun == ADC_OVR_DATA_PRESERVED) in HAL_ADC_IRQHandler()
2595 …if (LL_ADC_GetMultiDMATransfer(__LL_ADC_COMMON_INSTANCE(hadc->Instance)) != LL_ADC_MULTI_REG_DMA_E… in HAL_ADC_IRQHandler()
2604 if ((hadc->Instance->CFGR & ADC_CFGR_DMAEN) != 0UL) in HAL_ADC_IRQHandler()
2614 SET_BIT(hadc->State, HAL_ADC_STATE_REG_OVR); in HAL_ADC_IRQHandler()
2617 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_OVR); in HAL_ADC_IRQHandler()
2625 hadc->ErrorCallback(hadc); in HAL_ADC_IRQHandler()
2627 HAL_ADC_ErrorCallback(hadc); in HAL_ADC_IRQHandler()
2632 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR); in HAL_ADC_IRQHandler()
2639 SET_BIT(hadc->State, HAL_ADC_STATE_INJ_JQOVF); in HAL_ADC_IRQHandler()
2642 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_JQOVF); in HAL_ADC_IRQHandler()
2645 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_JQOVF); in HAL_ADC_IRQHandler()
2649 hadc->InjectedQueueOverflowCallback(hadc); in HAL_ADC_IRQHandler()
2651 HAL_ADCEx_InjectedQueueOverflowCallback(hadc); in HAL_ADC_IRQHandler()
2662 __weak void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc) in HAL_ADC_ConvCpltCallback() argument
2665 UNUSED(hadc); in HAL_ADC_ConvCpltCallback()
2677 __weak void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef *hadc) in HAL_ADC_ConvHalfCpltCallback() argument
2680 UNUSED(hadc); in HAL_ADC_ConvHalfCpltCallback()
2692 __weak void HAL_ADC_LevelOutOfWindowCallback(ADC_HandleTypeDef *hadc) in HAL_ADC_LevelOutOfWindowCallback() argument
2695 UNUSED(hadc); in HAL_ADC_LevelOutOfWindowCallback()
2714 __weak void HAL_ADC_ErrorCallback(ADC_HandleTypeDef *hadc) in HAL_ADC_ErrorCallback() argument
2717 UNUSED(hadc); in HAL_ADC_ErrorCallback()
2760 HAL_StatusTypeDef HAL_ADC_ConfigChannel(ADC_HandleTypeDef *hadc, const ADC_ChannelConfTypeDef *pCon… in HAL_ADC_ConfigChannel() argument
2770 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_ConfigChannel()
2775 assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), pConfig->Offset)); in HAL_ADC_ConfigChannel()
2779 …assert_param(!((pConfig->OffsetNumber != ADC_OFFSET_NONE) && (hadc->Init.OversamplingMode == ENABL… in HAL_ADC_ConfigChannel()
2784 assert_param(IS_ADC_CHANNEL(hadc, pConfig->Channel)); in HAL_ADC_ConfigChannel()
2788 assert_param(IS_ADC_DIFF_CHANNEL(hadc, pConfig->Channel)); in HAL_ADC_ConfigChannel()
2792 __HAL_LOCK(hadc); in HAL_ADC_ConfigChannel()
2799 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_ConfigChannel()
2802 LL_ADC_REG_SetSequencerRanks(hadc->Instance, pConfig->Rank, pConfig->Channel); in HAL_ADC_ConfigChannel()
2809 tmp_adc_is_conversion_on_going_regular = LL_ADC_REG_IsConversionOngoing(hadc->Instance); in HAL_ADC_ConfigChannel()
2810 tmp_adc_is_conversion_on_going_injected = LL_ADC_INJ_IsConversionOngoing(hadc->Instance); in HAL_ADC_ConfigChannel()
2819 … LL_ADC_SetChannelSamplingTime(hadc->Instance, pConfig->Channel, LL_ADC_SAMPLINGTIME_2CYCLES_5); in HAL_ADC_ConfigChannel()
2822 LL_ADC_SetSamplingTimeCommonConfig(hadc->Instance, LL_ADC_SAMPLINGTIME_COMMON_3C5_REPL_2C5); in HAL_ADC_ConfigChannel()
2827 LL_ADC_SetChannelSamplingTime(hadc->Instance, pConfig->Channel, pConfig->SamplingTime); in HAL_ADC_ConfigChannel()
2830 LL_ADC_SetSamplingTimeCommonConfig(hadc->Instance, LL_ADC_SAMPLINGTIME_COMMON_DEFAULT); in HAL_ADC_ConfigChannel()
2837 tmpOffsetShifted = ADC_OFFSET_SHIFT_RESOLUTION(hadc, (uint32_t)pConfig->Offset); in HAL_ADC_ConfigChannel()
2842 LL_ADC_SetOffset(hadc->Instance, pConfig->OffsetNumber, pConfig->Channel, tmpOffsetShifted); in HAL_ADC_ConfigChannel()
2847 LL_ADC_SetOffsetSign(hadc->Instance, pConfig->OffsetNumber, pConfig->OffsetSign); in HAL_ADC_ConfigChannel()
2848 LL_ADC_SetOffsetSaturation(hadc->Instance, pConfig->OffsetNumber, in HAL_ADC_ConfigChannel()
2856 if (__LL_ADC_CHANNEL_TO_DECIMAL_NB(LL_ADC_GetOffsetChannel(hadc->Instance, LL_ADC_OFFSET_1)) in HAL_ADC_ConfigChannel()
2859 LL_ADC_SetOffsetState(hadc->Instance, LL_ADC_OFFSET_1, LL_ADC_OFFSET_DISABLE); in HAL_ADC_ConfigChannel()
2861 if (__LL_ADC_CHANNEL_TO_DECIMAL_NB(LL_ADC_GetOffsetChannel(hadc->Instance, LL_ADC_OFFSET_2)) in HAL_ADC_ConfigChannel()
2864 LL_ADC_SetOffsetState(hadc->Instance, LL_ADC_OFFSET_2, LL_ADC_OFFSET_DISABLE); in HAL_ADC_ConfigChannel()
2866 if (__LL_ADC_CHANNEL_TO_DECIMAL_NB(LL_ADC_GetOffsetChannel(hadc->Instance, LL_ADC_OFFSET_3)) in HAL_ADC_ConfigChannel()
2869 LL_ADC_SetOffsetState(hadc->Instance, LL_ADC_OFFSET_3, LL_ADC_OFFSET_DISABLE); in HAL_ADC_ConfigChannel()
2871 if (__LL_ADC_CHANNEL_TO_DECIMAL_NB(LL_ADC_GetOffsetChannel(hadc->Instance, LL_ADC_OFFSET_4)) in HAL_ADC_ConfigChannel()
2874 LL_ADC_SetOffsetState(hadc->Instance, LL_ADC_OFFSET_4, LL_ADC_OFFSET_DISABLE); in HAL_ADC_ConfigChannel()
2882 if (LL_ADC_IsEnabled(hadc->Instance) == 0UL) in HAL_ADC_ConfigChannel()
2885 LL_ADC_SetChannelSingleDiff(hadc->Instance, pConfig->Channel, pConfig->SingleDiff); in HAL_ADC_ConfigChannel()
2892 LL_ADC_SetChannelSamplingTime(hadc->Instance, in HAL_ADC_ConfigChannel()
2909 …tmp_config_internal_channel = LL_ADC_GetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instan… in HAL_ADC_ConfigChannel()
2916 if (ADC_TEMPERATURE_SENSOR_INSTANCE(hadc)) in HAL_ADC_ConfigChannel()
2918 LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), in HAL_ADC_ConfigChannel()
2936 if (ADC_BATTERY_VOLTAGE_INSTANCE(hadc)) in HAL_ADC_ConfigChannel()
2938 LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), in HAL_ADC_ConfigChannel()
2945 if (ADC_VREFINT_INSTANCE(hadc)) in HAL_ADC_ConfigChannel()
2947 LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), in HAL_ADC_ConfigChannel()
2964 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_ConfigChannel()
2970 __HAL_UNLOCK(hadc); in HAL_ADC_ConfigChannel()
2998 HAL_StatusTypeDef HAL_ADC_AnalogWDGConfig(ADC_HandleTypeDef *hadc, const ADC_AnalogWDGConfTypeDef *… in HAL_ADC_AnalogWDGConfig() argument
3007 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_AnalogWDGConfig()
3017 assert_param(IS_ADC_CHANNEL(hadc, pAnalogWDGConfig->Channel)); in HAL_ADC_AnalogWDGConfig()
3021 if (hadc->Init.OversamplingMode == ENABLE) in HAL_ADC_AnalogWDGConfig()
3032 assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), pAnalogWDGConfig->HighThreshold)); in HAL_ADC_AnalogWDGConfig()
3033 assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), pAnalogWDGConfig->LowThreshold)); in HAL_ADC_AnalogWDGConfig()
3037 __HAL_LOCK(hadc); in HAL_ADC_AnalogWDGConfig()
3043 tmp_adc_is_conversion_on_going_regular = LL_ADC_REG_IsConversionOngoing(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3044 tmp_adc_is_conversion_on_going_injected = LL_ADC_INJ_IsConversionOngoing(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3058 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, in HAL_ADC_AnalogWDGConfig()
3064 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, in HAL_ADC_AnalogWDGConfig()
3070 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, in HAL_ADC_AnalogWDGConfig()
3076 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, LL_ADC_AWD_ALL_CHANNELS_REG); in HAL_ADC_AnalogWDGConfig()
3080 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, LL_ADC_AWD_ALL_CHANNELS_INJ); in HAL_ADC_AnalogWDGConfig()
3084 … LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, LL_ADC_AWD_ALL_CHANNELS_REG_INJ); in HAL_ADC_AnalogWDGConfig()
3088 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, LL_ADC_AWD_DISABLE); in HAL_ADC_AnalogWDGConfig()
3093 MODIFY_REG(hadc->Instance->TR1, in HAL_ADC_AnalogWDGConfig()
3098 CLEAR_BIT(hadc->State, HAL_ADC_STATE_AWD1); in HAL_ADC_AnalogWDGConfig()
3104 LL_ADC_ClearFlag_AWD1(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3109 LL_ADC_EnableIT_AWD1(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3113 LL_ADC_DisableIT_AWD1(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3128 SET_BIT(hadc->Instance->AWD2CR, in HAL_ADC_AnalogWDGConfig()
3133 SET_BIT(hadc->Instance->AWD3CR, in HAL_ADC_AnalogWDGConfig()
3141 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, in HAL_ADC_AnalogWDGConfig()
3146 …LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, pAnalogWDGConfig->WatchdogNumber, LL_ADC_AWD_DISAB… in HAL_ADC_AnalogWDGConfig()
3153 CLEAR_BIT(hadc->State, HAL_ADC_STATE_AWD2); in HAL_ADC_AnalogWDGConfig()
3159 LL_ADC_ClearFlag_AWD2(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3164 LL_ADC_EnableIT_AWD2(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3168 LL_ADC_DisableIT_AWD2(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3175 CLEAR_BIT(hadc->State, HAL_ADC_STATE_AWD3); in HAL_ADC_AnalogWDGConfig()
3181 LL_ADC_ClearFlag_AWD3(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3186 LL_ADC_EnableIT_AWD3(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3190 LL_ADC_DisableIT_AWD3(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3203 …tmp_awd_high_threshold_shifted = ADC_AWD1THRESHOLD_SHIFT_RESOLUTION(hadc, pAnalogWDGConfig->HighTh… in HAL_ADC_AnalogWDGConfig()
3204 …tmp_awd_low_threshold_shifted = ADC_AWD1THRESHOLD_SHIFT_RESOLUTION(hadc, pAnalogWDGConfig->LowThr… in HAL_ADC_AnalogWDGConfig()
3212 …tmp_awd_high_threshold_shifted = ADC_AWD23THRESHOLD_SHIFT_RESOLUTION(hadc, pAnalogWDGConfig->HighT… in HAL_ADC_AnalogWDGConfig()
3213 …tmp_awd_low_threshold_shifted = ADC_AWD23THRESHOLD_SHIFT_RESOLUTION(hadc, pAnalogWDGConfig->LowTh… in HAL_ADC_AnalogWDGConfig()
3217 …LL_ADC_ConfigAnalogWDThresholds(hadc->Instance, pAnalogWDGConfig->WatchdogNumber, tmp_awd_high_thr… in HAL_ADC_AnalogWDGConfig()
3221 __HAL_UNLOCK(hadc); in HAL_ADC_AnalogWDGConfig()
3259 uint32_t HAL_ADC_GetState(const ADC_HandleTypeDef *hadc) in HAL_ADC_GetState() argument
3262 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_GetState()
3265 return hadc->State; in HAL_ADC_GetState()
3273 uint32_t HAL_ADC_GetError(const ADC_HandleTypeDef *hadc) in HAL_ADC_GetError() argument
3276 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_GetError()
3278 return hadc->ErrorCode; in HAL_ADC_GetError()
3303 HAL_StatusTypeDef ADC_ConversionStop(ADC_HandleTypeDef *hadc, uint32_t ConversionGroup) in ADC_ConversionStop() argument
3313 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in ADC_ConversionStop()
3318 tmp_adc_is_conversion_on_going_regular = LL_ADC_REG_IsConversionOngoing(hadc->Instance); in ADC_ConversionStop()
3319 tmp_adc_is_conversion_on_going_injected = LL_ADC_INJ_IsConversionOngoing(hadc->Instance); in ADC_ConversionStop()
3330 if (((hadc->Instance->CFGR & ADC_CFGR_JAUTO) != 0UL) in ADC_ConversionStop()
3331 && (hadc->Init.ContinuousConvMode == ENABLE) in ADC_ConversionStop()
3332 && (hadc->Init.LowPowerAutoWait == ENABLE) in ADC_ConversionStop()
3339 while (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_JEOS) == 0UL) in ADC_ConversionStop()
3344 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_ConversionStop()
3347 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_ConversionStop()
3355 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_JEOS); in ADC_ConversionStop()
3362 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) != 0UL) in ADC_ConversionStop()
3364 if (LL_ADC_IsDisableOngoing(hadc->Instance) == 0UL) in ADC_ConversionStop()
3367 LL_ADC_REG_StopConversion(hadc->Instance); in ADC_ConversionStop()
3376 if (LL_ADC_INJ_IsConversionOngoing(hadc->Instance) != 0UL) in ADC_ConversionStop()
3378 if (LL_ADC_IsDisableOngoing(hadc->Instance) == 0UL) in ADC_ConversionStop()
3381 LL_ADC_INJ_StopConversion(hadc->Instance); in ADC_ConversionStop()
3404 while ((hadc->Instance->CR & tmp_ADC_CR_ADSTART_JADSTART) != 0UL) in ADC_ConversionStop()
3409 if ((hadc->Instance->CR & tmp_ADC_CR_ADSTART_JADSTART) != 0UL) in ADC_ConversionStop()
3412 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_ConversionStop()
3415 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_ConversionStop()
3435 HAL_StatusTypeDef ADC_Enable(ADC_HandleTypeDef *hadc) in ADC_Enable() argument
3444 if (LL_ADC_IsEnabled(hadc->Instance) == 0UL) in ADC_Enable()
3447 …if ((hadc->Instance->CR & (ADC_CR_ADCAL | ADC_CR_JADSTP | ADC_CR_ADSTP | ADC_CR_JADSTART | ADC_CR_… in ADC_Enable()
3451 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_Enable()
3454 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_Enable()
3460 LL_ADC_Enable(hadc->Instance); in ADC_Enable()
3462 if ((LL_ADC_GetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance)) in ADC_Enable()
3485 while (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_RDY) == 0UL) in ADC_Enable()
3495 if (LL_ADC_IsEnabled(hadc->Instance) == 0UL) in ADC_Enable()
3497 LL_ADC_Enable(hadc->Instance); in ADC_Enable()
3503 if (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_RDY) == 0UL) in ADC_Enable()
3506 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_Enable()
3509 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_Enable()
3528 HAL_StatusTypeDef ADC_Disable(ADC_HandleTypeDef *hadc) in ADC_Disable() argument
3531 const uint32_t tmp_adc_is_disable_on_going = LL_ADC_IsDisableOngoing(hadc->Instance); in ADC_Disable()
3536 if ((LL_ADC_IsEnabled(hadc->Instance) != 0UL) in ADC_Disable()
3541 if ((hadc->Instance->CR & (ADC_CR_JADSTART | ADC_CR_ADSTART | ADC_CR_ADEN)) == ADC_CR_ADEN) in ADC_Disable()
3544 LL_ADC_Disable(hadc->Instance); in ADC_Disable()
3545 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOSMP | ADC_FLAG_RDY)); in ADC_Disable()
3550 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_Disable()
3553 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_Disable()
3562 while ((hadc->Instance->CR & ADC_CR_ADEN) != 0UL) in ADC_Disable()
3567 if ((hadc->Instance->CR & ADC_CR_ADEN) != 0UL) in ADC_Disable()
3570 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_Disable()
3573 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_Disable()
3593 ADC_HandleTypeDef *hadc = (ADC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in ADC_DMAConvCplt() local
3596 if ((hadc->State & (HAL_ADC_STATE_ERROR_INTERNAL | HAL_ADC_STATE_ERROR_DMA)) == 0UL) in ADC_DMAConvCplt()
3599 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); in ADC_DMAConvCplt()
3605 if ((hadc->Instance->ISR & ADC_FLAG_EOS) != 0UL) in ADC_DMAConvCplt()
3608 if (LL_ADC_REG_IsTriggerSourceSWStart(hadc->Instance) != 0UL) in ADC_DMAConvCplt()
3611 if (READ_BIT(hadc->Instance->CFGR, ADC_CFGR_CONT) == 0UL) in ADC_DMAConvCplt()
3614 CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); in ADC_DMAConvCplt()
3615 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) == 0UL) in ADC_DMAConvCplt()
3617 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in ADC_DMAConvCplt()
3626 if (READ_BIT(hadc->Instance->CFGR, ADC_CFGR_DMACFG) == 0UL) in ADC_DMAConvCplt()
3629 CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); in ADC_DMAConvCplt()
3630 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) == 0UL) in ADC_DMAConvCplt()
3632 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in ADC_DMAConvCplt()
3639 hadc->ConvCpltCallback(hadc); in ADC_DMAConvCplt()
3641 HAL_ADC_ConvCpltCallback(hadc); in ADC_DMAConvCplt()
3646 if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) != 0UL) in ADC_DMAConvCplt()
3650 hadc->ErrorCallback(hadc); in ADC_DMAConvCplt()
3652 HAL_ADC_ErrorCallback(hadc); in ADC_DMAConvCplt()
3658 hadc->DMA_Handle->XferErrorCallback(hdma); in ADC_DMAConvCplt()
3671 ADC_HandleTypeDef *hadc = (ADC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in ADC_DMAHalfConvCplt() local
3675 hadc->ConvHalfCpltCallback(hadc); in ADC_DMAHalfConvCplt()
3677 HAL_ADC_ConvHalfCpltCallback(hadc); in ADC_DMAHalfConvCplt()
3689 ADC_HandleTypeDef *hadc = (ADC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in ADC_DMAError() local
3692 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA); in ADC_DMAError()
3695 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_DMA); in ADC_DMAError()
3699 hadc->ErrorCallback(hadc); in ADC_DMAError()
3701 HAL_ADC_ErrorCallback(hadc); in ADC_DMAError()