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()
446 …hadc->ConvCpltCallback = HAL_ADC_ConvCpltCallback; /* Legacy weak cal… in HAL_ADC_Init()
447 …hadc->ConvHalfCpltCallback = HAL_ADC_ConvHalfCpltCallback; /* Legacy weak cal… in HAL_ADC_Init()
448 …hadc->LevelOutOfWindowCallback = HAL_ADC_LevelOutOfWindowCallback; /* Legacy weak cal… in HAL_ADC_Init()
449 …hadc->ErrorCallback = HAL_ADC_ErrorCallback; /* Legacy weak cal… in HAL_ADC_Init()
450 …hadc->InjectedConvCpltCallback = HAL_ADCEx_InjectedConvCpltCallback; /* Legacy weak cal… in HAL_ADC_Init()
451 …hadc->InjectedQueueOverflowCallback = HAL_ADCEx_InjectedQueueOverflowCallback; /* Legacy weak cal… in HAL_ADC_Init()
452 …hadc->LevelOutOfWindow2Callback = HAL_ADCEx_LevelOutOfWindow2Callback; /* Legacy weak cal… in HAL_ADC_Init()
453 …hadc->LevelOutOfWindow3Callback = HAL_ADCEx_LevelOutOfWindow3Callback; /* Legacy weak cal… in HAL_ADC_Init()
454 …hadc->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()
1138 … hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */ in HAL_ADC_UnRegisterCallback()
1142 … hadc->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()
2006 if ((ADC_IS_INDEPENDENT(hadc) != RESET) in HAL_ADC_Start_DMA()
2014 tmp_hal_status = ADC_Enable(hadc); in HAL_ADC_Start_DMA()
2022 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Start_DMA()
2030 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_Start_DMA()
2034 CLEAR_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); in HAL_ADC_Start_DMA()
2039 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) != 0UL) in HAL_ADC_Start_DMA()
2042 CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); in HAL_ADC_Start_DMA()
2047 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Start_DMA()
2051 hadc->DMA_Handle->XferCpltCallback = ADC_DMAConvCplt; in HAL_ADC_Start_DMA()
2054 hadc->DMA_Handle->XferHalfCpltCallback = ADC_DMAHalfConvCplt; in HAL_ADC_Start_DMA()
2057 hadc->DMA_Handle->XferErrorCallback = ADC_DMAError; in HAL_ADC_Start_DMA()
2066 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR)); in HAL_ADC_Start_DMA()
2071 __HAL_UNLOCK(hadc); in HAL_ADC_Start_DMA()
2076 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_OVR); in HAL_ADC_Start_DMA()
2079 SET_BIT(hadc->Instance->CFGR, ADC_CFGR_DMAEN); in HAL_ADC_Start_DMA()
2082 …tmp_hal_status = HAL_DMA_Start_IT(hadc->DMA_Handle, (uint32_t)&hadc->Instance->DR, (uint32_t)pData… in HAL_ADC_Start_DMA()
2089 LL_ADC_REG_StartConversion(hadc->Instance); in HAL_ADC_Start_DMA()
2094 __HAL_UNLOCK(hadc); in HAL_ADC_Start_DMA()
2103 __HAL_UNLOCK(hadc); in HAL_ADC_Start_DMA()
2129 HAL_StatusTypeDef HAL_ADC_Stop_DMA(ADC_HandleTypeDef *hadc) in HAL_ADC_Stop_DMA() argument
2134 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Stop_DMA()
2137 __HAL_LOCK(hadc); in HAL_ADC_Stop_DMA()
2140 tmp_hal_status = ADC_ConversionStop(hadc, ADC_REGULAR_INJECTED_GROUP); in HAL_ADC_Stop_DMA()
2146 CLEAR_BIT(hadc->Instance->CFGR, ADC_CFGR_DMAEN); in HAL_ADC_Stop_DMA()
2150 if (hadc->DMA_Handle->State == HAL_DMA_STATE_BUSY) in HAL_ADC_Stop_DMA()
2152 tmp_hal_status = HAL_DMA_Abort(hadc->DMA_Handle); in HAL_ADC_Stop_DMA()
2158 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA); in HAL_ADC_Stop_DMA()
2163 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_OVR); in HAL_ADC_Stop_DMA()
2170 tmp_hal_status = ADC_Disable(hadc); in HAL_ADC_Stop_DMA()
2174 (void)ADC_Disable(hadc); in HAL_ADC_Stop_DMA()
2181 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Stop_DMA()
2189 __HAL_UNLOCK(hadc); in HAL_ADC_Stop_DMA()
2214 uint32_t HAL_ADC_GetValue(const ADC_HandleTypeDef *hadc) in HAL_ADC_GetValue() argument
2217 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_GetValue()
2223 return hadc->Instance->DR; in HAL_ADC_GetValue()
2231 void HAL_ADC_IRQHandler(ADC_HandleTypeDef *hadc) in HAL_ADC_IRQHandler() argument
2234 uint32_t tmp_isr = hadc->Instance->ISR; in HAL_ADC_IRQHandler()
2235 uint32_t tmp_ier = hadc->Instance->IER; in HAL_ADC_IRQHandler()
2241 uint32_t tmp_multimode_config = LL_ADC_GetMultimode(__LL_ADC_COMMON_INSTANCE(hadc->Instance)); in HAL_ADC_IRQHandler()
2245 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_IRQHandler()
2246 assert_param(IS_ADC_EOC_SELECTION(hadc->Init.EOCSelection)); in HAL_ADC_IRQHandler()
2252 if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) == 0UL) in HAL_ADC_IRQHandler()
2255 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOSMP); in HAL_ADC_IRQHandler()
2260 hadc->EndOfSamplingCallback(hadc); in HAL_ADC_IRQHandler()
2262 HAL_ADCEx_EndOfSamplingCallback(hadc); in HAL_ADC_IRQHandler()
2266 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOSMP); in HAL_ADC_IRQHandler()
2274 if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) == 0UL) in HAL_ADC_IRQHandler()
2277 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); in HAL_ADC_IRQHandler()
2283 if (LL_ADC_REG_IsTriggerSourceSWStart(hadc->Instance) != 0UL) in HAL_ADC_IRQHandler()
2289 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_IRQHandler()
2296 tmp_cfgr = READ_REG(hadc->Instance->CFGR); in HAL_ADC_IRQHandler()
2301 tmpADC_Master = __LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance); in HAL_ADC_IRQHandler()
2305 tmp_cfgr = READ_REG(hadc->Instance->CFGR); in HAL_ADC_IRQHandler()
2312 if (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS)) in HAL_ADC_IRQHandler()
2316 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_IRQHandler()
2322 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC | ADC_IT_EOS); in HAL_ADC_IRQHandler()
2325 CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); in HAL_ADC_IRQHandler()
2327 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) == 0UL) in HAL_ADC_IRQHandler()
2329 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in HAL_ADC_IRQHandler()
2335 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in HAL_ADC_IRQHandler()
2338 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in HAL_ADC_IRQHandler()
2350 hadc->ConvCpltCallback(hadc); in HAL_ADC_IRQHandler()
2352 HAL_ADC_ConvCpltCallback(hadc); in HAL_ADC_IRQHandler()
2360 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS)); in HAL_ADC_IRQHandler()
2368 if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) == 0UL) in HAL_ADC_IRQHandler()
2371 SET_BIT(hadc->State, HAL_ADC_STATE_INJ_EOC); in HAL_ADC_IRQHandler()
2375 tmp_adc_inj_is_trigger_source_sw_start = LL_ADC_INJ_IsTriggerSourceSWStart(hadc->Instance); in HAL_ADC_IRQHandler()
2376 tmp_adc_reg_is_trigger_source_sw_start = LL_ADC_REG_IsTriggerSourceSWStart(hadc->Instance); in HAL_ADC_IRQHandler()
2381 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_IRQHandler()
2387 tmp_cfgr = READ_REG(hadc->Instance->CFGR); in HAL_ADC_IRQHandler()
2391 tmpADC_Master = __LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance); in HAL_ADC_IRQHandler()
2395 tmp_cfgr = READ_REG(hadc->Instance->CFGR); in HAL_ADC_IRQHandler()
2410 if (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_JEOS)) in HAL_ADC_IRQHandler()
2422 if (LL_ADC_INJ_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_IRQHandler()
2425 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOC | ADC_IT_JEOS); in HAL_ADC_IRQHandler()
2428 CLEAR_BIT(hadc->State, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_IRQHandler()
2430 if ((hadc->State & HAL_ADC_STATE_REG_BUSY) == 0UL) in HAL_ADC_IRQHandler()
2432 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in HAL_ADC_IRQHandler()
2438 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in HAL_ADC_IRQHandler()
2441 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in HAL_ADC_IRQHandler()
2455 hadc->InjectedConvCpltCallback(hadc); in HAL_ADC_IRQHandler()
2457 HAL_ADCEx_InjectedConvCpltCallback(hadc); in HAL_ADC_IRQHandler()
2461 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_JEOC | ADC_FLAG_JEOS); in HAL_ADC_IRQHandler()
2468 SET_BIT(hadc->State, HAL_ADC_STATE_AWD1); in HAL_ADC_IRQHandler()
2472 hadc->LevelOutOfWindowCallback(hadc); in HAL_ADC_IRQHandler()
2474 HAL_ADC_LevelOutOfWindowCallback(hadc); in HAL_ADC_IRQHandler()
2478 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD1); in HAL_ADC_IRQHandler()
2485 SET_BIT(hadc->State, HAL_ADC_STATE_AWD2); in HAL_ADC_IRQHandler()
2489 hadc->LevelOutOfWindow2Callback(hadc); in HAL_ADC_IRQHandler()
2491 HAL_ADCEx_LevelOutOfWindow2Callback(hadc); in HAL_ADC_IRQHandler()
2495 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD2); in HAL_ADC_IRQHandler()
2502 SET_BIT(hadc->State, HAL_ADC_STATE_AWD3); in HAL_ADC_IRQHandler()
2506 hadc->LevelOutOfWindow3Callback(hadc); in HAL_ADC_IRQHandler()
2508 HAL_ADCEx_LevelOutOfWindow3Callback(hadc); in HAL_ADC_IRQHandler()
2512 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD3); in HAL_ADC_IRQHandler()
2524 if (hadc->Init.Overrun == ADC_OVR_DATA_PRESERVED) in HAL_ADC_IRQHandler()
2536 …if (LL_ADC_GetMultiDMATransfer(__LL_ADC_COMMON_INSTANCE(hadc->Instance)) != LL_ADC_MULTI_REG_DMA_E… in HAL_ADC_IRQHandler()
2545 if ((hadc->Instance->CFGR & ADC_CFGR_DMAEN) != 0UL) in HAL_ADC_IRQHandler()
2555 SET_BIT(hadc->State, HAL_ADC_STATE_REG_OVR); in HAL_ADC_IRQHandler()
2558 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_OVR); in HAL_ADC_IRQHandler()
2566 hadc->ErrorCallback(hadc); in HAL_ADC_IRQHandler()
2568 HAL_ADC_ErrorCallback(hadc); in HAL_ADC_IRQHandler()
2573 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR); in HAL_ADC_IRQHandler()
2580 SET_BIT(hadc->State, HAL_ADC_STATE_INJ_JQOVF); in HAL_ADC_IRQHandler()
2583 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_JQOVF); in HAL_ADC_IRQHandler()
2586 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_JQOVF); in HAL_ADC_IRQHandler()
2590 hadc->InjectedQueueOverflowCallback(hadc); in HAL_ADC_IRQHandler()
2592 HAL_ADCEx_InjectedQueueOverflowCallback(hadc); in HAL_ADC_IRQHandler()
2603 __weak void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc) in HAL_ADC_ConvCpltCallback() argument
2606 UNUSED(hadc); in HAL_ADC_ConvCpltCallback()
2618 __weak void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef *hadc) in HAL_ADC_ConvHalfCpltCallback() argument
2621 UNUSED(hadc); in HAL_ADC_ConvHalfCpltCallback()
2633 __weak void HAL_ADC_LevelOutOfWindowCallback(ADC_HandleTypeDef *hadc) in HAL_ADC_LevelOutOfWindowCallback() argument
2636 UNUSED(hadc); in HAL_ADC_LevelOutOfWindowCallback()
2655 __weak void HAL_ADC_ErrorCallback(ADC_HandleTypeDef *hadc) in HAL_ADC_ErrorCallback() argument
2658 UNUSED(hadc); in HAL_ADC_ErrorCallback()
2701 HAL_StatusTypeDef HAL_ADC_ConfigChannel(ADC_HandleTypeDef *hadc, const ADC_ChannelConfTypeDef *pCon… in HAL_ADC_ConfigChannel() argument
2711 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_ConfigChannel()
2716 assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), pConfig->Offset)); in HAL_ADC_ConfigChannel()
2720 …assert_param(!((pConfig->OffsetNumber != ADC_OFFSET_NONE) && (hadc->Init.OversamplingMode == ENABL… in HAL_ADC_ConfigChannel()
2725 assert_param(IS_ADC_CHANNEL(hadc, pConfig->Channel)); in HAL_ADC_ConfigChannel()
2729 assert_param(IS_ADC_DIFF_CHANNEL(hadc, pConfig->Channel)); in HAL_ADC_ConfigChannel()
2733 __HAL_LOCK(hadc); in HAL_ADC_ConfigChannel()
2740 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_ConfigChannel()
2772 LL_ADC_REG_SetSequencerRanks(hadc->Instance, config_rank, pConfig->Channel); in HAL_ADC_ConfigChannel()
2775 LL_ADC_REG_SetSequencerRanks(hadc->Instance, pConfig->Rank, pConfig->Channel); in HAL_ADC_ConfigChannel()
2783 tmp_adc_is_conversion_on_going_regular = LL_ADC_REG_IsConversionOngoing(hadc->Instance); in HAL_ADC_ConfigChannel()
2784 tmp_adc_is_conversion_on_going_injected = LL_ADC_INJ_IsConversionOngoing(hadc->Instance); in HAL_ADC_ConfigChannel()
2794 … LL_ADC_SetChannelSamplingTime(hadc->Instance, pConfig->Channel, LL_ADC_SAMPLINGTIME_2CYCLES_5); in HAL_ADC_ConfigChannel()
2797 LL_ADC_SetSamplingTimeCommonConfig(hadc->Instance, LL_ADC_SAMPLINGTIME_COMMON_3C5_REPL_2C5); in HAL_ADC_ConfigChannel()
2802 LL_ADC_SetChannelSamplingTime(hadc->Instance, pConfig->Channel, pConfig->SamplingTime); in HAL_ADC_ConfigChannel()
2805 LL_ADC_SetSamplingTimeCommonConfig(hadc->Instance, LL_ADC_SAMPLINGTIME_COMMON_DEFAULT); in HAL_ADC_ConfigChannel()
2809 LL_ADC_SetChannelSamplingTime(hadc->Instance, pConfig->Channel, pConfig->SamplingTime); in HAL_ADC_ConfigChannel()
2816 tmpOffsetShifted = ADC_OFFSET_SHIFT_RESOLUTION(hadc, (uint32_t)pConfig->Offset); in HAL_ADC_ConfigChannel()
2821 LL_ADC_SetOffset(hadc->Instance, pConfig->OffsetNumber, pConfig->Channel, tmpOffsetShifted); in HAL_ADC_ConfigChannel()
2828 if (__LL_ADC_CHANNEL_TO_DECIMAL_NB(LL_ADC_GetOffsetChannel(hadc->Instance, LL_ADC_OFFSET_1)) in HAL_ADC_ConfigChannel()
2831 LL_ADC_SetOffsetState(hadc->Instance, LL_ADC_OFFSET_1, LL_ADC_OFFSET_DISABLE); in HAL_ADC_ConfigChannel()
2833 if (__LL_ADC_CHANNEL_TO_DECIMAL_NB(LL_ADC_GetOffsetChannel(hadc->Instance, LL_ADC_OFFSET_2)) in HAL_ADC_ConfigChannel()
2836 LL_ADC_SetOffsetState(hadc->Instance, LL_ADC_OFFSET_2, LL_ADC_OFFSET_DISABLE); in HAL_ADC_ConfigChannel()
2838 if (__LL_ADC_CHANNEL_TO_DECIMAL_NB(LL_ADC_GetOffsetChannel(hadc->Instance, LL_ADC_OFFSET_3)) in HAL_ADC_ConfigChannel()
2841 LL_ADC_SetOffsetState(hadc->Instance, LL_ADC_OFFSET_3, LL_ADC_OFFSET_DISABLE); in HAL_ADC_ConfigChannel()
2843 if (__LL_ADC_CHANNEL_TO_DECIMAL_NB(LL_ADC_GetOffsetChannel(hadc->Instance, LL_ADC_OFFSET_4)) in HAL_ADC_ConfigChannel()
2846 LL_ADC_SetOffsetState(hadc->Instance, LL_ADC_OFFSET_4, LL_ADC_OFFSET_DISABLE); in HAL_ADC_ConfigChannel()
2854 if (LL_ADC_IsEnabled(hadc->Instance) == 0UL) in HAL_ADC_ConfigChannel()
2857 LL_ADC_SetChannelSingleDiff(hadc->Instance, pConfig->Channel, pConfig->SingleDiff); in HAL_ADC_ConfigChannel()
2864 LL_ADC_SetChannelSamplingTime(hadc->Instance, in HAL_ADC_ConfigChannel()
2881 …tmp_config_internal_channel = LL_ADC_GetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instan… in HAL_ADC_ConfigChannel()
2888 if (ADC_TEMPERATURE_SENSOR_INSTANCE(hadc)) in HAL_ADC_ConfigChannel()
2890 LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), in HAL_ADC_ConfigChannel()
2908 if (ADC_BATTERY_VOLTAGE_INSTANCE(hadc)) in HAL_ADC_ConfigChannel()
2910 LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), in HAL_ADC_ConfigChannel()
2917 if (ADC_VREFINT_INSTANCE(hadc)) in HAL_ADC_ConfigChannel()
2919 LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), in HAL_ADC_ConfigChannel()
2936 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_ConfigChannel()
2942 __HAL_UNLOCK(hadc); in HAL_ADC_ConfigChannel()
2964 HAL_StatusTypeDef HAL_ADC_AnalogWDGConfig(ADC_HandleTypeDef *hadc, const ADC_AnalogWDGConfTypeDef *… in HAL_ADC_AnalogWDGConfig() argument
2973 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_AnalogWDGConfig()
2982 assert_param(IS_ADC_CHANNEL(hadc, pAnalogWDGConfig->Channel)); in HAL_ADC_AnalogWDGConfig()
2986 if (hadc->Init.OversamplingMode == ENABLE) in HAL_ADC_AnalogWDGConfig()
2997 assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), pAnalogWDGConfig->HighThreshold)); in HAL_ADC_AnalogWDGConfig()
2998 assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), pAnalogWDGConfig->LowThreshold)); in HAL_ADC_AnalogWDGConfig()
3002 __HAL_LOCK(hadc); in HAL_ADC_AnalogWDGConfig()
3009 tmp_adc_is_conversion_on_going_regular = LL_ADC_REG_IsConversionOngoing(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3010 tmp_adc_is_conversion_on_going_injected = LL_ADC_INJ_IsConversionOngoing(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3024 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, in HAL_ADC_AnalogWDGConfig()
3030 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, in HAL_ADC_AnalogWDGConfig()
3036 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, in HAL_ADC_AnalogWDGConfig()
3042 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, LL_ADC_AWD_ALL_CHANNELS_REG); in HAL_ADC_AnalogWDGConfig()
3046 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, LL_ADC_AWD_ALL_CHANNELS_INJ); in HAL_ADC_AnalogWDGConfig()
3050 … LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, LL_ADC_AWD_ALL_CHANNELS_REG_INJ); in HAL_ADC_AnalogWDGConfig()
3054 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, LL_ADC_AWD_DISABLE); in HAL_ADC_AnalogWDGConfig()
3061 …tmp_awd_high_threshold_shifted = ADC_AWD1THRESHOLD_SHIFT_RESOLUTION(hadc, pAnalogWDGConfig->HighTh… in HAL_ADC_AnalogWDGConfig()
3062 …tmp_awd_low_threshold_shifted = ADC_AWD1THRESHOLD_SHIFT_RESOLUTION(hadc, pAnalogWDGConfig->LowThr… in HAL_ADC_AnalogWDGConfig()
3065 …LL_ADC_ConfigAnalogWDThresholds(hadc->Instance, pAnalogWDGConfig->WatchdogNumber, tmp_awd_high_thr… in HAL_ADC_AnalogWDGConfig()
3069 CLEAR_BIT(hadc->State, HAL_ADC_STATE_AWD1); in HAL_ADC_AnalogWDGConfig()
3075 LL_ADC_ClearFlag_AWD1(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3080 LL_ADC_EnableIT_AWD1(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3084 LL_ADC_DisableIT_AWD1(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3099 SET_BIT(hadc->Instance->AWD2CR, in HAL_ADC_AnalogWDGConfig()
3104 SET_BIT(hadc->Instance->AWD3CR, in HAL_ADC_AnalogWDGConfig()
3112 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, in HAL_ADC_AnalogWDGConfig()
3117 …LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, pAnalogWDGConfig->WatchdogNumber, LL_ADC_AWD_DISAB… in HAL_ADC_AnalogWDGConfig()
3123 …tmp_awd_high_threshold_shifted = ADC_AWD23THRESHOLD_SHIFT_RESOLUTION(hadc, pAnalogWDGConfig->HighT… in HAL_ADC_AnalogWDGConfig()
3124 …tmp_awd_low_threshold_shifted = ADC_AWD23THRESHOLD_SHIFT_RESOLUTION(hadc, pAnalogWDGConfig->LowTh… in HAL_ADC_AnalogWDGConfig()
3127 …LL_ADC_ConfigAnalogWDThresholds(hadc->Instance, pAnalogWDGConfig->WatchdogNumber, tmp_awd_high_thr… in HAL_ADC_AnalogWDGConfig()
3133 CLEAR_BIT(hadc->State, HAL_ADC_STATE_AWD2); in HAL_ADC_AnalogWDGConfig()
3139 LL_ADC_ClearFlag_AWD2(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3144 LL_ADC_EnableIT_AWD2(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3148 LL_ADC_DisableIT_AWD2(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3155 CLEAR_BIT(hadc->State, HAL_ADC_STATE_AWD3); in HAL_ADC_AnalogWDGConfig()
3161 LL_ADC_ClearFlag_AWD3(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3166 LL_ADC_EnableIT_AWD3(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3170 LL_ADC_DisableIT_AWD3(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3181 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_AnalogWDGConfig()
3186 __HAL_UNLOCK(hadc); in HAL_ADC_AnalogWDGConfig()
3224 uint32_t HAL_ADC_GetState(const ADC_HandleTypeDef *hadc) in HAL_ADC_GetState() argument
3227 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_GetState()
3230 return hadc->State; in HAL_ADC_GetState()
3238 uint32_t HAL_ADC_GetError(const ADC_HandleTypeDef *hadc) in HAL_ADC_GetError() argument
3241 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_GetError()
3243 return hadc->ErrorCode; in HAL_ADC_GetError()
3268 HAL_StatusTypeDef ADC_ConversionStop(ADC_HandleTypeDef *hadc, uint32_t ConversionGroup) in ADC_ConversionStop() argument
3278 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in ADC_ConversionStop()
3283 tmp_adc_is_conversion_on_going_regular = LL_ADC_REG_IsConversionOngoing(hadc->Instance); in ADC_ConversionStop()
3284 tmp_adc_is_conversion_on_going_injected = LL_ADC_INJ_IsConversionOngoing(hadc->Instance); in ADC_ConversionStop()
3295 if (((hadc->Instance->CFGR & ADC_CFGR_JAUTO) != 0UL) in ADC_ConversionStop()
3296 && (hadc->Init.ContinuousConvMode == ENABLE) in ADC_ConversionStop()
3297 && (hadc->Init.LowPowerAutoWait == ENABLE) in ADC_ConversionStop()
3304 while (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_JEOS) == 0UL) in ADC_ConversionStop()
3309 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_ConversionStop()
3312 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_ConversionStop()
3320 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_JEOS); in ADC_ConversionStop()
3327 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) != 0UL) in ADC_ConversionStop()
3329 if (LL_ADC_IsDisableOngoing(hadc->Instance) == 0UL) in ADC_ConversionStop()
3332 LL_ADC_REG_StopConversion(hadc->Instance); in ADC_ConversionStop()
3341 if (LL_ADC_INJ_IsConversionOngoing(hadc->Instance) != 0UL) in ADC_ConversionStop()
3343 if (LL_ADC_IsDisableOngoing(hadc->Instance) == 0UL) in ADC_ConversionStop()
3346 LL_ADC_INJ_StopConversion(hadc->Instance); in ADC_ConversionStop()
3369 while ((hadc->Instance->CR & tmp_ADC_CR_ADSTART_JADSTART) != 0UL) in ADC_ConversionStop()
3374 if ((hadc->Instance->CR & tmp_ADC_CR_ADSTART_JADSTART) != 0UL) in ADC_ConversionStop()
3377 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_ConversionStop()
3380 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_ConversionStop()
3400 HAL_StatusTypeDef ADC_Enable(ADC_HandleTypeDef *hadc) in ADC_Enable() argument
3409 if (LL_ADC_IsEnabled(hadc->Instance) == 0UL) in ADC_Enable()
3412 …if ((hadc->Instance->CR & (ADC_CR_ADCAL | ADC_CR_JADSTP | ADC_CR_ADSTP | ADC_CR_JADSTART | ADC_CR_… in ADC_Enable()
3416 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_Enable()
3419 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_Enable()
3425 LL_ADC_Enable(hadc->Instance); in ADC_Enable()
3427 if ((LL_ADC_GetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance)) in ADC_Enable()
3450 while (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_RDY) == 0UL) in ADC_Enable()
3460 if (LL_ADC_IsEnabled(hadc->Instance) == 0UL) in ADC_Enable()
3462 LL_ADC_Enable(hadc->Instance); in ADC_Enable()
3468 if (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_RDY) == 0UL) in ADC_Enable()
3471 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_Enable()
3474 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_Enable()
3493 HAL_StatusTypeDef ADC_Disable(ADC_HandleTypeDef *hadc) in ADC_Disable() argument
3496 const uint32_t tmp_adc_is_disable_on_going = LL_ADC_IsDisableOngoing(hadc->Instance); in ADC_Disable()
3501 if ((LL_ADC_IsEnabled(hadc->Instance) != 0UL) in ADC_Disable()
3506 if ((hadc->Instance->CR & (ADC_CR_JADSTART | ADC_CR_ADSTART | ADC_CR_ADEN)) == ADC_CR_ADEN) in ADC_Disable()
3509 LL_ADC_Disable(hadc->Instance); in ADC_Disable()
3510 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOSMP | ADC_FLAG_RDY)); in ADC_Disable()
3515 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_Disable()
3518 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_Disable()
3527 while ((hadc->Instance->CR & ADC_CR_ADEN) != 0UL) in ADC_Disable()
3532 if ((hadc->Instance->CR & ADC_CR_ADEN) != 0UL) in ADC_Disable()
3535 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_Disable()
3538 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_Disable()
3558 ADC_HandleTypeDef *hadc = (ADC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in ADC_DMAConvCplt() local
3561 if ((hadc->State & (HAL_ADC_STATE_ERROR_INTERNAL | HAL_ADC_STATE_ERROR_DMA)) == 0UL) in ADC_DMAConvCplt()
3564 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); in ADC_DMAConvCplt()
3570 if ((hadc->Instance->ISR & ADC_FLAG_EOS) != 0UL) in ADC_DMAConvCplt()
3573 if (LL_ADC_REG_IsTriggerSourceSWStart(hadc->Instance) != 0UL) in ADC_DMAConvCplt()
3576 if (READ_BIT(hadc->Instance->CFGR, ADC_CFGR_CONT) == 0UL) in ADC_DMAConvCplt()
3579 CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); in ADC_DMAConvCplt()
3580 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) == 0UL) in ADC_DMAConvCplt()
3582 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in ADC_DMAConvCplt()
3591 if (READ_BIT(hadc->Instance->CFGR, ADC_CFGR_DMACFG) == 0UL) in ADC_DMAConvCplt()
3594 CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); in ADC_DMAConvCplt()
3595 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) == 0UL) in ADC_DMAConvCplt()
3597 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in ADC_DMAConvCplt()
3604 hadc->ConvCpltCallback(hadc); in ADC_DMAConvCplt()
3606 HAL_ADC_ConvCpltCallback(hadc); in ADC_DMAConvCplt()
3611 if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) != 0UL) in ADC_DMAConvCplt()
3615 hadc->ErrorCallback(hadc); in ADC_DMAConvCplt()
3617 HAL_ADC_ErrorCallback(hadc); in ADC_DMAConvCplt()
3623 hadc->DMA_Handle->XferErrorCallback(hdma); in ADC_DMAConvCplt()
3636 ADC_HandleTypeDef *hadc = (ADC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in ADC_DMAHalfConvCplt() local
3640 hadc->ConvHalfCpltCallback(hadc); in ADC_DMAHalfConvCplt()
3642 HAL_ADC_ConvHalfCpltCallback(hadc); in ADC_DMAHalfConvCplt()
3654 ADC_HandleTypeDef *hadc = (ADC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in ADC_DMAError() local
3657 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA); in ADC_DMAError()
3660 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_DMA); in ADC_DMAError()
3664 hadc->ErrorCallback(hadc); in ADC_DMAError()
3666 HAL_ADC_ErrorCallback(hadc); in ADC_DMAError()