Lines Matching refs:hadc
403 HAL_StatusTypeDef HAL_ADC_Init(ADC_HandleTypeDef *hadc) in HAL_ADC_Init() argument
412 if (hadc == NULL) in HAL_ADC_Init()
418 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Init()
419 assert_param(IS_ADC_RESOLUTION(hadc->Init.Resolution)); in HAL_ADC_Init()
420 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode)); in HAL_ADC_Init()
421 assert_param(IS_ADC_EXTTRIG_EDGE(hadc->Init.ExternalTrigConvEdge)); in HAL_ADC_Init()
422 assert_param(IS_ADC_SCAN_MODE(hadc->Init.ScanConvMode)); in HAL_ADC_Init()
423 assert_param(IS_ADC_GAIN_COMPENSATION(hadc->Init.GainCompensation)); in HAL_ADC_Init()
424 assert_param(IS_ADC_SAMPLINGMODE(hadc->Init.SamplingMode)); in HAL_ADC_Init()
425 assert_param(IS_ADC_CONVERSIONDATAMGT(hadc->Init.ConversionDataManagement)); in HAL_ADC_Init()
426 assert_param(IS_ADC_EXTTRIG(hadc->Instance, hadc->Init.ExternalTrigConv)); in HAL_ADC_Init()
427 assert_param(IS_ADC_EOC_SELECTION(hadc->Init.EOCSelection)); in HAL_ADC_Init()
428 assert_param(IS_ADC_OVERRUN(hadc->Init.Overrun)); in HAL_ADC_Init()
429 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.LowPowerAutoWait)); in HAL_ADC_Init()
430 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.OversamplingMode)); in HAL_ADC_Init()
432 if (hadc->Init.ScanConvMode != ADC_SCAN_DISABLE) in HAL_ADC_Init()
434 assert_param(IS_ADC_REGULAR_NB_CONV(hadc->Init.NbrOfConversion)); in HAL_ADC_Init()
435 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.DiscontinuousConvMode)); in HAL_ADC_Init()
437 if (hadc->Init.DiscontinuousConvMode == ENABLE) in HAL_ADC_Init()
439 assert_param(IS_ADC_REGULAR_DISCONT_NUMBER(hadc->Init.NbrOfDiscConversion)); in HAL_ADC_Init()
444 …assert_param(!((hadc->Init.DiscontinuousConvMode == ENABLE) && (hadc->Init.ContinuousConvMode == E… in HAL_ADC_Init()
448 if (hadc->State == HAL_ADC_STATE_RESET) in HAL_ADC_Init()
452 …hadc->ConvCpltCallback = HAL_ADC_ConvCpltCallback; /* Legacy weak cal… in HAL_ADC_Init()
453 …hadc->ConvHalfCpltCallback = HAL_ADC_ConvHalfCpltCallback; /* Legacy weak cal… in HAL_ADC_Init()
454 …hadc->LevelOutOfWindowCallback = HAL_ADC_LevelOutOfWindowCallback; /* Legacy weak cal… in HAL_ADC_Init()
455 …hadc->ErrorCallback = HAL_ADC_ErrorCallback; /* Legacy weak cal… in HAL_ADC_Init()
456 …hadc->InjectedConvCpltCallback = HAL_ADCEx_InjectedConvCpltCallback; /* Legacy weak cal… in HAL_ADC_Init()
457 …hadc->LevelOutOfWindow2Callback = HAL_ADCEx_LevelOutOfWindow2Callback; /* Legacy weak cal… in HAL_ADC_Init()
458 …hadc->LevelOutOfWindow3Callback = HAL_ADCEx_LevelOutOfWindow3Callback; /* Legacy weak cal… in HAL_ADC_Init()
459 …hadc->EndOfSamplingCallback = HAL_ADCEx_EndOfSamplingCallback; /* Legacy weak cal… in HAL_ADC_Init()
461 if (hadc->MspInitCallback == NULL) in HAL_ADC_Init()
463 hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */ in HAL_ADC_Init()
467 hadc->MspInitCallback(hadc); in HAL_ADC_Init()
470 HAL_ADC_MspInit(hadc); in HAL_ADC_Init()
474 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Init()
477 hadc->Lock = HAL_UNLOCKED; in HAL_ADC_Init()
481 if (LL_ADC_IsEnabled(hadc->Instance) != 0UL) in HAL_ADC_Init()
487 if (LL_ADC_IsDeepPowerDownEnabled(hadc->Instance) != 0UL) in HAL_ADC_Init()
490 LL_ADC_DisableDeepPowerDown(hadc->Instance); in HAL_ADC_Init()
500 tmp_adc_reg_is_conversion_on_going = LL_ADC_REG_IsConversionOngoing(hadc->Instance); in HAL_ADC_Init()
502 if (((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) == 0UL) in HAL_ADC_Init()
507 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Init()
523 tmpCFGR1 = (ADC_CFGR1_CONTINUOUS((uint32_t)hadc->Init.ContinuousConvMode) | in HAL_ADC_Init()
524 hadc->Init.Overrun | in HAL_ADC_Init()
525 hadc->Init.Resolution | in HAL_ADC_Init()
526 ADC_CFGR1_REG_DISCONTINUOUS((uint32_t)hadc->Init.DiscontinuousConvMode)); in HAL_ADC_Init()
528 if (hadc->Init.DiscontinuousConvMode == ENABLE) in HAL_ADC_Init()
530 tmpCFGR1 |= ADC_CFGR1_DISCONTINUOUS_NUM(hadc->Init.NbrOfDiscConversion); in HAL_ADC_Init()
538 if (hadc->Init.ExternalTrigConv != ADC_SOFTWARE_START) in HAL_ADC_Init()
540 tmpCFGR1 |= ((hadc->Init.ExternalTrigConv & ADC_CFGR1_EXTSEL) in HAL_ADC_Init()
541 | hadc->Init.ExternalTrigConvEdge in HAL_ADC_Init()
546 MODIFY_REG(hadc->Instance->CFGR1, ADC_CFGR1_FIELDS_1, tmpCFGR1); in HAL_ADC_Init()
549 MODIFY_REG(hadc->Instance->CFGR2, ADC_CFGR2_BULB | ADC_CFGR2_SMPTRIG, hadc->Init.SamplingMode); in HAL_ADC_Init()
557 tmp_adc_is_conversion_on_going_regular = LL_ADC_REG_IsConversionOngoing(hadc->Instance); in HAL_ADC_Init()
558 tmp_adc_is_conversion_on_going_injected = LL_ADC_INJ_IsConversionOngoing(hadc->Instance); in HAL_ADC_Init()
564 ADC_CFGR1_AUTODELAY((uint32_t)hadc->Init.LowPowerAutoWait) | in HAL_ADC_Init()
565 ADC_CFGR1_DMACONTREQ((uint32_t)hadc->Init.ConversionDataManagement)); in HAL_ADC_Init()
567 MODIFY_REG(hadc->Instance->CFGR1, ADC_CFGR1_FIELDS_2, tmpCFGR1); in HAL_ADC_Init()
569 LL_ADC_SetGainCompensation(hadc->Instance, hadc->Init.GainCompensation); in HAL_ADC_Init()
571 if (hadc->Init.OversamplingMode == ENABLE) in HAL_ADC_Init()
573 assert_param(IS_ADC_OVERSAMPLING_RATIO(hadc->Init.Oversampling.Ratio)); in HAL_ADC_Init()
574 assert_param(IS_ADC_RIGHT_BIT_SHIFT(hadc->Init.Oversampling.RightBitShift)); in HAL_ADC_Init()
575 assert_param(IS_ADC_TRIGGERED_OVERSAMPLING_MODE(hadc->Init.Oversampling.TriggeredMode)); in HAL_ADC_Init()
576 assert_param(IS_ADC_REGOVERSAMPLING_MODE(hadc->Init.Oversampling.OversamplingStopReset)); in HAL_ADC_Init()
578 if ((hadc->Init.ExternalTrigConv == ADC_SOFTWARE_START) in HAL_ADC_Init()
579 || (hadc->Init.ExternalTrigConvEdge == ADC_EXTERNALTRIGCONVEDGE_NONE)) in HAL_ADC_Init()
582 assert_param((hadc->Init.Oversampling.TriggeredMode == ADC_TRIGGEREDMODE_SINGLE_TRIGGER)); in HAL_ADC_Init()
591 MODIFY_REG(hadc->Instance->CFGR2, ADC_CFGR2_FIELDS, in HAL_ADC_Init()
593 ((hadc->Init.Oversampling.Ratio - 1UL) << ADC_CFGR2_OVSR_Pos) | in HAL_ADC_Init()
594 hadc->Init.Oversampling.RightBitShift | in HAL_ADC_Init()
595 hadc->Init.Oversampling.TriggeredMode | in HAL_ADC_Init()
596 hadc->Init.Oversampling.OversamplingStopReset); in HAL_ADC_Init()
602 CLEAR_BIT(hadc->Instance->CFGR2, ADC_CFGR2_ROVSE); in HAL_ADC_Init()
606 MODIFY_REG(hadc->Instance->CFGR2, ADC_CFGR2_LSHIFT, hadc->Init.LeftBitShift); in HAL_ADC_Init()
618 if (hadc->Init.ScanConvMode == ADC_SCAN_ENABLE) in HAL_ADC_Init()
621 MODIFY_REG(hadc->Instance->SQR1, ADC_SQR1_L, (hadc->Init.NbrOfConversion - (uint8_t)1)); in HAL_ADC_Init()
625 CLEAR_BIT(hadc->Instance->SQR1, ADC_SQR1_L); in HAL_ADC_Init()
630 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_BUSY_INTERNAL, HAL_ADC_STATE_READY); in HAL_ADC_Init()
635 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in HAL_ADC_Init()
661 HAL_StatusTypeDef HAL_ADC_DeInit(ADC_HandleTypeDef *hadc) in HAL_ADC_DeInit() argument
666 if (hadc == NULL) in HAL_ADC_DeInit()
672 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_DeInit()
675 SET_BIT(hadc->State, HAL_ADC_STATE_BUSY_INTERNAL); in HAL_ADC_DeInit()
678 tmp_hal_status = ADC_ConversionStop(hadc, ADC_REGULAR_INJECTED_GROUP); in HAL_ADC_DeInit()
684 tmp_hal_status = ADC_Disable(hadc); in HAL_ADC_DeInit()
690 hadc->State = HAL_ADC_STATE_READY; in HAL_ADC_DeInit()
695 LL_ADC_EnableDeepPowerDown(hadc->Instance); in HAL_ADC_DeInit()
705 __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_AWD3 | ADC_IT_AWD2 | ADC_IT_AWD1 | in HAL_ADC_DeInit()
712 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_AWD3 | ADC_FLAG_AWD2 | ADC_FLAG_AWD1 | in HAL_ADC_DeInit()
723 CLEAR_BIT(hadc->Instance->CR, ADC_CR_ADCALDIF); in HAL_ADC_DeInit()
724 SET_BIT(hadc->Instance->CR, ADC_CR_DEEPPWD); in HAL_ADC_DeInit()
727 CLEAR_BIT(hadc->Instance->CFGR1, ADC_CFGR1_AWD1CH | ADC_CFGR1_JAUTO | in HAL_ADC_DeInit()
735 CLEAR_BIT(hadc->Instance->CFGR2, ADC_CFGR2_SMPTRIG | in HAL_ADC_DeInit()
741 CLEAR_BIT(hadc->Instance->SMPR1, ADC_SMPR1_FIELDS); in HAL_ADC_DeInit()
744 CLEAR_BIT(hadc->Instance->SMPR2, in HAL_ADC_DeInit()
750 CLEAR_BIT(hadc->Instance->AWD1LTR, ADC_AWD1LTR_LTR); in HAL_ADC_DeInit()
751 SET_BIT(hadc->Instance->AWD1HTR, ADC_AWD1HTR_HTR); in HAL_ADC_DeInit()
754 CLEAR_BIT(hadc->Instance->AWD2LTR, ADC_AWD2LTR_LTR); in HAL_ADC_DeInit()
755 SET_BIT(hadc->Instance->AWD2HTR, ADC_AWD2HTR_HTR); in HAL_ADC_DeInit()
758 CLEAR_BIT(hadc->Instance->AWD3LTR, ADC_AWD3LTR_LTR); in HAL_ADC_DeInit()
759 SET_BIT(hadc->Instance->AWD3HTR, ADC_AWD3HTR_HTR); in HAL_ADC_DeInit()
762 CLEAR_BIT(hadc->Instance->SQR1, ADC_SQR1_SQ4 | ADC_SQR1_SQ3 | ADC_SQR1_SQ2 | in HAL_ADC_DeInit()
766 CLEAR_BIT(hadc->Instance->SQR2, ADC_SQR2_SQ9 | ADC_SQR2_SQ8 | ADC_SQR2_SQ7 | in HAL_ADC_DeInit()
770 CLEAR_BIT(hadc->Instance->SQR3, ADC_SQR3_SQ14 | ADC_SQR3_SQ13 | ADC_SQR3_SQ12 | in HAL_ADC_DeInit()
774 CLEAR_BIT(hadc->Instance->SQR4, ADC_SQR4_SQ16 | ADC_SQR4_SQ15); in HAL_ADC_DeInit()
782 CLEAR_BIT(hadc->Instance->OFCFGR1, ADC_OFCFGR1_SSAT | ADC_OFCFGR1_OFFSET_CH); in HAL_ADC_DeInit()
783 CLEAR_BIT(hadc->Instance->OFR1, ADC_OFR1_OFFSET); in HAL_ADC_DeInit()
785 CLEAR_BIT(hadc->Instance->OFCFGR2, ADC_OFCFGR2_SSAT | ADC_OFCFGR2_OFFSET_CH); in HAL_ADC_DeInit()
786 CLEAR_BIT(hadc->Instance->OFR2, ADC_OFR2_OFFSET); in HAL_ADC_DeInit()
788 CLEAR_BIT(hadc->Instance->OFCFGR3, ADC_OFCFGR3_SSAT | ADC_OFCFGR3_OFFSET_CH); in HAL_ADC_DeInit()
789 CLEAR_BIT(hadc->Instance->OFR3, ADC_OFR3_OFFSET); in HAL_ADC_DeInit()
791 CLEAR_BIT(hadc->Instance->OFCFGR4, ADC_OFCFGR4_SSAT | ADC_OFCFGR4_OFFSET_CH); in HAL_ADC_DeInit()
792 CLEAR_BIT(hadc->Instance->OFR4, ADC_OFR4_OFFSET); in HAL_ADC_DeInit()
795 CLEAR_BIT(hadc->Instance->GCOMP, ADC_GCOMP_GCOMP | ADC_GCOMP_GCOMPCOEFF); in HAL_ADC_DeInit()
801 CLEAR_BIT(hadc->Instance->AWD2CR, ADC_AWD2CR_AWD2CH); in HAL_ADC_DeInit()
804 CLEAR_BIT(hadc->Instance->AWD3CR, ADC_AWD3CR_AWD3CH); in HAL_ADC_DeInit()
807 CLEAR_BIT(hadc->Instance->DIFSEL, ADC_DIFSEL_DIFSEL); in HAL_ADC_DeInit()
810 CLEAR_BIT(hadc->Instance->PCSEL, ADC_PCSEL_PCSEL); in HAL_ADC_DeInit()
813 CLEAR_BIT(hadc->Instance->CALFACT, ADC_CALFACT_CALFACT_D | ADC_CALFACT_CALFACT_S); in HAL_ADC_DeInit()
820 if (__LL_ADC_IS_ENABLED_ALL_COMMON_INSTANCE(__LL_ADC_COMMON_INSTANCE(hadc->Instance)) == 0UL) in HAL_ADC_DeInit()
829 ADC_CLEAR_COMMON_CONTROL_REGISTER(hadc); in HAL_ADC_DeInit()
841 if (hadc->MspDeInitCallback == NULL) in HAL_ADC_DeInit()
843 hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */ in HAL_ADC_DeInit()
847 hadc->MspDeInitCallback(hadc); in HAL_ADC_DeInit()
850 HAL_ADC_MspDeInit(hadc); in HAL_ADC_DeInit()
854 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_DeInit()
857 hadc->State = HAL_ADC_STATE_RESET; in HAL_ADC_DeInit()
867 __weak void HAL_ADC_MspInit(ADC_HandleTypeDef *hadc) in HAL_ADC_MspInit() argument
870 UNUSED(hadc); in HAL_ADC_MspInit()
884 __weak void HAL_ADC_MspDeInit(ADC_HandleTypeDef *hadc) in HAL_ADC_MspDeInit() argument
887 UNUSED(hadc); in HAL_ADC_MspDeInit()
917 HAL_StatusTypeDef HAL_ADC_RegisterCallback(ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef Callb… in HAL_ADC_RegisterCallback() argument
925 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
930 if ((hadc->State & HAL_ADC_STATE_READY) != 0UL) in HAL_ADC_RegisterCallback()
935 hadc->ConvCpltCallback = pCallback; in HAL_ADC_RegisterCallback()
939 hadc->ConvHalfCpltCallback = pCallback; in HAL_ADC_RegisterCallback()
943 hadc->LevelOutOfWindowCallback = pCallback; in HAL_ADC_RegisterCallback()
947 hadc->ErrorCallback = pCallback; in HAL_ADC_RegisterCallback()
951 hadc->InjectedConvCpltCallback = pCallback; in HAL_ADC_RegisterCallback()
955 hadc->LevelOutOfWindow2Callback = pCallback; in HAL_ADC_RegisterCallback()
959 hadc->LevelOutOfWindow3Callback = pCallback; in HAL_ADC_RegisterCallback()
963 hadc->EndOfSamplingCallback = pCallback; in HAL_ADC_RegisterCallback()
967 hadc->MspInitCallback = pCallback; in HAL_ADC_RegisterCallback()
971 hadc->MspDeInitCallback = pCallback; in HAL_ADC_RegisterCallback()
976 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
983 else if (HAL_ADC_STATE_RESET == hadc->State) in HAL_ADC_RegisterCallback()
988 hadc->MspInitCallback = pCallback; in HAL_ADC_RegisterCallback()
992 hadc->MspDeInitCallback = pCallback; in HAL_ADC_RegisterCallback()
997 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
1007 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
1037 HAL_StatusTypeDef HAL_ADC_UnRegisterCallback(ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef Cal… in HAL_ADC_UnRegisterCallback() argument
1041 if ((hadc->State & HAL_ADC_STATE_READY) != 0UL) in HAL_ADC_UnRegisterCallback()
1046 hadc->ConvCpltCallback = HAL_ADC_ConvCpltCallback; in HAL_ADC_UnRegisterCallback()
1050 hadc->ConvHalfCpltCallback = HAL_ADC_ConvHalfCpltCallback; in HAL_ADC_UnRegisterCallback()
1054 hadc->LevelOutOfWindowCallback = HAL_ADC_LevelOutOfWindowCallback; in HAL_ADC_UnRegisterCallback()
1058 hadc->ErrorCallback = HAL_ADC_ErrorCallback; in HAL_ADC_UnRegisterCallback()
1062 hadc->InjectedConvCpltCallback = HAL_ADCEx_InjectedConvCpltCallback; in HAL_ADC_UnRegisterCallback()
1066 hadc->LevelOutOfWindow2Callback = HAL_ADCEx_LevelOutOfWindow2Callback; in HAL_ADC_UnRegisterCallback()
1070 hadc->LevelOutOfWindow3Callback = HAL_ADCEx_LevelOutOfWindow3Callback; in HAL_ADC_UnRegisterCallback()
1074 hadc->EndOfSamplingCallback = HAL_ADCEx_EndOfSamplingCallback; in HAL_ADC_UnRegisterCallback()
1078 hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */ in HAL_ADC_UnRegisterCallback()
1082 hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */ in HAL_ADC_UnRegisterCallback()
1087 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_UnRegisterCallback()
1094 else if (HAL_ADC_STATE_RESET == hadc->State) in HAL_ADC_UnRegisterCallback()
1099 … hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */ in HAL_ADC_UnRegisterCallback()
1103 … hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */ in HAL_ADC_UnRegisterCallback()
1108 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_UnRegisterCallback()
1118 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_UnRegisterCallback()
1164 HAL_StatusTypeDef HAL_ADC_Start(ADC_HandleTypeDef *hadc) in HAL_ADC_Start() argument
1169 uint32_t tmp_multimode_config = LL_ADC_GetMultimode(__LL_ADC_COMMON_INSTANCE(hadc->Instance)); in HAL_ADC_Start()
1173 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Start()
1176 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_Start()
1179 __HAL_LOCK(hadc); in HAL_ADC_Start()
1182 tmp_hal_status = ADC_Enable(hadc); in HAL_ADC_Start()
1190 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Start()
1198 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_Start()
1202 CLEAR_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); in HAL_ADC_Start()
1208 if (HAL_IS_BIT_SET(hadc->State, HAL_ADC_STATE_INJ_BUSY)) in HAL_ADC_Start()
1211 CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); in HAL_ADC_Start()
1216 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Start()
1221 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR)); in HAL_ADC_Start()
1225 __HAL_UNLOCK(hadc); in HAL_ADC_Start()
1236 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_Start()
1243 if (READ_BIT(hadc->Instance->CFGR1, ADC_CFGR1_JAUTO) != 0UL) in HAL_ADC_Start()
1245 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_Start()
1249 LL_ADC_REG_StartConversion(hadc->Instance); in HAL_ADC_Start()
1254 SET_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); in HAL_ADC_Start()
1257 tmpADC_Master = __LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance); in HAL_ADC_Start()
1260 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_Start()
1265 if (READ_BIT(hadc->Instance->CFGR1, ADC_CFGR1_JAUTO) != 0UL) in HAL_ADC_Start()
1267 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_Start()
1271 LL_ADC_REG_StartConversion(hadc->Instance); in HAL_ADC_Start()
1276 __HAL_UNLOCK(hadc); in HAL_ADC_Start()
1296 HAL_StatusTypeDef HAL_ADC_Stop(ADC_HandleTypeDef *hadc) in HAL_ADC_Stop() argument
1301 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Stop()
1304 __HAL_LOCK(hadc); in HAL_ADC_Stop()
1307 tmp_hal_status = ADC_ConversionStop(hadc, ADC_REGULAR_INJECTED_GROUP); in HAL_ADC_Stop()
1313 tmp_hal_status = ADC_Disable(hadc); in HAL_ADC_Stop()
1319 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Stop()
1325 __HAL_UNLOCK(hadc); in HAL_ADC_Stop()
1348 HAL_StatusTypeDef HAL_ADC_PollForConversion(ADC_HandleTypeDef *hadc, uint32_t Timeout) in HAL_ADC_PollForConversion() argument
1355 uint32_t tmp_multimode_config = LL_ADC_GetMultimode(__LL_ADC_COMMON_INSTANCE(hadc->Instance)); in HAL_ADC_PollForConversion()
1359 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_PollForConversion()
1362 if (hadc->Init.EOCSelection == ADC_EOC_SEQ_CONV) in HAL_ADC_PollForConversion()
1382 if (READ_BIT(hadc->Instance->CFGR1, ADC_CFGR1_DMNGT_0) != 0UL) in HAL_ADC_PollForConversion()
1384 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_PollForConversion()
1395 …if (LL_ADC_GetMultiDataFormat(__LL_ADC_COMMON_INSTANCE(hadc->Instance)) != LL_ADC_MULTI_REG_DATA_E… in HAL_ADC_PollForConversion()
1397 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_PollForConversion()
1407 if (LL_ADC_REG_GetDMATransfer(hadc->Instance) != LL_ADC_REG_DMA_TRANSFER_NONE) in HAL_ADC_PollForConversion()
1409 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_PollForConversion()
1423 while ((hadc->Instance->ISR & tmp_Flag_End) == 0UL) in HAL_ADC_PollForConversion()
1431 if ((hadc->Instance->ISR & tmp_Flag_End) == 0UL) in HAL_ADC_PollForConversion()
1434 SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT); in HAL_ADC_PollForConversion()
1436 __HAL_UNLOCK(hadc); in HAL_ADC_PollForConversion()
1445 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); in HAL_ADC_PollForConversion()
1449 if ((LL_ADC_REG_IsTriggerSourceSWStart(hadc->Instance) != 0UL) in HAL_ADC_PollForConversion()
1450 && (hadc->Init.ContinuousConvMode == DISABLE) in HAL_ADC_PollForConversion()
1454 if (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS)) in HAL_ADC_PollForConversion()
1457 CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); in HAL_ADC_PollForConversion()
1459 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) == 0UL) in HAL_ADC_PollForConversion()
1461 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in HAL_ADC_PollForConversion()
1470 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_PollForConversion()
1477 tmp_cfgr = READ_REG(hadc->Instance->CFGR1); in HAL_ADC_PollForConversion()
1482 tmpADC_Master = __LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance); in HAL_ADC_PollForConversion()
1487 tmp_cfgr = READ_REG(hadc->Instance->CFGR1); in HAL_ADC_PollForConversion()
1493 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOS); in HAL_ADC_PollForConversion()
1502 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS)); in HAL_ADC_PollForConversion()
1531 HAL_StatusTypeDef HAL_ADC_PollForEvent(ADC_HandleTypeDef *hadc, uint32_t EventType, uint32_t Timeou… in HAL_ADC_PollForEvent() argument
1536 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_PollForEvent()
1543 while (__HAL_ADC_GET_FLAG(hadc, EventType) == 0UL) in HAL_ADC_PollForEvent()
1551 if (__HAL_ADC_GET_FLAG(hadc, EventType) == 0UL) in HAL_ADC_PollForEvent()
1554 SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT); in HAL_ADC_PollForEvent()
1556 __HAL_UNLOCK(hadc); in HAL_ADC_PollForEvent()
1569 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOSMP); in HAL_ADC_PollForEvent()
1572 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOSMP); in HAL_ADC_PollForEvent()
1588 SET_BIT(hadc->State, HAL_ADC_STATE_AWD1); in HAL_ADC_PollForEvent()
1591 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD1); in HAL_ADC_PollForEvent()
1598 SET_BIT(hadc->State, HAL_ADC_STATE_AWD2); in HAL_ADC_PollForEvent()
1601 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD2); in HAL_ADC_PollForEvent()
1608 SET_BIT(hadc->State, HAL_ADC_STATE_AWD3); in HAL_ADC_PollForEvent()
1611 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD3); in HAL_ADC_PollForEvent()
1621 if (hadc->Init.Overrun == ADC_OVR_DATA_PRESERVED) in HAL_ADC_PollForEvent()
1624 SET_BIT(hadc->State, HAL_ADC_STATE_REG_OVR); in HAL_ADC_PollForEvent()
1627 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_OVR); in HAL_ADC_PollForEvent()
1634 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR); in HAL_ADC_PollForEvent()
1665 HAL_StatusTypeDef HAL_ADC_Start_IT(ADC_HandleTypeDef *hadc) in HAL_ADC_Start_IT() argument
1670 uint32_t tmp_multimode_config = LL_ADC_GetMultimode(__LL_ADC_COMMON_INSTANCE(hadc->Instance)); in HAL_ADC_Start_IT()
1674 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Start_IT()
1677 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_Start_IT()
1680 __HAL_LOCK(hadc); in HAL_ADC_Start_IT()
1683 tmp_hal_status = ADC_Enable(hadc); in HAL_ADC_Start_IT()
1691 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Start_IT()
1699 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_Start_IT()
1703 CLEAR_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); in HAL_ADC_Start_IT()
1709 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) != 0UL) in HAL_ADC_Start_IT()
1712 CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); in HAL_ADC_Start_IT()
1717 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Start_IT()
1722 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR)); in HAL_ADC_Start_IT()
1726 __HAL_UNLOCK(hadc); in HAL_ADC_Start_IT()
1729 __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_EOC | ADC_IT_EOS | ADC_IT_OVR)); in HAL_ADC_Start_IT()
1732 switch (hadc->Init.EOCSelection) in HAL_ADC_Start_IT()
1735 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_EOS); in HAL_ADC_Start_IT()
1739 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_EOC); in HAL_ADC_Start_IT()
1747 if (hadc->Init.Overrun == ADC_OVR_DATA_PRESERVED) in HAL_ADC_Start_IT()
1749 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_OVR); in HAL_ADC_Start_IT()
1761 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_Start_IT()
1768 if (READ_BIT(hadc->Instance->CFGR1, ADC_CFGR1_JAUTO) != 0UL) in HAL_ADC_Start_IT()
1770 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_Start_IT()
1776 switch (hadc->Init.EOCSelection) in HAL_ADC_Start_IT()
1779 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOC); in HAL_ADC_Start_IT()
1780 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_JEOS); in HAL_ADC_Start_IT()
1784 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOS); in HAL_ADC_Start_IT()
1785 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_JEOC); in HAL_ADC_Start_IT()
1791 LL_ADC_REG_StartConversion(hadc->Instance); in HAL_ADC_Start_IT()
1796 SET_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); in HAL_ADC_Start_IT()
1799 tmpADC_Master = __LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance); in HAL_ADC_Start_IT()
1804 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_Start_IT()
1806 switch (hadc->Init.EOCSelection) in HAL_ADC_Start_IT()
1809 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOC); in HAL_ADC_Start_IT()
1810 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_JEOS); in HAL_ADC_Start_IT()
1814 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOS); in HAL_ADC_Start_IT()
1815 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_JEOC); in HAL_ADC_Start_IT()
1822 if (READ_BIT(hadc->Instance->CFGR1, ADC_CFGR1_JAUTO) != 0UL) in HAL_ADC_Start_IT()
1824 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_Start_IT()
1830 switch (hadc->Init.EOCSelection) in HAL_ADC_Start_IT()
1833 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOC); in HAL_ADC_Start_IT()
1834 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_JEOS); in HAL_ADC_Start_IT()
1838 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOS); in HAL_ADC_Start_IT()
1839 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_JEOC); in HAL_ADC_Start_IT()
1845 LL_ADC_REG_StartConversion(hadc->Instance); in HAL_ADC_Start_IT()
1850 __HAL_UNLOCK(hadc); in HAL_ADC_Start_IT()
1869 HAL_StatusTypeDef HAL_ADC_Stop_IT(ADC_HandleTypeDef *hadc) in HAL_ADC_Stop_IT() argument
1874 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Stop_IT()
1877 __HAL_LOCK(hadc); in HAL_ADC_Stop_IT()
1880 tmp_hal_status = ADC_ConversionStop(hadc, ADC_REGULAR_INJECTED_GROUP); in HAL_ADC_Stop_IT()
1887 __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_EOC | ADC_IT_EOS | ADC_IT_OVR)); in HAL_ADC_Stop_IT()
1890 tmp_hal_status = ADC_Disable(hadc); in HAL_ADC_Stop_IT()
1896 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Stop_IT()
1902 __HAL_UNLOCK(hadc); in HAL_ADC_Stop_IT()
1920 HAL_StatusTypeDef HAL_ADC_Start_DMA(ADC_HandleTypeDef *hadc, const uint32_t *pData, uint32_t Length) in HAL_ADC_Start_DMA() argument
1924 uint32_t tmp_multimode_config = LL_ADC_GetMultimode(__LL_ADC_COMMON_INSTANCE(hadc->Instance)); in HAL_ADC_Start_DMA()
1930 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Start_DMA()
1933 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_Start_DMA()
1936 __HAL_LOCK(hadc); in HAL_ADC_Start_DMA()
1948 tmp_hal_status = ADC_Enable(hadc); in HAL_ADC_Start_DMA()
1956 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Start_DMA()
1964 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_Start_DMA()
1968 CLEAR_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); in HAL_ADC_Start_DMA()
1973 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) != 0UL) in HAL_ADC_Start_DMA()
1976 CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); in HAL_ADC_Start_DMA()
1981 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Start_DMA()
1985 hadc->DMA_Handle->XferCpltCallback = ADC_DMAConvCplt; in HAL_ADC_Start_DMA()
1988 hadc->DMA_Handle->XferHalfCpltCallback = ADC_DMAHalfConvCplt; in HAL_ADC_Start_DMA()
1991 hadc->DMA_Handle->XferErrorCallback = ADC_DMAError; in HAL_ADC_Start_DMA()
2000 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR)); in HAL_ADC_Start_DMA()
2004 __HAL_UNLOCK(hadc); in HAL_ADC_Start_DMA()
2009 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_OVR); in HAL_ADC_Start_DMA()
2013 if ((hadc->DMA_Handle->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) in HAL_ADC_Start_DMA()
2015 …if ((hadc->DMA_Handle->LinkedListQueue != NULL) && (hadc->DMA_Handle->LinkedListQueue->Head != NUL… in HAL_ADC_Start_DMA()
2018 … if (HAL_DMAEx_List_GetNodeConfig(&node_conf, hadc->DMA_Handle->LinkedListQueue->Head) != HAL_OK) in HAL_ADC_Start_DMA()
2040 …hadc->DMA_Handle->LinkedListQueue->Head->LinkRegisters[NODE_CBR1_DEFAULT_OFFSET] = (uint32_t)Lengt… in HAL_ADC_Start_DMA()
2041 …hadc->DMA_Handle->LinkedListQueue->Head->LinkRegisters[NODE_CSAR_DEFAULT_OFFSET] = … in HAL_ADC_Start_DMA()
2042 (uint32_t)&hadc->Instance->DR; in HAL_ADC_Start_DMA()
2043 …hadc->DMA_Handle->LinkedListQueue->Head->LinkRegisters[NODE_CDAR_DEFAULT_OFFSET] = (uint32_t)pData; in HAL_ADC_Start_DMA()
2044 tmp_hal_status = HAL_DMAEx_List_Start_IT(hadc->DMA_Handle); in HAL_ADC_Start_DMA()
2054 if (hadc->DMA_Handle->Init.SrcDataWidth == DMA_SRC_DATAWIDTH_WORD) in HAL_ADC_Start_DMA()
2059 else if (hadc->DMA_Handle->Init.SrcDataWidth == DMA_SRC_DATAWIDTH_HALFWORD) in HAL_ADC_Start_DMA()
2071 …tmp_hal_status = HAL_DMA_Start_IT(hadc->DMA_Handle, (uint32_t)&hadc->Instance->DR, (uint32_t)pData… in HAL_ADC_Start_DMA()
2082 LL_ADC_REG_StartConversion(hadc->Instance); in HAL_ADC_Start_DMA()
2087 __HAL_UNLOCK(hadc); in HAL_ADC_Start_DMA()
2094 __HAL_UNLOCK(hadc); in HAL_ADC_Start_DMA()
2119 HAL_StatusTypeDef HAL_ADC_Stop_DMA(ADC_HandleTypeDef *hadc) in HAL_ADC_Stop_DMA() argument
2124 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Stop_DMA()
2127 __HAL_LOCK(hadc); in HAL_ADC_Stop_DMA()
2130 tmp_hal_status = ADC_ConversionStop(hadc, ADC_REGULAR_INJECTED_GROUP); in HAL_ADC_Stop_DMA()
2136 MODIFY_REG(hadc->Instance->CFGR1, ADC_CFGR1_DMNGT_0 | ADC_CFGR1_DMNGT_1, 0UL); in HAL_ADC_Stop_DMA()
2140 if (hadc->DMA_Handle->State == HAL_DMA_STATE_BUSY) in HAL_ADC_Stop_DMA()
2142 tmp_hal_status = HAL_DMA_Abort(hadc->DMA_Handle); in HAL_ADC_Stop_DMA()
2148 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA); in HAL_ADC_Stop_DMA()
2153 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_OVR); in HAL_ADC_Stop_DMA()
2160 tmp_hal_status = ADC_Disable(hadc); in HAL_ADC_Stop_DMA()
2164 (void)ADC_Disable(hadc); in HAL_ADC_Stop_DMA()
2171 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Stop_DMA()
2178 __HAL_UNLOCK(hadc); in HAL_ADC_Stop_DMA()
2206 uint32_t HAL_ADC_GetValue(const ADC_HandleTypeDef *hadc) in HAL_ADC_GetValue() argument
2209 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_GetValue()
2215 return hadc->Instance->DR; in HAL_ADC_GetValue()
2237 int32_t HAL_ADC_GetSignedValue(const ADC_HandleTypeDef *hadc) in HAL_ADC_GetSignedValue() argument
2240 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_GetSignedValue()
2246 return (int32_t)(hadc->Instance->DR); in HAL_ADC_GetSignedValue()
2258 HAL_StatusTypeDef HAL_ADC_StartSampling(ADC_HandleTypeDef *hadc) in HAL_ADC_StartSampling() argument
2261 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_StartSampling()
2264 SET_BIT(hadc->Instance->CFGR2, ADC_CFGR2_SWTRIG); in HAL_ADC_StartSampling()
2280 HAL_StatusTypeDef HAL_ADC_StopSampling(ADC_HandleTypeDef *hadc) in HAL_ADC_StopSampling() argument
2283 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_StopSampling()
2286 CLEAR_BIT(hadc->Instance->CFGR2, ADC_CFGR2_SWTRIG); in HAL_ADC_StopSampling()
2297 void HAL_ADC_IRQHandler(ADC_HandleTypeDef *hadc) in HAL_ADC_IRQHandler() argument
2300 uint32_t tmp_isr = hadc->Instance->ISR; in HAL_ADC_IRQHandler()
2301 uint32_t tmp_ier = hadc->Instance->IER; in HAL_ADC_IRQHandler()
2307 uint32_t tmp_multimode_config = LL_ADC_GetMultimode(__LL_ADC_COMMON_INSTANCE(hadc->Instance)); in HAL_ADC_IRQHandler()
2311 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_IRQHandler()
2312 assert_param(IS_ADC_EOC_SELECTION(hadc->Init.EOCSelection)); in HAL_ADC_IRQHandler()
2318 if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) == 0UL) in HAL_ADC_IRQHandler()
2321 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOSMP); in HAL_ADC_IRQHandler()
2326 hadc->EndOfSamplingCallback(hadc); in HAL_ADC_IRQHandler()
2328 HAL_ADCEx_EndOfSamplingCallback(hadc); in HAL_ADC_IRQHandler()
2332 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOSMP); in HAL_ADC_IRQHandler()
2340 if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) == 0UL) in HAL_ADC_IRQHandler()
2343 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); in HAL_ADC_IRQHandler()
2349 if (LL_ADC_REG_IsTriggerSourceSWStart(hadc->Instance) != 0UL) in HAL_ADC_IRQHandler()
2355 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_IRQHandler()
2362 tmp_cfgr = READ_REG(hadc->Instance->CFGR1); in HAL_ADC_IRQHandler()
2367 tmpADC_Master = __LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance); in HAL_ADC_IRQHandler()
2371 tmp_cfgr = READ_REG(hadc->Instance->CFGR1); in HAL_ADC_IRQHandler()
2378 if (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS)) in HAL_ADC_IRQHandler()
2382 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_IRQHandler()
2388 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC | ADC_IT_EOS); in HAL_ADC_IRQHandler()
2391 CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); in HAL_ADC_IRQHandler()
2393 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) == 0UL) in HAL_ADC_IRQHandler()
2395 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in HAL_ADC_IRQHandler()
2401 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in HAL_ADC_IRQHandler()
2404 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in HAL_ADC_IRQHandler()
2416 hadc->ConvCpltCallback(hadc); in HAL_ADC_IRQHandler()
2418 HAL_ADC_ConvCpltCallback(hadc); in HAL_ADC_IRQHandler()
2426 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS)); in HAL_ADC_IRQHandler()
2434 if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) == 0UL) in HAL_ADC_IRQHandler()
2437 SET_BIT(hadc->State, HAL_ADC_STATE_INJ_EOC); in HAL_ADC_IRQHandler()
2441 tmp_adc_inj_is_trigger_source_sw_start = LL_ADC_INJ_IsTriggerSourceSWStart(hadc->Instance); in HAL_ADC_IRQHandler()
2442 tmp_adc_reg_is_trigger_source_sw_start = LL_ADC_REG_IsTriggerSourceSWStart(hadc->Instance); in HAL_ADC_IRQHandler()
2447 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_IRQHandler()
2453 tmp_cfgr = READ_REG(hadc->Instance->CFGR1); in HAL_ADC_IRQHandler()
2457 tmpADC_Master = __LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance); in HAL_ADC_IRQHandler()
2461 tmp_cfgr = READ_REG(hadc->Instance->CFGR1); in HAL_ADC_IRQHandler()
2476 if (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_JEOS)) in HAL_ADC_IRQHandler()
2478 if (LL_ADC_INJ_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_IRQHandler()
2481 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOC | ADC_IT_JEOS); in HAL_ADC_IRQHandler()
2484 CLEAR_BIT(hadc->State, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_IRQHandler()
2486 if ((hadc->State & HAL_ADC_STATE_REG_BUSY) == 0UL) in HAL_ADC_IRQHandler()
2488 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in HAL_ADC_IRQHandler()
2502 hadc->InjectedConvCpltCallback(hadc); in HAL_ADC_IRQHandler()
2504 HAL_ADCEx_InjectedConvCpltCallback(hadc); in HAL_ADC_IRQHandler()
2508 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_JEOC | ADC_FLAG_JEOS); in HAL_ADC_IRQHandler()
2515 SET_BIT(hadc->State, HAL_ADC_STATE_AWD1); in HAL_ADC_IRQHandler()
2519 hadc->LevelOutOfWindowCallback(hadc); in HAL_ADC_IRQHandler()
2521 HAL_ADC_LevelOutOfWindowCallback(hadc); in HAL_ADC_IRQHandler()
2525 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD1); in HAL_ADC_IRQHandler()
2532 SET_BIT(hadc->State, HAL_ADC_STATE_AWD2); in HAL_ADC_IRQHandler()
2536 hadc->LevelOutOfWindow2Callback(hadc); in HAL_ADC_IRQHandler()
2538 HAL_ADCEx_LevelOutOfWindow2Callback(hadc); in HAL_ADC_IRQHandler()
2542 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD2); in HAL_ADC_IRQHandler()
2549 SET_BIT(hadc->State, HAL_ADC_STATE_AWD3); in HAL_ADC_IRQHandler()
2553 hadc->LevelOutOfWindow3Callback(hadc); in HAL_ADC_IRQHandler()
2555 HAL_ADCEx_LevelOutOfWindow3Callback(hadc); in HAL_ADC_IRQHandler()
2559 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD3); in HAL_ADC_IRQHandler()
2571 if (hadc->Init.Overrun == ADC_OVR_DATA_PRESERVED) in HAL_ADC_IRQHandler()
2585 …if (LL_ADC_GetMultiDataFormat(__LL_ADC_COMMON_INSTANCE(hadc->Instance)) != LL_ADC_MULTI_REG_DATA_E… in HAL_ADC_IRQHandler()
2594 if ((hadc->Instance->CFGR1 & ADC_CFGR1_DMNGT) != 0UL) in HAL_ADC_IRQHandler()
2604 SET_BIT(hadc->State, HAL_ADC_STATE_REG_OVR); in HAL_ADC_IRQHandler()
2607 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_OVR); in HAL_ADC_IRQHandler()
2615 hadc->ErrorCallback(hadc); in HAL_ADC_IRQHandler()
2617 HAL_ADC_ErrorCallback(hadc); in HAL_ADC_IRQHandler()
2622 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR); in HAL_ADC_IRQHandler()
2633 __weak void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc) in HAL_ADC_ConvCpltCallback() argument
2636 UNUSED(hadc); in HAL_ADC_ConvCpltCallback()
2648 __weak void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef *hadc) in HAL_ADC_ConvHalfCpltCallback() argument
2651 UNUSED(hadc); in HAL_ADC_ConvHalfCpltCallback()
2663 __weak void HAL_ADC_LevelOutOfWindowCallback(ADC_HandleTypeDef *hadc) in HAL_ADC_LevelOutOfWindowCallback() argument
2666 UNUSED(hadc); in HAL_ADC_LevelOutOfWindowCallback()
2685 __weak void HAL_ADC_ErrorCallback(ADC_HandleTypeDef *hadc) in HAL_ADC_ErrorCallback() argument
2688 UNUSED(hadc); in HAL_ADC_ErrorCallback()
2730 HAL_StatusTypeDef HAL_ADC_ConfigChannel(ADC_HandleTypeDef *hadc, const ADC_ChannelConfTypeDef *pCon… in HAL_ADC_ConfigChannel() argument
2740 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_ConfigChannel()
2748 …assert_param(!((pConfig->OffsetNumber != ADC_OFFSET_NONE) && (hadc->Init.OversamplingMode == ENABL… in HAL_ADC_ConfigChannel()
2753 assert_param(IS_ADC_CHANNEL(hadc, pConfig->Channel)); in HAL_ADC_ConfigChannel()
2757 assert_param(IS_ADC_DIFF_CHANNEL(hadc, pConfig->Channel)); in HAL_ADC_ConfigChannel()
2761 if (LL_ADC_IsEnabled(hadc->Instance) != 0UL) in HAL_ADC_ConfigChannel()
2767 __HAL_LOCK(hadc); in HAL_ADC_ConfigChannel()
2774 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_ConfigChannel()
2777 LL_ADC_SetChannelPreselection(hadc->Instance, pConfig->Channel); in HAL_ADC_ConfigChannel()
2780 LL_ADC_REG_SetSequencerRanks(hadc->Instance, pConfig->Rank, pConfig->Channel); in HAL_ADC_ConfigChannel()
2787 tmp_adc_is_conversion_on_going_regular = LL_ADC_REG_IsConversionOngoing(hadc->Instance); in HAL_ADC_ConfigChannel()
2788 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, pConfig->SamplingTime); in HAL_ADC_ConfigChannel()
2800 tmpOffsetShifted = ADC_OFFSET_SHIFT_RESOLUTION(hadc, (uint32_t)pConfig->Offset); in HAL_ADC_ConfigChannel()
2805 LL_ADC_SetOffsetChannel(hadc->Instance, pConfig->OffsetNumber, pConfig->Channel); in HAL_ADC_ConfigChannel()
2806 LL_ADC_SetOffsetLevel(hadc->Instance, pConfig->OffsetNumber, tmpOffsetShifted); in HAL_ADC_ConfigChannel()
2816 LL_ADC_SetOffsetSign(hadc->Instance, pConfig->OffsetNumber, pConfig->OffsetSign); in HAL_ADC_ConfigChannel()
2818 LL_ADC_SetOffsetSignedSaturation(hadc->Instance, pConfig->OffsetNumber, \ in HAL_ADC_ConfigChannel()
2823 LL_ADC_SetOffsetUnsignedSaturation(hadc->Instance, pConfig->OffsetNumber, \ in HAL_ADC_ConfigChannel()
2832 if (__LL_ADC_CHANNEL_TO_DECIMAL_NB(LL_ADC_GetOffsetChannel(hadc->Instance, LL_ADC_OFFSET_1)) in HAL_ADC_ConfigChannel()
2835 LL_ADC_SetOffsetLevel(hadc->Instance, LL_ADC_OFFSET_1, 0UL); in HAL_ADC_ConfigChannel()
2837 if (__LL_ADC_CHANNEL_TO_DECIMAL_NB(LL_ADC_GetOffsetChannel(hadc->Instance, LL_ADC_OFFSET_2)) in HAL_ADC_ConfigChannel()
2840 LL_ADC_SetOffsetLevel(hadc->Instance, LL_ADC_OFFSET_2, 0UL); in HAL_ADC_ConfigChannel()
2842 if (__LL_ADC_CHANNEL_TO_DECIMAL_NB(LL_ADC_GetOffsetChannel(hadc->Instance, LL_ADC_OFFSET_3)) in HAL_ADC_ConfigChannel()
2845 LL_ADC_SetOffsetLevel(hadc->Instance, LL_ADC_OFFSET_3, 0UL); in HAL_ADC_ConfigChannel()
2847 if (__LL_ADC_CHANNEL_TO_DECIMAL_NB(LL_ADC_GetOffsetChannel(hadc->Instance, LL_ADC_OFFSET_4)) in HAL_ADC_ConfigChannel()
2850 LL_ADC_SetOffsetLevel(hadc->Instance, LL_ADC_OFFSET_4, 0UL); in HAL_ADC_ConfigChannel()
2859 if (LL_ADC_IsEnabled(hadc->Instance) == 0UL) in HAL_ADC_ConfigChannel()
2862 LL_ADC_SetChannelSingleDiff(hadc->Instance, pConfig->Channel, pConfig->SingleDiff); in HAL_ADC_ConfigChannel()
2868 LL_ADC_SetChannelPreselection(hadc->Instance, in HAL_ADC_ConfigChannel()
2869 __HAL_ADC_CHANNEL_DIFF_NEG_INPUT(hadc, pConfig->Channel)); in HAL_ADC_ConfigChannel()
2882 LL_ADC_GetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance)); in HAL_ADC_ConfigChannel()
2883 tmp_config_path_internal_channel = LL_ADC_GetPathInternalCh(hadc->Instance); in HAL_ADC_ConfigChannel()
2889 if (ADC_VREFINT_INSTANCE(hadc)) in HAL_ADC_ConfigChannel()
2891 LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), in HAL_ADC_ConfigChannel()
2898 if (ADC_BATTERY_VOLTAGE_INSTANCE(hadc)) in HAL_ADC_ConfigChannel()
2900 LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), in HAL_ADC_ConfigChannel()
2907 if (ADC_VDDCORE_INSTANCE(hadc)) in HAL_ADC_ConfigChannel()
2909 …LL_ADC_SetPathInternalCh(hadc->Instance, LL_ADC_PATH_INTERNAL_VDDCORE | tmp_config_path_internal_c… in HAL_ADC_ConfigChannel()
2925 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_ConfigChannel()
2930 __HAL_UNLOCK(hadc); in HAL_ADC_ConfigChannel()
2957 HAL_StatusTypeDef HAL_ADC_AnalogWDGConfig(ADC_HandleTypeDef *hadc, const ADC_AnalogWDGConfTypeDef *… in HAL_ADC_AnalogWDGConfig() argument
2967 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_AnalogWDGConfig()
2976 assert_param(IS_ADC_CHANNEL(hadc, pAnalogWDGConfig->Channel)); in HAL_ADC_AnalogWDGConfig()
2980 if (hadc->Init.OversamplingMode == ENABLE) in HAL_ADC_AnalogWDGConfig()
2984 assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), in HAL_ADC_AnalogWDGConfig()
2985 … pAnalogWDGConfig->HighThreshold / (hadc->Init.Oversampling.Ratio + 1UL))); in HAL_ADC_AnalogWDGConfig()
2986 assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), in HAL_ADC_AnalogWDGConfig()
2987 … pAnalogWDGConfig->LowThreshold / (hadc->Init.Oversampling.Ratio + 1UL))); in HAL_ADC_AnalogWDGConfig()
2992 assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), pAnalogWDGConfig->HighThreshold)); in HAL_ADC_AnalogWDGConfig()
2993 assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), pAnalogWDGConfig->LowThreshold)); in HAL_ADC_AnalogWDGConfig()
2997 if (LL_ADC_IsEnabled(hadc->Instance) != 0UL) in HAL_ADC_AnalogWDGConfig()
3003 __HAL_LOCK(hadc); in HAL_ADC_AnalogWDGConfig()
3010 tmp_adc_is_conversion_on_going_regular = LL_ADC_REG_IsConversionOngoing(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3011 tmp_adc_is_conversion_on_going_injected = LL_ADC_INJ_IsConversionOngoing(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3018 tmp_adc_resolution = LL_ADC_GetResolution(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3033 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, in HAL_ADC_AnalogWDGConfig()
3039 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, in HAL_ADC_AnalogWDGConfig()
3045 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, in HAL_ADC_AnalogWDGConfig()
3051 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, LL_ADC_AWD_ALL_CHANNELS_REG); in HAL_ADC_AnalogWDGConfig()
3055 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, LL_ADC_AWD_ALL_CHANNELS_INJ); in HAL_ADC_AnalogWDGConfig()
3059 … LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, LL_ADC_AWD_ALL_CHANNELS_REG_INJ); in HAL_ADC_AnalogWDGConfig()
3063 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, LL_ADC_AWD_DISABLE); in HAL_ADC_AnalogWDGConfig()
3069 …LL_ADC_SetAWDFilteringConfiguration(hadc->Instance, hadc->Instance->AWD1HTR, pAnalogWDGConfig->Fil… in HAL_ADC_AnalogWDGConfig()
3072 LL_ADC_SetAnalogWDThresholds(hadc->Instance, pAnalogWDGConfig->WatchdogNumber, in HAL_ADC_AnalogWDGConfig()
3074 LL_ADC_SetAnalogWDThresholds(hadc->Instance, pAnalogWDGConfig->WatchdogNumber, in HAL_ADC_AnalogWDGConfig()
3078 CLEAR_BIT(hadc->State, HAL_ADC_STATE_AWD1); in HAL_ADC_AnalogWDGConfig()
3084 LL_ADC_ClearFlag_AWD1(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3089 LL_ADC_EnableIT_AWD1(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3093 LL_ADC_DisableIT_AWD1(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3108 … SET_BIT(hadc->Instance->AWD2CR, (1UL \ in HAL_ADC_AnalogWDGConfig()
3113 … SET_BIT(hadc->Instance->AWD3CR, (1UL \ in HAL_ADC_AnalogWDGConfig()
3125 … SET_BIT(hadc->Instance->AWD2CR, (1UL \ in HAL_ADC_AnalogWDGConfig()
3130 … SET_BIT(hadc->Instance->AWD3CR, (1UL \ in HAL_ADC_AnalogWDGConfig()
3136 …LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, pAnalogWDGConfig->WatchdogNumber, LL_ADC_AWD_DISAB… in HAL_ADC_AnalogWDGConfig()
3143 MODIFY_REG(hadc->Instance->AWD2LTR, ADC_AWD2LTR_LTR, tmp_awd_low_threshold_shifted); in HAL_ADC_AnalogWDGConfig()
3144 MODIFY_REG(hadc->Instance->AWD2HTR, ADC_AWD2HTR_HTR, tmp_awd_high_threshold_shifted); in HAL_ADC_AnalogWDGConfig()
3149 MODIFY_REG(hadc->Instance->AWD3LTR, ADC_AWD3LTR_LTR, tmp_awd_low_threshold_shifted); in HAL_ADC_AnalogWDGConfig()
3150 MODIFY_REG(hadc->Instance->AWD3HTR, ADC_AWD3HTR_HTR, tmp_awd_high_threshold_shifted); in HAL_ADC_AnalogWDGConfig()
3156 CLEAR_BIT(hadc->State, HAL_ADC_STATE_AWD2); in HAL_ADC_AnalogWDGConfig()
3162 LL_ADC_ClearFlag_AWD2(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3167 LL_ADC_EnableIT_AWD2(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3171 LL_ADC_DisableIT_AWD2(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3178 CLEAR_BIT(hadc->State, HAL_ADC_STATE_AWD3); in HAL_ADC_AnalogWDGConfig()
3184 LL_ADC_ClearFlag_AWD3(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3189 LL_ADC_EnableIT_AWD3(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3193 LL_ADC_DisableIT_AWD3(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3204 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_AnalogWDGConfig()
3209 __HAL_UNLOCK(hadc); in HAL_ADC_AnalogWDGConfig()
3246 uint32_t HAL_ADC_GetState(const ADC_HandleTypeDef *hadc) in HAL_ADC_GetState() argument
3249 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_GetState()
3252 return hadc->State; in HAL_ADC_GetState()
3260 uint32_t HAL_ADC_GetError(const ADC_HandleTypeDef *hadc) in HAL_ADC_GetError() argument
3263 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_GetError()
3265 return hadc->ErrorCode; in HAL_ADC_GetError()
3290 HAL_StatusTypeDef ADC_ConversionStop(ADC_HandleTypeDef *hadc, uint32_t ConversionGroup) in ADC_ConversionStop() argument
3300 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in ADC_ConversionStop()
3305 tmp_adc_is_conversion_on_going_regular = LL_ADC_REG_IsConversionOngoing(hadc->Instance); in ADC_ConversionStop()
3306 tmp_adc_is_conversion_on_going_injected = LL_ADC_INJ_IsConversionOngoing(hadc->Instance); in ADC_ConversionStop()
3317 if (((hadc->Instance->CFGR1 & ADC_CFGR1_JAUTO) != 0UL) in ADC_ConversionStop()
3318 && (hadc->Init.ContinuousConvMode == ENABLE) in ADC_ConversionStop()
3319 && (hadc->Init.LowPowerAutoWait == ENABLE) in ADC_ConversionStop()
3326 while (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_JEOS) == 0UL) in ADC_ConversionStop()
3331 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_ConversionStop()
3334 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_ConversionStop()
3342 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_JEOS); in ADC_ConversionStop()
3349 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) != 0UL) in ADC_ConversionStop()
3351 if (LL_ADC_IsDisableOngoing(hadc->Instance) == 0UL) in ADC_ConversionStop()
3354 LL_ADC_REG_StopConversion(hadc->Instance); in ADC_ConversionStop()
3363 if (LL_ADC_INJ_IsConversionOngoing(hadc->Instance) != 0UL) in ADC_ConversionStop()
3365 if (LL_ADC_IsDisableOngoing(hadc->Instance) == 0UL) in ADC_ConversionStop()
3368 LL_ADC_INJ_StopConversion(hadc->Instance); in ADC_ConversionStop()
3391 while ((hadc->Instance->CR & tmp_ADC_CR_ADSTART_JADSTART) != 0UL) in ADC_ConversionStop()
3396 if ((hadc->Instance->CR & tmp_ADC_CR_ADSTART_JADSTART) != 0UL) in ADC_ConversionStop()
3399 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_ConversionStop()
3402 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_ConversionStop()
3422 HAL_StatusTypeDef ADC_Enable(ADC_HandleTypeDef *hadc) in ADC_Enable() argument
3430 if (LL_ADC_IsEnabled(hadc->Instance) == 0UL) in ADC_Enable()
3433 …if ((hadc->Instance->CR & (ADC_CR_ADCAL | ADC_CR_JADSTP | ADC_CR_ADSTP | ADC_CR_JADSTART | ADC_CR_… in ADC_Enable()
3437 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_Enable()
3440 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_Enable()
3446 LL_ADC_Enable(hadc->Instance); in ADC_Enable()
3451 while (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_RDY) == 0UL) in ADC_Enable()
3461 if (LL_ADC_IsEnabled(hadc->Instance) == 0UL) in ADC_Enable()
3463 LL_ADC_Enable(hadc->Instance); in ADC_Enable()
3469 if (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_RDY) == 0UL) in ADC_Enable()
3472 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_Enable()
3475 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_Enable()
3494 HAL_StatusTypeDef ADC_Disable(ADC_HandleTypeDef *hadc) in ADC_Disable() argument
3497 const uint32_t tmp_adc_is_disable_on_going = LL_ADC_IsDisableOngoing(hadc->Instance); in ADC_Disable()
3502 if ((LL_ADC_IsEnabled(hadc->Instance) != 0UL) in ADC_Disable()
3507 if ((hadc->Instance->CR & (ADC_CR_JADSTART | ADC_CR_ADSTART | ADC_CR_ADEN)) == ADC_CR_ADEN) in ADC_Disable()
3510 LL_ADC_Disable(hadc->Instance); in ADC_Disable()
3511 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOSMP | ADC_FLAG_RDY)); in ADC_Disable()
3516 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_Disable()
3519 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_Disable()
3528 while ((hadc->Instance->CR & ADC_CR_ADEN) != 0UL) in ADC_Disable()
3533 if ((hadc->Instance->CR & ADC_CR_ADEN) != 0UL) in ADC_Disable()
3536 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_Disable()
3539 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_Disable()
3559 ADC_HandleTypeDef *hadc = (ADC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in ADC_DMAConvCplt() local
3562 if ((hadc->State & (HAL_ADC_STATE_ERROR_INTERNAL | HAL_ADC_STATE_ERROR_DMA)) == 0UL) in ADC_DMAConvCplt()
3565 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); in ADC_DMAConvCplt()
3571 if ((hadc->Instance->ISR & ADC_FLAG_EOS) != 0UL) in ADC_DMAConvCplt()
3574 if (LL_ADC_REG_IsTriggerSourceSWStart(hadc->Instance) != 0UL) in ADC_DMAConvCplt()
3577 if (READ_BIT(hadc->Instance->CFGR1, ADC_CFGR1_CONT) == 0UL) in ADC_DMAConvCplt()
3580 CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); in ADC_DMAConvCplt()
3581 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) == 0UL) in ADC_DMAConvCplt()
3583 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in ADC_DMAConvCplt()
3592 if (READ_BIT(hadc->Instance->CFGR1, ADC_CFGR1_DMNGT) == 0UL) in ADC_DMAConvCplt()
3595 CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); in ADC_DMAConvCplt()
3596 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) == 0UL) in ADC_DMAConvCplt()
3598 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in ADC_DMAConvCplt()
3605 hadc->ConvCpltCallback(hadc); in ADC_DMAConvCplt()
3607 HAL_ADC_ConvCpltCallback(hadc); in ADC_DMAConvCplt()
3612 if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) != 0UL) in ADC_DMAConvCplt()
3616 hadc->ErrorCallback(hadc); in ADC_DMAConvCplt()
3618 HAL_ADC_ErrorCallback(hadc); in ADC_DMAConvCplt()
3624 hadc->DMA_Handle->XferErrorCallback(hdma); in ADC_DMAConvCplt()
3637 ADC_HandleTypeDef *hadc = (ADC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in ADC_DMAHalfConvCplt() local
3641 hadc->ConvHalfCpltCallback(hadc); in ADC_DMAHalfConvCplt()
3643 HAL_ADC_ConvHalfCpltCallback(hadc); in ADC_DMAHalfConvCplt()
3655 ADC_HandleTypeDef *hadc = (ADC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in ADC_DMAError() local
3658 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA); in ADC_DMAError()
3661 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_DMA); in ADC_DMAError()
3665 hadc->ErrorCallback(hadc); in ADC_DMAError()
3667 HAL_ADC_ErrorCallback(hadc); in ADC_DMAError()