Lines Matching refs:hadc

379 HAL_StatusTypeDef HAL_ADC_Init(ADC_HandleTypeDef *hadc)  in HAL_ADC_Init()  argument
388 if (hadc == NULL) in HAL_ADC_Init()
394 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Init()
395 assert_param(IS_ADC_CLOCKPRESCALER(hadc->Init.ClockPrescaler)); in HAL_ADC_Init()
396 assert_param(IS_ADC_RESOLUTION(hadc->Init.Resolution)); in HAL_ADC_Init()
397 assert_param(IS_ADC_DATA_ALIGN(hadc->Init.DataAlign)); in HAL_ADC_Init()
398 assert_param(IS_ADC_SCAN_MODE(hadc->Init.ScanConvMode)); in HAL_ADC_Init()
399 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode)); in HAL_ADC_Init()
400 assert_param(IS_ADC_EXTTRIG_EDGE(hadc->Init.ExternalTrigConvEdge)); in HAL_ADC_Init()
401 assert_param(IS_ADC_EXTTRIG(hadc->Init.ExternalTrigConv)); in HAL_ADC_Init()
402 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.DMAContinuousRequests)); in HAL_ADC_Init()
403 assert_param(IS_ADC_EOC_SELECTION(hadc->Init.EOCSelection)); in HAL_ADC_Init()
404 assert_param(IS_ADC_OVERRUN(hadc->Init.Overrun)); in HAL_ADC_Init()
405 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.LowPowerAutoWait)); in HAL_ADC_Init()
406 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.LowPowerAutoPowerOff)); in HAL_ADC_Init()
407 assert_param(IS_ADC_SAMPLE_TIME(hadc->Init.SamplingTimeCommon1)); in HAL_ADC_Init()
408 assert_param(IS_ADC_SAMPLE_TIME(hadc->Init.SamplingTimeCommon2)); in HAL_ADC_Init()
409 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.OversamplingMode)); in HAL_ADC_Init()
410 if (hadc->Init.OversamplingMode == ENABLE) in HAL_ADC_Init()
412 assert_param(IS_ADC_OVERSAMPLING_RATIO(hadc->Init.Oversampling.Ratio)); in HAL_ADC_Init()
413 assert_param(IS_ADC_RIGHT_BIT_SHIFT(hadc->Init.Oversampling.RightBitShift)); in HAL_ADC_Init()
414 assert_param(IS_ADC_TRIGGERED_OVERSAMPLING_MODE(hadc->Init.Oversampling.TriggeredMode)); in HAL_ADC_Init()
416 assert_param(IS_ADC_TRIGGER_FREQ(hadc->Init.TriggerFrequencyMode)); in HAL_ADC_Init()
418 if (hadc->Init.ScanConvMode != ADC_SCAN_DISABLE) in HAL_ADC_Init()
420 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.DiscontinuousConvMode)); in HAL_ADC_Init()
422 if (hadc->Init.ScanConvMode == ADC_SCAN_ENABLE) in HAL_ADC_Init()
424 assert_param(IS_ADC_REGULAR_NB_CONV(hadc->Init.NbrOfConversion)); in HAL_ADC_Init()
430 …assert_param(!((hadc->Init.DiscontinuousConvMode == ENABLE) && (hadc->Init.ContinuousConvMode == E… in HAL_ADC_Init()
434 if (hadc->State == HAL_ADC_STATE_RESET) in HAL_ADC_Init()
438hadc->ConvCpltCallback = HAL_ADC_ConvCpltCallback; /* Legacy weak cal… in HAL_ADC_Init()
439hadc->ConvHalfCpltCallback = HAL_ADC_ConvHalfCpltCallback; /* Legacy weak cal… in HAL_ADC_Init()
440hadc->LevelOutOfWindowCallback = HAL_ADC_LevelOutOfWindowCallback; /* Legacy weak cal… in HAL_ADC_Init()
441hadc->ErrorCallback = HAL_ADC_ErrorCallback; /* Legacy weak cal… in HAL_ADC_Init()
442hadc->LevelOutOfWindow2Callback = HAL_ADCEx_LevelOutOfWindow2Callback; /* Legacy weak cal… in HAL_ADC_Init()
443hadc->LevelOutOfWindow3Callback = HAL_ADCEx_LevelOutOfWindow3Callback; /* Legacy weak cal… in HAL_ADC_Init()
444hadc->EndOfSamplingCallback = HAL_ADCEx_EndOfSamplingCallback; /* Legacy weak cal… in HAL_ADC_Init()
446 if (hadc->MspInitCallback == NULL) in HAL_ADC_Init()
448 hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */ in HAL_ADC_Init()
452 hadc->MspInitCallback(hadc); in HAL_ADC_Init()
455 HAL_ADC_MspInit(hadc); in HAL_ADC_Init()
459 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Init()
462 hadc->Lock = HAL_UNLOCKED; in HAL_ADC_Init()
465 if (LL_ADC_IsInternalRegulatorEnabled(hadc->Instance) == 0UL) in HAL_ADC_Init()
468 LL_ADC_EnableInternalRegulator(hadc->Instance); in HAL_ADC_Init()
485 if (LL_ADC_IsInternalRegulatorEnabled(hadc->Instance) == 0UL) in HAL_ADC_Init()
488 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in HAL_ADC_Init()
491 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); 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()
534 if (LL_ADC_IsEnabled(hadc->Instance) == 0UL) in HAL_ADC_Init()
544 tmp_cfgr1 |= (hadc->Init.Resolution | in HAL_ADC_Init()
545 ADC_CFGR1_AUTOWAIT((uint32_t)hadc->Init.LowPowerAutoWait) | in HAL_ADC_Init()
546 ADC_CFGR1_AUTOOFF((uint32_t)hadc->Init.LowPowerAutoPowerOff) | in HAL_ADC_Init()
547 ADC_CFGR1_CONTINUOUS((uint32_t)hadc->Init.ContinuousConvMode) | in HAL_ADC_Init()
548 ADC_CFGR1_OVERRUN(hadc->Init.Overrun) | in HAL_ADC_Init()
549 hadc->Init.DataAlign | in HAL_ADC_Init()
550 ADC_SCAN_SEQ_MODE(hadc->Init.ScanConvMode) | in HAL_ADC_Init()
551 ADC_CFGR1_DMACONTREQ((uint32_t)hadc->Init.DMAContinuousRequests)); in HAL_ADC_Init()
554 if (hadc->Init.DiscontinuousConvMode == ENABLE) in HAL_ADC_Init()
556 if (hadc->Init.ContinuousConvMode == DISABLE) in HAL_ADC_Init()
568 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_Init()
571 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in HAL_ADC_Init()
580 if (hadc->Init.ExternalTrigConv != ADC_SOFTWARE_START) in HAL_ADC_Init()
582 tmp_cfgr1 |= ((hadc->Init.ExternalTrigConv & ADC_CFGR1_EXTSEL) | in HAL_ADC_Init()
583 hadc->Init.ExternalTrigConvEdge); in HAL_ADC_Init()
587 MODIFY_REG(hadc->Instance->CFGR1, in HAL_ADC_Init()
602 tmp_cfgr2 |= ((hadc->Init.ClockPrescaler & ADC_CFGR2_CKMODE) | in HAL_ADC_Init()
603 hadc->Init.TriggerFrequencyMode in HAL_ADC_Init()
606 if (hadc->Init.OversamplingMode == ENABLE) in HAL_ADC_Init()
609 (hadc->Init.ClockPrescaler & ADC_CFGR2_CKMODE) | in HAL_ADC_Init()
610 hadc->Init.Oversampling.Ratio | in HAL_ADC_Init()
611 hadc->Init.Oversampling.RightBitShift | in HAL_ADC_Init()
612 hadc->Init.Oversampling.TriggeredMode in HAL_ADC_Init()
616 MODIFY_REG(hadc->Instance->CFGR2, in HAL_ADC_Init()
627 if (((hadc->Init.ClockPrescaler) != ADC_CLOCK_SYNC_PCLK_DIV1) && in HAL_ADC_Init()
628 ((hadc->Init.ClockPrescaler) != ADC_CLOCK_SYNC_PCLK_DIV2) && in HAL_ADC_Init()
629 ((hadc->Init.ClockPrescaler) != ADC_CLOCK_SYNC_PCLK_DIV4)) in HAL_ADC_Init()
633 hadc->Init.ClockPrescaler & ADC_CCR_PRESC); in HAL_ADC_Init()
638 …LL_ADC_SetSamplingTimeCommonChannels(hadc->Instance, LL_ADC_SAMPLINGTIME_COMMON_1, hadc->Init.Samp… in HAL_ADC_Init()
639 …LL_ADC_SetSamplingTimeCommonChannels(hadc->Instance, LL_ADC_SAMPLINGTIME_COMMON_2, hadc->Init.Samp… in HAL_ADC_Init()
651 if (hadc->Init.ScanConvMode == ADC_SCAN_DISABLE) in HAL_ADC_Init()
655 SET_BIT(hadc->Instance->CHSELR, in HAL_ADC_Init()
658 else if (hadc->Init.ScanConvMode == ADC_SCAN_ENABLE) in HAL_ADC_Init()
669 MODIFY_REG(hadc->Instance->CHSELR, in HAL_ADC_Init()
671 … (ADC_CHSELR_SQ2_TO_SQ8 << (((hadc->Init.NbrOfConversion - 1UL) * ADC_REGULAR_RANK_2) & 0x1FUL)) in HAL_ADC_Init()
672 | (hadc->ADCGroupRegularSequencerRanks) in HAL_ADC_Init()
682 if (LL_ADC_GetSamplingTimeCommonChannels(hadc->Instance, LL_ADC_SAMPLINGTIME_COMMON_1) in HAL_ADC_Init()
683 == hadc->Init.SamplingTimeCommon1) in HAL_ADC_Init()
686 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Init()
689 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Init()
696 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Init()
701 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in HAL_ADC_Init()
710 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in HAL_ADC_Init()
733 HAL_StatusTypeDef HAL_ADC_DeInit(ADC_HandleTypeDef *hadc) in HAL_ADC_DeInit() argument
738 if (hadc == NULL) in HAL_ADC_DeInit()
744 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_DeInit()
747 SET_BIT(hadc->State, HAL_ADC_STATE_BUSY_INTERNAL); in HAL_ADC_DeInit()
750 tmp_hal_status = ADC_ConversionStop(hadc); in HAL_ADC_DeInit()
756 tmp_hal_status = ADC_Disable(hadc); in HAL_ADC_DeInit()
762 hadc->State = HAL_ADC_STATE_READY; in HAL_ADC_DeInit()
766 LL_ADC_DisableInternalRegulator(hadc->Instance); in HAL_ADC_DeInit()
777 __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_AWD3 | ADC_IT_AWD2 | in HAL_ADC_DeInit()
783 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_AWD3 | ADC_FLAG_AWD2 | in HAL_ADC_DeInit()
793hadc->Instance->CFGR1 &= ~(ADC_CFGR1_AWD1CH | ADC_CFGR1_AWD1EN | ADC_CFGR1_AWD1SGL | ADC_CFGR1_… in HAL_ADC_DeInit()
800 hadc->Instance->SMPR &= ~ADC_SMPR_SMP1; in HAL_ADC_DeInit()
803 hadc->Instance->CHSELR &= ~(ADC_CHSELR_SQ_ALL); in HAL_ADC_DeInit()
809 hadc->Instance->AWD1TR &= ~(ADC_AWD1TR_HT1 | ADC_AWD1TR_LT1); in HAL_ADC_DeInit()
810 hadc->Instance->AWD2TR &= ~(ADC_AWD2TR_HT2 | ADC_AWD2TR_LT2); in HAL_ADC_DeInit()
811 hadc->Instance->AWD3TR &= ~(ADC_AWD3TR_HT3 | ADC_AWD3TR_LT3); in HAL_ADC_DeInit()
818 hadc->Instance->CFGR2 &= ~ADC_CFGR2_CKMODE; in HAL_ADC_DeInit()
831 if (hadc->MspDeInitCallback == NULL) in HAL_ADC_DeInit()
833 hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */ in HAL_ADC_DeInit()
837 hadc->MspDeInitCallback(hadc); in HAL_ADC_DeInit()
840 HAL_ADC_MspDeInit(hadc); in HAL_ADC_DeInit()
844 hadc->ADCGroupRegularSequencerRanks = 0x00000000UL; in HAL_ADC_DeInit()
847 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_DeInit()
850 hadc->State = HAL_ADC_STATE_RESET; in HAL_ADC_DeInit()
852 __HAL_UNLOCK(hadc); in HAL_ADC_DeInit()
862 __weak void HAL_ADC_MspInit(ADC_HandleTypeDef *hadc) in HAL_ADC_MspInit() argument
865 UNUSED(hadc); in HAL_ADC_MspInit()
879 __weak void HAL_ADC_MspDeInit(ADC_HandleTypeDef *hadc) in HAL_ADC_MspDeInit() argument
882 UNUSED(hadc); in HAL_ADC_MspDeInit()
911 HAL_StatusTypeDef HAL_ADC_RegisterCallback(ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef Callb… in HAL_ADC_RegisterCallback() argument
919 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
924 if ((hadc->State & HAL_ADC_STATE_READY) != 0UL) in HAL_ADC_RegisterCallback()
929 hadc->ConvCpltCallback = pCallback; in HAL_ADC_RegisterCallback()
933 hadc->ConvHalfCpltCallback = pCallback; in HAL_ADC_RegisterCallback()
937 hadc->LevelOutOfWindowCallback = pCallback; in HAL_ADC_RegisterCallback()
941 hadc->ErrorCallback = pCallback; in HAL_ADC_RegisterCallback()
945 hadc->LevelOutOfWindow2Callback = pCallback; in HAL_ADC_RegisterCallback()
949 hadc->LevelOutOfWindow3Callback = pCallback; in HAL_ADC_RegisterCallback()
953 hadc->EndOfSamplingCallback = pCallback; in HAL_ADC_RegisterCallback()
957 hadc->MspInitCallback = pCallback; in HAL_ADC_RegisterCallback()
961 hadc->MspDeInitCallback = pCallback; in HAL_ADC_RegisterCallback()
966 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
973 else if (HAL_ADC_STATE_RESET == hadc->State) in HAL_ADC_RegisterCallback()
978 hadc->MspInitCallback = pCallback; in HAL_ADC_RegisterCallback()
982 hadc->MspDeInitCallback = pCallback; in HAL_ADC_RegisterCallback()
987 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
997 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
1026 HAL_StatusTypeDef HAL_ADC_UnRegisterCallback(ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef Cal… in HAL_ADC_UnRegisterCallback() argument
1030 if ((hadc->State & HAL_ADC_STATE_READY) != 0UL) in HAL_ADC_UnRegisterCallback()
1035 hadc->ConvCpltCallback = HAL_ADC_ConvCpltCallback; in HAL_ADC_UnRegisterCallback()
1039 hadc->ConvHalfCpltCallback = HAL_ADC_ConvHalfCpltCallback; in HAL_ADC_UnRegisterCallback()
1043 hadc->LevelOutOfWindowCallback = HAL_ADC_LevelOutOfWindowCallback; in HAL_ADC_UnRegisterCallback()
1047 hadc->ErrorCallback = HAL_ADC_ErrorCallback; in HAL_ADC_UnRegisterCallback()
1051 hadc->LevelOutOfWindow2Callback = HAL_ADCEx_LevelOutOfWindow2Callback; in HAL_ADC_UnRegisterCallback()
1055 hadc->LevelOutOfWindow3Callback = HAL_ADCEx_LevelOutOfWindow3Callback; in HAL_ADC_UnRegisterCallback()
1059 hadc->EndOfSamplingCallback = HAL_ADCEx_EndOfSamplingCallback; in HAL_ADC_UnRegisterCallback()
1063 hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */ in HAL_ADC_UnRegisterCallback()
1067 hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */ in HAL_ADC_UnRegisterCallback()
1072 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_UnRegisterCallback()
1079 else if (HAL_ADC_STATE_RESET == hadc->State) in HAL_ADC_UnRegisterCallback()
1084hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */ in HAL_ADC_UnRegisterCallback()
1088hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */ in HAL_ADC_UnRegisterCallback()
1093 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_UnRegisterCallback()
1103 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_UnRegisterCallback()
1146 HAL_StatusTypeDef HAL_ADC_Start(ADC_HandleTypeDef *hadc) in HAL_ADC_Start() argument
1151 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Start()
1154 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_Start()
1156 __HAL_LOCK(hadc); in HAL_ADC_Start()
1159 tmp_hal_status = ADC_Enable(hadc); in HAL_ADC_Start()
1167 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Start()
1173 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Start()
1177 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR)); in HAL_ADC_Start()
1182 __HAL_UNLOCK(hadc); in HAL_ADC_Start()
1189 LL_ADC_REG_StartConversion(hadc->Instance); in HAL_ADC_Start()
1193 __HAL_UNLOCK(hadc); in HAL_ADC_Start()
1213 HAL_StatusTypeDef HAL_ADC_Stop(ADC_HandleTypeDef *hadc) in HAL_ADC_Stop() argument
1218 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Stop()
1220 __HAL_LOCK(hadc); in HAL_ADC_Stop()
1223 tmp_hal_status = ADC_ConversionStop(hadc); in HAL_ADC_Stop()
1229 tmp_hal_status = ADC_Disable(hadc); in HAL_ADC_Stop()
1235 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Stop()
1241 __HAL_UNLOCK(hadc); in HAL_ADC_Stop()
1264 HAL_StatusTypeDef HAL_ADC_PollForConversion(ADC_HandleTypeDef *hadc, uint32_t Timeout) in HAL_ADC_PollForConversion() argument
1270 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_PollForConversion()
1273 if (hadc->Init.EOCSelection == ADC_EOC_SEQ_CONV) in HAL_ADC_PollForConversion()
1286 if ((hadc->Instance->CFGR1 & ADC_CFGR1_DMAEN) != 0UL) in HAL_ADC_PollForConversion()
1289 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_PollForConversion()
1303 while ((hadc->Instance->ISR & tmp_flag_end) == 0UL) in HAL_ADC_PollForConversion()
1311 if ((hadc->Instance->ISR & tmp_flag_end) == 0UL) in HAL_ADC_PollForConversion()
1314 SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT); in HAL_ADC_PollForConversion()
1316 __HAL_UNLOCK(hadc); in HAL_ADC_PollForConversion()
1325 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); in HAL_ADC_PollForConversion()
1329 if ((LL_ADC_REG_IsTriggerSourceSWStart(hadc->Instance) != 0UL) in HAL_ADC_PollForConversion()
1330 && (hadc->Init.ContinuousConvMode == DISABLE) in HAL_ADC_PollForConversion()
1334 if (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS)) in HAL_ADC_PollForConversion()
1338 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_PollForConversion()
1344 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC | ADC_IT_EOS); in HAL_ADC_PollForConversion()
1347 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_PollForConversion()
1354 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_PollForConversion()
1357 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in HAL_ADC_PollForConversion()
1365 if (hadc->Init.LowPowerAutoWait == DISABLE) in HAL_ADC_PollForConversion()
1368 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS)); in HAL_ADC_PollForConversion()
1397 HAL_StatusTypeDef HAL_ADC_PollForEvent(ADC_HandleTypeDef *hadc, uint32_t EventType, uint32_t Timeou… in HAL_ADC_PollForEvent() argument
1402 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_PollForEvent()
1409 while (__HAL_ADC_GET_FLAG(hadc, EventType) == 0UL) in HAL_ADC_PollForEvent()
1417 if (__HAL_ADC_GET_FLAG(hadc, EventType) == 0UL) in HAL_ADC_PollForEvent()
1420 SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT); in HAL_ADC_PollForEvent()
1422 __HAL_UNLOCK(hadc); in HAL_ADC_PollForEvent()
1435 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOSMP); in HAL_ADC_PollForEvent()
1438 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOSMP); in HAL_ADC_PollForEvent()
1454 SET_BIT(hadc->State, HAL_ADC_STATE_AWD1); in HAL_ADC_PollForEvent()
1457 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD1); in HAL_ADC_PollForEvent()
1464 SET_BIT(hadc->State, HAL_ADC_STATE_AWD2); in HAL_ADC_PollForEvent()
1467 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD2); in HAL_ADC_PollForEvent()
1474 SET_BIT(hadc->State, HAL_ADC_STATE_AWD3); in HAL_ADC_PollForEvent()
1477 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD3); in HAL_ADC_PollForEvent()
1487 if (hadc->Init.Overrun == ADC_OVR_DATA_PRESERVED) in HAL_ADC_PollForEvent()
1490 SET_BIT(hadc->State, HAL_ADC_STATE_REG_OVR); in HAL_ADC_PollForEvent()
1493 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_OVR); in HAL_ADC_PollForEvent()
1500 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR); in HAL_ADC_PollForEvent()
1527 HAL_StatusTypeDef HAL_ADC_Start_IT(ADC_HandleTypeDef *hadc) in HAL_ADC_Start_IT() argument
1532 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Start_IT()
1535 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_Start_IT()
1537 __HAL_LOCK(hadc); in HAL_ADC_Start_IT()
1540 tmp_hal_status = ADC_Enable(hadc); in HAL_ADC_Start_IT()
1548 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Start_IT()
1555 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Start_IT()
1559 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR)); in HAL_ADC_Start_IT()
1564 __HAL_UNLOCK(hadc); in HAL_ADC_Start_IT()
1567 __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_EOC | ADC_IT_EOS | ADC_IT_OVR)); in HAL_ADC_Start_IT()
1570 switch (hadc->Init.EOCSelection) in HAL_ADC_Start_IT()
1573 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_EOS); in HAL_ADC_Start_IT()
1577 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_EOC); in HAL_ADC_Start_IT()
1585 if (hadc->Init.Overrun == ADC_OVR_DATA_PRESERVED) in HAL_ADC_Start_IT()
1587 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_OVR); in HAL_ADC_Start_IT()
1595 LL_ADC_REG_StartConversion(hadc->Instance); in HAL_ADC_Start_IT()
1599 __HAL_UNLOCK(hadc); in HAL_ADC_Start_IT()
1618 HAL_StatusTypeDef HAL_ADC_Stop_IT(ADC_HandleTypeDef *hadc) in HAL_ADC_Stop_IT() argument
1623 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Stop_IT()
1625 __HAL_LOCK(hadc); in HAL_ADC_Stop_IT()
1628 tmp_hal_status = ADC_ConversionStop(hadc); in HAL_ADC_Stop_IT()
1635 __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_EOC | ADC_IT_EOS | ADC_IT_OVR)); in HAL_ADC_Stop_IT()
1638 tmp_hal_status = ADC_Disable(hadc); in HAL_ADC_Stop_IT()
1644 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Stop_IT()
1650 __HAL_UNLOCK(hadc); in HAL_ADC_Stop_IT()
1665 HAL_StatusTypeDef HAL_ADC_Start_DMA(ADC_HandleTypeDef *hadc, uint32_t *pData, uint32_t Length) in HAL_ADC_Start_DMA() argument
1670 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Start_DMA()
1673 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_Start_DMA()
1675 __HAL_LOCK(hadc); in HAL_ADC_Start_DMA()
1680 if ((hadc->Instance->CFGR1 & ADC_CFGR1_DMAEN) == 0UL) in HAL_ADC_Start_DMA()
1682 if (LL_ADC_IsEnabled(hadc->Instance) != 0UL) in HAL_ADC_Start_DMA()
1685 LL_ADC_Disable(hadc->Instance); in HAL_ADC_Start_DMA()
1689 hadc->Instance->CFGR1 |= ADC_CFGR1_DMAEN; in HAL_ADC_Start_DMA()
1693 tmp_hal_status = ADC_Enable(hadc); in HAL_ADC_Start_DMA()
1701 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Start_DMA()
1707 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Start_DMA()
1710 hadc->DMA_Handle->XferCpltCallback = ADC_DMAConvCplt; in HAL_ADC_Start_DMA()
1713 hadc->DMA_Handle->XferHalfCpltCallback = ADC_DMAHalfConvCplt; in HAL_ADC_Start_DMA()
1716 hadc->DMA_Handle->XferErrorCallback = ADC_DMAError; in HAL_ADC_Start_DMA()
1725 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR)); in HAL_ADC_Start_DMA()
1730 __HAL_UNLOCK(hadc); in HAL_ADC_Start_DMA()
1733 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_OVR); in HAL_ADC_Start_DMA()
1736 …tmp_hal_status = HAL_DMA_Start_IT(hadc->DMA_Handle, (uint32_t)&hadc->Instance->DR, (uint32_t)pData… in HAL_ADC_Start_DMA()
1743 LL_ADC_REG_StartConversion(hadc->Instance); in HAL_ADC_Start_DMA()
1761 HAL_StatusTypeDef HAL_ADC_Stop_DMA(ADC_HandleTypeDef *hadc) in HAL_ADC_Stop_DMA() argument
1766 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Stop_DMA()
1768 __HAL_LOCK(hadc); in HAL_ADC_Stop_DMA()
1771 tmp_hal_status = ADC_ConversionStop(hadc); in HAL_ADC_Stop_DMA()
1778 if (hadc->DMA_Handle->State == HAL_DMA_STATE_BUSY) in HAL_ADC_Stop_DMA()
1780 tmp_hal_status = HAL_DMA_Abort(hadc->DMA_Handle); in HAL_ADC_Stop_DMA()
1786 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA); in HAL_ADC_Stop_DMA()
1791 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_OVR); in HAL_ADC_Stop_DMA()
1798 tmp_hal_status = ADC_Disable(hadc); in HAL_ADC_Stop_DMA()
1802 (void)ADC_Disable(hadc); in HAL_ADC_Stop_DMA()
1809 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Stop_DMA()
1815 CLEAR_BIT(hadc->Instance->CFGR1, ADC_CFGR1_DMAEN); in HAL_ADC_Stop_DMA()
1818 __HAL_UNLOCK(hadc); in HAL_ADC_Stop_DMA()
1842 uint32_t HAL_ADC_GetValue(const ADC_HandleTypeDef *hadc) in HAL_ADC_GetValue() argument
1845 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_GetValue()
1851 return hadc->Instance->DR; in HAL_ADC_GetValue()
1859 void HAL_ADC_IRQHandler(ADC_HandleTypeDef *hadc) in HAL_ADC_IRQHandler() argument
1862 uint32_t tmp_isr = hadc->Instance->ISR; in HAL_ADC_IRQHandler()
1863 uint32_t tmp_ier = hadc->Instance->IER; in HAL_ADC_IRQHandler()
1866 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_IRQHandler()
1867 assert_param(IS_ADC_EOC_SELECTION(hadc->Init.EOCSelection)); in HAL_ADC_IRQHandler()
1873 if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) == 0UL) in HAL_ADC_IRQHandler()
1876 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOSMP); in HAL_ADC_IRQHandler()
1881 hadc->EndOfSamplingCallback(hadc); in HAL_ADC_IRQHandler()
1883 HAL_ADCEx_EndOfSamplingCallback(hadc); in HAL_ADC_IRQHandler()
1887 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOSMP); in HAL_ADC_IRQHandler()
1895 if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) == 0UL) in HAL_ADC_IRQHandler()
1898 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); in HAL_ADC_IRQHandler()
1904 if ((LL_ADC_REG_IsTriggerSourceSWStart(hadc->Instance) != 0UL) in HAL_ADC_IRQHandler()
1905 && (hadc->Init.ContinuousConvMode == DISABLE) in HAL_ADC_IRQHandler()
1909 if (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS)) in HAL_ADC_IRQHandler()
1913 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_IRQHandler()
1919 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC | ADC_IT_EOS); in HAL_ADC_IRQHandler()
1922 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_IRQHandler()
1929 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_IRQHandler()
1932 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in HAL_ADC_IRQHandler()
1943 hadc->ConvCpltCallback(hadc); in HAL_ADC_IRQHandler()
1945 HAL_ADC_ConvCpltCallback(hadc); in HAL_ADC_IRQHandler()
1953 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS)); in HAL_ADC_IRQHandler()
1960 SET_BIT(hadc->State, HAL_ADC_STATE_AWD1); in HAL_ADC_IRQHandler()
1964 hadc->LevelOutOfWindowCallback(hadc); in HAL_ADC_IRQHandler()
1966 HAL_ADC_LevelOutOfWindowCallback(hadc); in HAL_ADC_IRQHandler()
1970 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD1); in HAL_ADC_IRQHandler()
1977 SET_BIT(hadc->State, HAL_ADC_STATE_AWD2); in HAL_ADC_IRQHandler()
1981 hadc->LevelOutOfWindow2Callback(hadc); in HAL_ADC_IRQHandler()
1983 HAL_ADCEx_LevelOutOfWindow2Callback(hadc); in HAL_ADC_IRQHandler()
1987 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD2); in HAL_ADC_IRQHandler()
1994 SET_BIT(hadc->State, HAL_ADC_STATE_AWD3); in HAL_ADC_IRQHandler()
1998 hadc->LevelOutOfWindow3Callback(hadc); in HAL_ADC_IRQHandler()
2000 HAL_ADCEx_LevelOutOfWindow3Callback(hadc); in HAL_ADC_IRQHandler()
2004 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD3); in HAL_ADC_IRQHandler()
2016 if (hadc->Init.Overrun == ADC_OVR_DATA_PRESERVED) in HAL_ADC_IRQHandler()
2023 if (LL_ADC_REG_GetDMATransfer(hadc->Instance) != LL_ADC_REG_DMA_TRANSFER_NONE) in HAL_ADC_IRQHandler()
2032 SET_BIT(hadc->State, HAL_ADC_STATE_REG_OVR); in HAL_ADC_IRQHandler()
2035 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_OVR); in HAL_ADC_IRQHandler()
2043 hadc->ErrorCallback(hadc); in HAL_ADC_IRQHandler()
2045 HAL_ADC_ErrorCallback(hadc); in HAL_ADC_IRQHandler()
2050 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR); in HAL_ADC_IRQHandler()
2057 HAL_ADCEx_ChannelConfigReadyCallback(hadc); in HAL_ADC_IRQHandler()
2060 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_CCRDY); in HAL_ADC_IRQHandler()
2069 __weak void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc) in HAL_ADC_ConvCpltCallback() argument
2072 UNUSED(hadc); in HAL_ADC_ConvCpltCallback()
2084 __weak void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef *hadc) in HAL_ADC_ConvHalfCpltCallback() argument
2087 UNUSED(hadc); in HAL_ADC_ConvHalfCpltCallback()
2099 __weak void HAL_ADC_LevelOutOfWindowCallback(ADC_HandleTypeDef *hadc) in HAL_ADC_LevelOutOfWindowCallback() argument
2102 UNUSED(hadc); in HAL_ADC_LevelOutOfWindowCallback()
2121 __weak void HAL_ADC_ErrorCallback(ADC_HandleTypeDef *hadc) in HAL_ADC_ErrorCallback() argument
2124 UNUSED(hadc); in HAL_ADC_ErrorCallback()
2167 HAL_StatusTypeDef HAL_ADC_ConfigChannel(ADC_HandleTypeDef *hadc, const ADC_ChannelConfTypeDef *pCon… in HAL_ADC_ConfigChannel() argument
2174 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_ConfigChannel()
2178 if ((hadc->Init.ScanConvMode == ADC_SCAN_SEQ_FIXED) || in HAL_ADC_ConfigChannel()
2179 (hadc->Init.ScanConvMode == ADC_SCAN_SEQ_FIXED_BACKWARD)) in HAL_ADC_ConfigChannel()
2185 assert_param(IS_ADC_REGULAR_NB_CONV(hadc->Init.NbrOfConversion)); in HAL_ADC_ConfigChannel()
2190 __HAL_LOCK(hadc); in HAL_ADC_ConfigChannel()
2198 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_ConfigChannel()
2215 if ((hadc->Init.ScanConvMode == ADC_SCAN_SEQ_FIXED) || in HAL_ADC_ConfigChannel()
2216 (hadc->Init.ScanConvMode == ADC_SCAN_SEQ_FIXED_BACKWARD)) in HAL_ADC_ConfigChannel()
2220 LL_ADC_REG_SetSequencerChAdd(hadc->Instance, pConfig->Channel); in HAL_ADC_ConfigChannel()
2228 MODIFY_REG(hadc->ADCGroupRegularSequencerRanks, in HAL_ADC_ConfigChannel()
2236 if (((pConfig->Rank >> 2UL) + 1UL) <= hadc->Init.NbrOfConversion) in HAL_ADC_ConfigChannel()
2238 LL_ADC_REG_SetSequencerRanks(hadc->Instance, pConfig->Rank, pConfig->Channel); in HAL_ADC_ConfigChannel()
2243 LL_ADC_SetChannelSamplingTime(hadc->Instance, pConfig->Channel, pConfig->SamplingTime); in HAL_ADC_ConfigChannel()
2253 …tmp_config_internal_channel = LL_ADC_GetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instan… in HAL_ADC_ConfigChannel()
2260 LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), in HAL_ADC_ConfigChannel()
2277 LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), in HAL_ADC_ConfigChannel()
2283 LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), in HAL_ADC_ConfigChannel()
2299 if ((hadc->Init.ScanConvMode == ADC_SCAN_SEQ_FIXED) || in HAL_ADC_ConfigChannel()
2300 (hadc->Init.ScanConvMode == ADC_SCAN_SEQ_FIXED_BACKWARD)) in HAL_ADC_ConfigChannel()
2304 LL_ADC_REG_SetSequencerChRem(hadc->Instance, pConfig->Channel); in HAL_ADC_ConfigChannel()
2312 …tmp_config_internal_channel = LL_ADC_GetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instan… in HAL_ADC_ConfigChannel()
2316 LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), in HAL_ADC_ConfigChannel()
2321 LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), in HAL_ADC_ConfigChannel()
2326 LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), in HAL_ADC_ConfigChannel()
2343 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_ConfigChannel()
2348 __HAL_UNLOCK(hadc); in HAL_ADC_ConfigChannel()
2375 HAL_StatusTypeDef HAL_ADC_AnalogWDGConfig(ADC_HandleTypeDef *hadc, const ADC_AnalogWDGConfTypeDef *… in HAL_ADC_AnalogWDGConfig() argument
2383 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_AnalogWDGConfig()
2394 if (hadc->Init.OversamplingMode == ENABLE) in HAL_ADC_AnalogWDGConfig()
2405 assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), pAnalogWDGConfig->HighThreshold)); in HAL_ADC_AnalogWDGConfig()
2406 assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), pAnalogWDGConfig->LowThreshold)); in HAL_ADC_AnalogWDGConfig()
2409 __HAL_LOCK(hadc); in HAL_ADC_AnalogWDGConfig()
2415 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_AnalogWDGConfig()
2422 if (LL_ADC_IsEnabled(hadc->Instance) != 0UL) in HAL_ADC_AnalogWDGConfig()
2425 tmp_hal_status = ADC_Disable(hadc); in HAL_ADC_AnalogWDGConfig()
2434 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, in HAL_ADC_AnalogWDGConfig()
2440 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, LL_ADC_AWD_ALL_CHANNELS_REG); in HAL_ADC_AnalogWDGConfig()
2444 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, LL_ADC_AWD_DISABLE); in HAL_ADC_AnalogWDGConfig()
2452 tmp_hal_status = ADC_Enable(hadc); in HAL_ADC_AnalogWDGConfig()
2457 CLEAR_BIT(hadc->State, HAL_ADC_STATE_AWD1); in HAL_ADC_AnalogWDGConfig()
2463 LL_ADC_ClearFlag_AWD1(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
2468 LL_ADC_EnableIT_AWD1(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
2472 LL_ADC_DisableIT_AWD1(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
2485 …SET_BIT(hadc->Instance->AWD2CR, (1UL << __LL_ADC_CHANNEL_TO_DECIMAL_NB(pAnalogWDGConfig->Channel))… in HAL_ADC_AnalogWDGConfig()
2489 …SET_BIT(hadc->Instance->AWD3CR, (1UL << __LL_ADC_CHANNEL_TO_DECIMAL_NB(pAnalogWDGConfig->Channel))… in HAL_ADC_AnalogWDGConfig()
2494 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, in HAL_ADC_AnalogWDGConfig()
2500 …LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, pAnalogWDGConfig->WatchdogNumber, LL_ADC_AWD_DISAB… in HAL_ADC_AnalogWDGConfig()
2507 CLEAR_BIT(hadc->State, HAL_ADC_STATE_AWD2); in HAL_ADC_AnalogWDGConfig()
2513 LL_ADC_ClearFlag_AWD2(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
2518 LL_ADC_EnableIT_AWD2(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
2522 LL_ADC_DisableIT_AWD2(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
2529 CLEAR_BIT(hadc->State, HAL_ADC_STATE_AWD3); in HAL_ADC_AnalogWDGConfig()
2535 LL_ADC_ClearFlag_AWD3(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
2540 LL_ADC_EnableIT_AWD3(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
2544 LL_ADC_DisableIT_AWD3(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
2557 …tmp_awd_high_threshold_shifted = ADC_AWD1THRESHOLD_SHIFT_RESOLUTION(hadc, pAnalogWDGConfig->HighTh… in HAL_ADC_AnalogWDGConfig()
2558 …tmp_awd_low_threshold_shifted = ADC_AWD1THRESHOLD_SHIFT_RESOLUTION(hadc, pAnalogWDGConfig->LowThr… in HAL_ADC_AnalogWDGConfig()
2571 …LL_ADC_ConfigAnalogWDThresholds(hadc->Instance, pAnalogWDGConfig->WatchdogNumber, tmp_awd_high_thr… in HAL_ADC_AnalogWDGConfig()
2574 __HAL_UNLOCK(hadc); in HAL_ADC_AnalogWDGConfig()
2611 uint32_t HAL_ADC_GetState(const ADC_HandleTypeDef *hadc) in HAL_ADC_GetState() argument
2614 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_GetState()
2617 return hadc->State; in HAL_ADC_GetState()
2625 uint32_t HAL_ADC_GetError(const ADC_HandleTypeDef *hadc) in HAL_ADC_GetError() argument
2628 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_GetError()
2630 return hadc->ErrorCode; in HAL_ADC_GetError()
2652 HAL_StatusTypeDef ADC_ConversionStop(ADC_HandleTypeDef *hadc) in ADC_ConversionStop() argument
2657 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in ADC_ConversionStop()
2661 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) != 0UL) in ADC_ConversionStop()
2665 if (LL_ADC_IsDisableOngoing(hadc->Instance) == 0UL) in ADC_ConversionStop()
2668 LL_ADC_REG_StopConversion(hadc->Instance); in ADC_ConversionStop()
2675 while ((hadc->Instance->CR & ADC_CR_ADSTART) != 0UL) in ADC_ConversionStop()
2680 if ((hadc->Instance->CR & ADC_CR_ADSTART) != 0UL) in ADC_ConversionStop()
2683 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_ConversionStop()
2686 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_ConversionStop()
2706 HAL_StatusTypeDef ADC_Enable(ADC_HandleTypeDef *hadc) in ADC_Enable() argument
2715 if (LL_ADC_IsEnabled(hadc->Instance) == 0UL) in ADC_Enable()
2718 …if ((hadc->Instance->CR & (ADC_CR_ADCAL | ADC_CR_ADSTP | ADC_CR_ADSTART | ADC_CR_ADDIS | ADC_CR_AD… in ADC_Enable()
2721 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_Enable()
2724 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_Enable()
2730 LL_ADC_Enable(hadc->Instance); in ADC_Enable()
2732 …if ((LL_ADC_GetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance)) & LL_ADC_PATH_INTERN… in ADC_Enable()
2750 if (hadc->Init.LowPowerAutoPowerOff != ENABLE) in ADC_Enable()
2755 while (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_RDY) == 0UL) in ADC_Enable()
2765 if (LL_ADC_IsEnabled(hadc->Instance) == 0UL) in ADC_Enable()
2767 LL_ADC_Enable(hadc->Instance); in ADC_Enable()
2773 if (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_RDY) == 0UL) in ADC_Enable()
2776 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_Enable()
2779 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_Enable()
2799 HAL_StatusTypeDef ADC_Disable(ADC_HandleTypeDef *hadc) in ADC_Disable() argument
2802 const uint32_t tmp_adc_is_disable_on_going = LL_ADC_IsDisableOngoing(hadc->Instance); in ADC_Disable()
2807 if ((LL_ADC_IsEnabled(hadc->Instance) != 0UL) in ADC_Disable()
2812 if ((hadc->Instance->CR & (ADC_CR_ADSTART | ADC_CR_ADEN)) == ADC_CR_ADEN) in ADC_Disable()
2815 LL_ADC_Disable(hadc->Instance); in ADC_Disable()
2816 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOSMP | ADC_FLAG_RDY)); in ADC_Disable()
2821 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_Disable()
2824 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_Disable()
2833 while ((hadc->Instance->CR & ADC_CR_ADEN) != 0UL) in ADC_Disable()
2838 if ((hadc->Instance->CR & ADC_CR_ADEN) != 0UL) in ADC_Disable()
2841 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_Disable()
2844 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_Disable()
2864 ADC_HandleTypeDef *hadc = (ADC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in ADC_DMAConvCplt() local
2867 if ((hadc->State & (HAL_ADC_STATE_ERROR_INTERNAL | HAL_ADC_STATE_ERROR_DMA)) == 0UL) in ADC_DMAConvCplt()
2870 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); in ADC_DMAConvCplt()
2875 if ((LL_ADC_REG_IsTriggerSourceSWStart(hadc->Instance) != 0UL) in ADC_DMAConvCplt()
2876 && (hadc->Init.ContinuousConvMode == DISABLE) in ADC_DMAConvCplt()
2880 if (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS)) in ADC_DMAConvCplt()
2884 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in ADC_DMAConvCplt()
2890 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC | ADC_IT_EOS); in ADC_DMAConvCplt()
2893 ADC_STATE_CLR_SET(hadc->State, in ADC_DMAConvCplt()
2900 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in ADC_DMAConvCplt()
2903 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_DMAConvCplt()
2910 hadc->ConvCpltCallback(hadc); in ADC_DMAConvCplt()
2912 HAL_ADC_ConvCpltCallback(hadc); in ADC_DMAConvCplt()
2917 if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) != 0UL) in ADC_DMAConvCplt()
2921 hadc->ErrorCallback(hadc); in ADC_DMAConvCplt()
2923 HAL_ADC_ErrorCallback(hadc); in ADC_DMAConvCplt()
2929 hadc->DMA_Handle->XferErrorCallback(hdma); in ADC_DMAConvCplt()
2942 ADC_HandleTypeDef *hadc = (ADC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in ADC_DMAHalfConvCplt() local
2946 hadc->ConvHalfCpltCallback(hadc); in ADC_DMAHalfConvCplt()
2948 HAL_ADC_ConvHalfCpltCallback(hadc); in ADC_DMAHalfConvCplt()
2960 ADC_HandleTypeDef *hadc = (ADC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in ADC_DMAError() local
2963 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA); in ADC_DMAError()
2966 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_DMA); in ADC_DMAError()
2970 hadc->ErrorCallback(hadc); in ADC_DMAError()
2972 HAL_ADC_ErrorCallback(hadc); in ADC_DMAError()