Lines Matching refs:hadc

398 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_CLOCKPRESCALER(hadc->Init.ClockPrescaler)); in HAL_ADC_Init()
420 assert_param(IS_ADC_RESOLUTION(hadc->Init.Resolution)); in HAL_ADC_Init()
421 assert_param(IS_ADC_DATA_ALIGN(hadc->Init.DataAlign)); in HAL_ADC_Init()
422 assert_param(IS_ADC_SCAN_MODE(hadc->Init.ScanConvMode)); in HAL_ADC_Init()
423 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode)); in HAL_ADC_Init()
424 assert_param(IS_ADC_EXTTRIG_EDGE(hadc->Init.ExternalTrigConvEdge)); in HAL_ADC_Init()
425 assert_param(IS_ADC_EXTTRIG(hadc, hadc->Init.ExternalTrigConv)); in HAL_ADC_Init()
426 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.DMAContinuousRequests)); 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()
431 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.LowPowerAutoPowerOff)); in HAL_ADC_Init()
432 assert_param(IS_ADC_SAMPLE_TIME(hadc->Init.SamplingTimeCommon1)); in HAL_ADC_Init()
433 assert_param(IS_ADC_SAMPLE_TIME(hadc->Init.SamplingTimeCommon2)); in HAL_ADC_Init()
435 assert_param(IS_ADC_TRIGGER_FREQ(hadc->Init.TriggerFrequencyMode)); in HAL_ADC_Init()
437 if(hadc->Init.ScanConvMode != ADC_SCAN_DISABLE) in HAL_ADC_Init()
439 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.DiscontinuousConvMode)); in HAL_ADC_Init()
441 if(hadc->Init.ScanConvMode == ADC_SCAN_ENABLE) in HAL_ADC_Init()
443 assert_param(IS_ADC_REGULAR_NB_CONV(hadc->Init.NbrOfConversion)); in HAL_ADC_Init()
447 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.OversamplingMode)); in HAL_ADC_Init()
449 if (hadc->Init.ScanConvMode != ADC_SCAN_DISABLE) in HAL_ADC_Init()
451 assert_param(IS_ADC_REGULAR_NB_CONV(hadc->Init.NbrOfConversion)); in HAL_ADC_Init()
452 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.DiscontinuousConvMode)); in HAL_ADC_Init()
454 if (hadc->Init.DiscontinuousConvMode == ENABLE) in HAL_ADC_Init()
456 assert_param(IS_ADC_REGULAR_DISCONT_NUMBER(hadc->Init.NbrOfDiscConversion)); in HAL_ADC_Init()
461 …assert_param(!((hadc->Init.DiscontinuousConvMode == ENABLE) && (hadc->Init.ContinuousConvMode == E… in HAL_ADC_Init()
466 if (hadc->State == HAL_ADC_STATE_RESET) in HAL_ADC_Init()
470hadc->ConvCpltCallback = HAL_ADC_ConvCpltCallback; /* Legacy weak cal… in HAL_ADC_Init()
471hadc->ConvHalfCpltCallback = HAL_ADC_ConvHalfCpltCallback; /* Legacy weak cal… in HAL_ADC_Init()
472hadc->LevelOutOfWindowCallback = HAL_ADC_LevelOutOfWindowCallback; /* Legacy weak cal… in HAL_ADC_Init()
473hadc->ErrorCallback = HAL_ADC_ErrorCallback; /* Legacy weak cal… in HAL_ADC_Init()
475hadc->InjectedConvCpltCallback = HAL_ADCEx_InjectedConvCpltCallback; /* Legacy weak cal… in HAL_ADC_Init()
476hadc->InjectedQueueOverflowCallback = HAL_ADCEx_InjectedQueueOverflowCallback; /* Legacy weak cal… in HAL_ADC_Init()
478hadc->LevelOutOfWindow2Callback = HAL_ADCEx_LevelOutOfWindow2Callback; /* Legacy weak cal… in HAL_ADC_Init()
479hadc->LevelOutOfWindow3Callback = HAL_ADCEx_LevelOutOfWindow3Callback; /* Legacy weak cal… in HAL_ADC_Init()
480hadc->EndOfSamplingCallback = HAL_ADCEx_EndOfSamplingCallback; /* Legacy weak cal… in HAL_ADC_Init()
482 if (hadc->MspInitCallback == NULL) in HAL_ADC_Init()
484 hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */ in HAL_ADC_Init()
488 hadc->MspInitCallback(hadc); in HAL_ADC_Init()
491 HAL_ADC_MspInit(hadc); in HAL_ADC_Init()
495 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Init()
498 hadc->Lock = HAL_UNLOCKED; in HAL_ADC_Init()
505 if (LL_ADC_IsDeepPowerDownEnabled(hadc->Instance) != 0UL) in HAL_ADC_Init()
508 LL_ADC_DisableDeepPowerDown(hadc->Instance); in HAL_ADC_Init()
516 if (LL_ADC_IsInternalRegulatorEnabled(hadc->Instance) == 0UL) in HAL_ADC_Init()
519 LL_ADC_EnableInternalRegulator(hadc->Instance); in HAL_ADC_Init()
534 if (LL_ADC_IsInternalRegulatorEnabled(hadc->Instance) == 0UL) in HAL_ADC_Init()
537 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in HAL_ADC_Init()
540 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in HAL_ADC_Init()
549 tmp_adc_reg_is_conversion_on_going = LL_ADC_REG_IsConversionOngoing(hadc->Instance); in HAL_ADC_Init()
551 if (((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) == 0UL) in HAL_ADC_Init()
556 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Init()
571 if (LL_ADC_IsEnabled(hadc->Instance) == 0UL) in HAL_ADC_Init()
582 MODIFY_REG(hadc->Instance->CFGR1, in HAL_ADC_Init()
584 hadc->Init.Resolution ); in HAL_ADC_Init()
593 tmpCFGR2 |= ( (hadc->Init.ClockPrescaler & ADC_CFGR2_CKMODE) | in HAL_ADC_Init()
594 hadc->Init.TriggerFrequencyMode in HAL_ADC_Init()
597 MODIFY_REG(hadc->Instance->CFGR2, in HAL_ADC_Init()
604 if (((hadc->Init.ClockPrescaler) != ADC_CLOCK_SYNC_PCLK_DIV1) && in HAL_ADC_Init()
605 ((hadc->Init.ClockPrescaler) != ADC_CLOCK_SYNC_PCLK_DIV2) && in HAL_ADC_Init()
606 ((hadc->Init.ClockPrescaler) != ADC_CLOCK_SYNC_PCLK_DIV4)) in HAL_ADC_Init()
610 hadc->Init.ClockPrescaler & ADC_CCR_PRESC ); in HAL_ADC_Init()
626 tmpCFGR |= (ADC_CFGR_AUTOWAIT((uint32_t)hadc->Init.LowPowerAutoWait) | in HAL_ADC_Init()
627 ADC_CFGR_AUTOOFF((uint32_t)hadc->Init.LowPowerAutoPowerOff) | in HAL_ADC_Init()
628 ADC_CFGR_CONTINUOUS((uint32_t)hadc->Init.ContinuousConvMode) | in HAL_ADC_Init()
629 ADC_CFGR_OVERRUN(hadc->Init.Overrun) | in HAL_ADC_Init()
630 hadc->Init.DataAlign | in HAL_ADC_Init()
631 ADC_SCAN_SEQ_MODE(hadc->Init.ScanConvMode) | in HAL_ADC_Init()
632 ADC_CFGR_DMACONTREQ((uint32_t)hadc->Init.DMAContinuousRequests) ); in HAL_ADC_Init()
635 if (hadc->Init.DiscontinuousConvMode == ENABLE) in HAL_ADC_Init()
637 if (hadc->Init.ContinuousConvMode == DISABLE) in HAL_ADC_Init()
649 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_Init()
652 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in HAL_ADC_Init()
661 if (hadc->Init.ExternalTrigConv != ADC_SOFTWARE_START) in HAL_ADC_Init()
663 tmpCFGR |= ( (hadc->Init.ExternalTrigConv & ADC_CFGR1_EXTSEL) | in HAL_ADC_Init()
664 hadc->Init.ExternalTrigConvEdge ); in HAL_ADC_Init()
668 MODIFY_REG(hadc->Instance->CFGR1, in HAL_ADC_Init()
683 …LL_ADC_SetSamplingTimeCommonChannels(hadc->Instance, LL_ADC_SAMPLINGTIME_COMMON_1, hadc->Init.Samp… in HAL_ADC_Init()
684 …LL_ADC_SetSamplingTimeCommonChannels(hadc->Instance, LL_ADC_SAMPLINGTIME_COMMON_2, hadc->Init.Samp… in HAL_ADC_Init()
696 if(hadc->Init.ScanConvMode == ADC_SCAN_DISABLE) in HAL_ADC_Init()
700 SET_BIT(hadc->Instance->CHSELR, in HAL_ADC_Init()
703 else if(hadc->Init.ScanConvMode == ADC_SCAN_ENABLE) in HAL_ADC_Init()
714 MODIFY_REG(hadc->Instance->CHSELR, in HAL_ADC_Init()
716 … ((ADC_CHSELR_SQ2_TO_SQ8 << (((hadc->Init.NbrOfConversion - 1UL) * ADC_REGULAR_RANK_2) & 0x1FUL)) | in HAL_ADC_Init()
717 (hadc->ADCGroupRegularSequencerRanks)) in HAL_ADC_Init()
726 …if ((hadc->Instance->CFGR1 & ~(ADC_CFGR1_AWD1CH | ADC_CFGR1_AWD1EN | ADC_CFGR1_AWD1SGL | ADC_CFGR1… in HAL_ADC_Init()
730 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Init()
733 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Init()
740 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Init()
745 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in HAL_ADC_Init()
756 if (LL_ADC_IsEnabled(hadc->Instance) == 0UL) in HAL_ADC_Init()
758 if (__LL_ADC_IS_ENABLED_ALL_COMMON_INSTANCE(__LL_ADC_COMMON_INSTANCE(hadc->Instance)) == 0UL) in HAL_ADC_Init()
777 LL_ADC_SetCommonClock(__LL_ADC_COMMON_INSTANCE(hadc->Instance), hadc->Init.ClockPrescaler); in HAL_ADC_Init()
790 tmpCFGR |= (ADC_CFGR_CONTINUOUS((uint32_t)hadc->Init.ContinuousConvMode) | in HAL_ADC_Init()
791 hadc->Init.Overrun | in HAL_ADC_Init()
792 hadc->Init.DataAlign | in HAL_ADC_Init()
793 hadc->Init.Resolution | in HAL_ADC_Init()
794 ADC_CFGR_REG_DISCONTINUOUS((uint32_t)hadc->Init.DiscontinuousConvMode)); in HAL_ADC_Init()
796 if (hadc->Init.DiscontinuousConvMode == ENABLE) in HAL_ADC_Init()
798 tmpCFGR |= ADC_CFGR_DISCONTINUOUS_NUM(hadc->Init.NbrOfDiscConversion); in HAL_ADC_Init()
806 if (hadc->Init.ExternalTrigConv != ADC_SOFTWARE_START) in HAL_ADC_Init()
808 tmpCFGR |= ((hadc->Init.ExternalTrigConv & ADC_CFGR_EXTSEL) in HAL_ADC_Init()
809 | hadc->Init.ExternalTrigConvEdge in HAL_ADC_Init()
814 MODIFY_REG(hadc->Instance->CFGR, ADC_CFGR_FIELDS_1, tmpCFGR); in HAL_ADC_Init()
822 tmp_adc_is_conversion_on_going_regular = LL_ADC_REG_IsConversionOngoing(hadc->Instance); in HAL_ADC_Init()
823 tmp_adc_is_conversion_on_going_injected = LL_ADC_INJ_IsConversionOngoing(hadc->Instance); in HAL_ADC_Init()
828 tmpCFGR = (ADC_CFGR_DFSDM(hadc) | in HAL_ADC_Init()
829 ADC_CFGR_AUTOWAIT((uint32_t)hadc->Init.LowPowerAutoWait) | in HAL_ADC_Init()
830 ADC_CFGR_DMACONTREQ((uint32_t)hadc->Init.DMAContinuousRequests)); in HAL_ADC_Init()
832 MODIFY_REG(hadc->Instance->CFGR, ADC_CFGR_FIELDS_2, tmpCFGR); in HAL_ADC_Init()
834 if (hadc->Init.OversamplingMode == ENABLE) in HAL_ADC_Init()
836 assert_param(IS_ADC_OVERSAMPLING_RATIO(hadc->Init.Oversampling.Ratio)); in HAL_ADC_Init()
837 assert_param(IS_ADC_RIGHT_BIT_SHIFT(hadc->Init.Oversampling.RightBitShift)); in HAL_ADC_Init()
838 assert_param(IS_ADC_TRIGGERED_OVERSAMPLING_MODE(hadc->Init.Oversampling.TriggeredMode)); in HAL_ADC_Init()
839 assert_param(IS_ADC_REGOVERSAMPLING_MODE(hadc->Init.Oversampling.OversamplingStopReset)); in HAL_ADC_Init()
846 MODIFY_REG(hadc->Instance->CFGR2, in HAL_ADC_Init()
852 hadc->Init.Oversampling.Ratio | in HAL_ADC_Init()
853 hadc->Init.Oversampling.RightBitShift | in HAL_ADC_Init()
854 hadc->Init.Oversampling.TriggeredMode | in HAL_ADC_Init()
855 hadc->Init.Oversampling.OversamplingStopReset in HAL_ADC_Init()
861 CLEAR_BIT(hadc->Instance->CFGR2, ADC_CFGR2_ROVSE); in HAL_ADC_Init()
875 if (hadc->Init.ScanConvMode == ADC_SCAN_ENABLE) in HAL_ADC_Init()
878 MODIFY_REG(hadc->Instance->SQR1, ADC_SQR1_L, (hadc->Init.NbrOfConversion - (uint8_t)1)); in HAL_ADC_Init()
882 CLEAR_BIT(hadc->Instance->SQR1, ADC_SQR1_L); in HAL_ADC_Init()
887 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_BUSY_INTERNAL, HAL_ADC_STATE_READY); in HAL_ADC_Init()
893 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in HAL_ADC_Init()
920 HAL_StatusTypeDef HAL_ADC_DeInit(ADC_HandleTypeDef *hadc) in HAL_ADC_DeInit() argument
925 if (hadc == NULL) in HAL_ADC_DeInit()
931 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_DeInit()
934 SET_BIT(hadc->State, HAL_ADC_STATE_BUSY_INTERNAL); in HAL_ADC_DeInit()
938 tmp_hal_status = ADC_ConversionStop(hadc, ADC_REGULAR_GROUP); in HAL_ADC_DeInit()
940 tmp_hal_status = ADC_ConversionStop(hadc, ADC_REGULAR_INJECTED_GROUP); in HAL_ADC_DeInit()
952 SET_BIT(hadc->Instance->CFGR, ADC_CFGR_JQM); in HAL_ADC_DeInit()
959 tmp_hal_status = ADC_Disable(hadc); in HAL_ADC_DeInit()
965 hadc->State = HAL_ADC_STATE_READY; in HAL_ADC_DeInit()
978 __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_AWD3 | ADC_IT_AWD2 | in HAL_ADC_DeInit()
984 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_AWD3 | ADC_FLAG_AWD2 | in HAL_ADC_DeInit()
994hadc->Instance->CFGR1 &= ~(ADC_CFGR1_AWD1CH | ADC_CFGR1_AWD1EN | ADC_CFGR1_AWD1SGL | ADC_CFGR1_DI… in HAL_ADC_DeInit()
1003 hadc->Instance->CFGR2 &= ~ADC_CFGR2_CKMODE; in HAL_ADC_DeInit()
1006 hadc->Instance->SMPR &= ~ADC_SMPR_SMP1; in HAL_ADC_DeInit()
1009 hadc->Instance->TR &= ~(ADC_TR_HT | ADC_TR_LT); in HAL_ADC_DeInit()
1012 hadc->Instance->CHSELR &= ~(ADC_CHSELR_SQ_ALL); in HAL_ADC_DeInit()
1019 __HAL_ADC_DISABLE_IT(hadc, ( in HAL_ADC_DeInit()
1031 __HAL_ADC_CLEAR_FLAG(hadc, ( in HAL_ADC_DeInit()
1047 CLEAR_BIT(hadc->Instance->CR, ADC_CR_ADVREGEN | ADC_CR_ADCALDIF); in HAL_ADC_DeInit()
1048 SET_BIT(hadc->Instance->CR, ADC_CR_DEEPPWD); in HAL_ADC_DeInit()
1051 CLEAR_BIT(hadc->Instance->CFGR, ADC_CFGR_FIELDS); in HAL_ADC_DeInit()
1052 SET_BIT(hadc->Instance->CFGR, ADC_CFGR_JQDIS); in HAL_ADC_DeInit()
1055 CLEAR_BIT(hadc->Instance->CFGR2, ADC_CFGR2_ROVSM | ADC_CFGR2_TROVS | ADC_CFGR2_OVSS | in HAL_ADC_DeInit()
1059 CLEAR_BIT(hadc->Instance->SMPR1, ADC_SMPR1_FIELDS); in HAL_ADC_DeInit()
1062 CLEAR_BIT(hadc->Instance->SMPR2, ADC_SMPR2_SMP18 | ADC_SMPR2_SMP17 | ADC_SMPR2_SMP16 | in HAL_ADC_DeInit()
1067 CLEAR_BIT(hadc->Instance->TR1, ADC_TR1_HT1 | ADC_TR1_LT1); in HAL_ADC_DeInit()
1070 CLEAR_BIT(hadc->Instance->TR2, ADC_TR2_HT2 | ADC_TR2_LT2); in HAL_ADC_DeInit()
1073 CLEAR_BIT(hadc->Instance->TR3, ADC_TR3_HT3 | ADC_TR3_LT3); in HAL_ADC_DeInit()
1076 CLEAR_BIT(hadc->Instance->SQR1, ADC_SQR1_SQ4 | ADC_SQR1_SQ3 | ADC_SQR1_SQ2 | in HAL_ADC_DeInit()
1080 CLEAR_BIT(hadc->Instance->SQR2, ADC_SQR2_SQ9 | ADC_SQR2_SQ8 | ADC_SQR2_SQ7 | in HAL_ADC_DeInit()
1084 CLEAR_BIT(hadc->Instance->SQR3, ADC_SQR3_SQ14 | ADC_SQR3_SQ13 | ADC_SQR3_SQ12 | in HAL_ADC_DeInit()
1088 CLEAR_BIT(hadc->Instance->SQR4, ADC_SQR4_SQ16 | ADC_SQR4_SQ15); in HAL_ADC_DeInit()
1096 CLEAR_BIT(hadc->Instance->OFR1, ADC_OFR1_OFFSET1_EN | ADC_OFR1_OFFSET1_CH | ADC_OFR1_OFFSET1); in HAL_ADC_DeInit()
1098 CLEAR_BIT(hadc->Instance->OFR2, ADC_OFR2_OFFSET2_EN | ADC_OFR2_OFFSET2_CH | ADC_OFR2_OFFSET2); in HAL_ADC_DeInit()
1100 CLEAR_BIT(hadc->Instance->OFR3, ADC_OFR3_OFFSET3_EN | ADC_OFR3_OFFSET3_CH | ADC_OFR3_OFFSET3); in HAL_ADC_DeInit()
1102 CLEAR_BIT(hadc->Instance->OFR4, ADC_OFR4_OFFSET4_EN | ADC_OFR4_OFFSET4_CH | ADC_OFR4_OFFSET4); in HAL_ADC_DeInit()
1108 CLEAR_BIT(hadc->Instance->AWD2CR, ADC_AWD2CR_AWD2CH); in HAL_ADC_DeInit()
1111 CLEAR_BIT(hadc->Instance->AWD3CR, ADC_AWD3CR_AWD3CH); in HAL_ADC_DeInit()
1114 CLEAR_BIT(hadc->Instance->DIFSEL, ADC_DIFSEL_DIFSEL); in HAL_ADC_DeInit()
1117 CLEAR_BIT(hadc->Instance->CALFACT, ADC_CALFACT_CALFACT_D | ADC_CALFACT_CALFACT_S); in HAL_ADC_DeInit()
1125 if (__LL_ADC_IS_ENABLED_ALL_COMMON_INSTANCE(__LL_ADC_COMMON_INSTANCE(hadc->Instance)) == 0UL) in HAL_ADC_DeInit()
1134 ADC_CLEAR_COMMON_CONTROL_REGISTER(hadc); in HAL_ADC_DeInit()
1149 if (hadc->MspDeInitCallback == NULL) in HAL_ADC_DeInit()
1151 hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */ in HAL_ADC_DeInit()
1155 hadc->MspDeInitCallback(hadc); in HAL_ADC_DeInit()
1158 HAL_ADC_MspDeInit(hadc); in HAL_ADC_DeInit()
1162 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_DeInit()
1166 hadc->ADCGroupRegularSequencerRanks = 0x00000000UL; in HAL_ADC_DeInit()
1169 hadc->InjectionConfig.ContextQueue = 0; in HAL_ADC_DeInit()
1170 hadc->InjectionConfig.ChannelCount = 0; in HAL_ADC_DeInit()
1174 hadc->State = HAL_ADC_STATE_RESET; in HAL_ADC_DeInit()
1177 __HAL_UNLOCK(hadc); in HAL_ADC_DeInit()
1188 __weak void HAL_ADC_MspInit(ADC_HandleTypeDef *hadc) in HAL_ADC_MspInit() argument
1191 UNUSED(hadc); in HAL_ADC_MspInit()
1205 __weak void HAL_ADC_MspDeInit(ADC_HandleTypeDef *hadc) in HAL_ADC_MspDeInit() argument
1208 UNUSED(hadc); in HAL_ADC_MspDeInit()
1239 HAL_StatusTypeDef HAL_ADC_RegisterCallback(ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef Callb… in HAL_ADC_RegisterCallback() argument
1246 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
1251 if ((hadc->State & HAL_ADC_STATE_READY) != 0UL) in HAL_ADC_RegisterCallback()
1256 hadc->ConvCpltCallback = pCallback; in HAL_ADC_RegisterCallback()
1260 hadc->ConvHalfCpltCallback = pCallback; in HAL_ADC_RegisterCallback()
1264 hadc->LevelOutOfWindowCallback = pCallback; in HAL_ADC_RegisterCallback()
1268 hadc->ErrorCallback = pCallback; in HAL_ADC_RegisterCallback()
1272 hadc->InjectedConvCpltCallback = pCallback; in HAL_ADC_RegisterCallback()
1276 hadc->InjectedQueueOverflowCallback = pCallback; in HAL_ADC_RegisterCallback()
1280 hadc->LevelOutOfWindow2Callback = pCallback; in HAL_ADC_RegisterCallback()
1284 hadc->LevelOutOfWindow3Callback = pCallback; in HAL_ADC_RegisterCallback()
1288 hadc->EndOfSamplingCallback = pCallback; in HAL_ADC_RegisterCallback()
1292 hadc->MspInitCallback = pCallback; in HAL_ADC_RegisterCallback()
1296 hadc->MspDeInitCallback = pCallback; in HAL_ADC_RegisterCallback()
1301 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
1308 else if (HAL_ADC_STATE_RESET == hadc->State) in HAL_ADC_RegisterCallback()
1313 hadc->MspInitCallback = pCallback; in HAL_ADC_RegisterCallback()
1317 hadc->MspDeInitCallback = pCallback; in HAL_ADC_RegisterCallback()
1322 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
1332 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
1363 HAL_StatusTypeDef HAL_ADC_UnRegisterCallback(ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef Cal… in HAL_ADC_UnRegisterCallback() argument
1367 if ((hadc->State & HAL_ADC_STATE_READY) != 0UL) in HAL_ADC_UnRegisterCallback()
1372 hadc->ConvCpltCallback = HAL_ADC_ConvCpltCallback; in HAL_ADC_UnRegisterCallback()
1376 hadc->ConvHalfCpltCallback = HAL_ADC_ConvHalfCpltCallback; in HAL_ADC_UnRegisterCallback()
1380 hadc->LevelOutOfWindowCallback = HAL_ADC_LevelOutOfWindowCallback; in HAL_ADC_UnRegisterCallback()
1384 hadc->ErrorCallback = HAL_ADC_ErrorCallback; in HAL_ADC_UnRegisterCallback()
1391 hadc->InjectedConvCpltCallback = HAL_ADCEx_InjectedConvCpltCallback; in HAL_ADC_UnRegisterCallback()
1395 hadc->InjectedQueueOverflowCallback = HAL_ADCEx_InjectedQueueOverflowCallback; in HAL_ADC_UnRegisterCallback()
1400 hadc->LevelOutOfWindow2Callback = HAL_ADCEx_LevelOutOfWindow2Callback; in HAL_ADC_UnRegisterCallback()
1404 hadc->LevelOutOfWindow3Callback = HAL_ADCEx_LevelOutOfWindow3Callback; in HAL_ADC_UnRegisterCallback()
1408 hadc->EndOfSamplingCallback = HAL_ADCEx_EndOfSamplingCallback; in HAL_ADC_UnRegisterCallback()
1412 hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */ in HAL_ADC_UnRegisterCallback()
1416 hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */ in HAL_ADC_UnRegisterCallback()
1421 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_UnRegisterCallback()
1428 else if (HAL_ADC_STATE_RESET == hadc->State) in HAL_ADC_UnRegisterCallback()
1433hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */ in HAL_ADC_UnRegisterCallback()
1437hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */ in HAL_ADC_UnRegisterCallback()
1442 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_UnRegisterCallback()
1452 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_UnRegisterCallback()
1495 HAL_StatusTypeDef HAL_ADC_Start(ADC_HandleTypeDef *hadc) in HAL_ADC_Start() argument
1500 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Start()
1503 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_Start()
1506 __HAL_LOCK(hadc); in HAL_ADC_Start()
1509 tmp_hal_status = ADC_Enable(hadc); in HAL_ADC_Start()
1517 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Start()
1524 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Start()
1527 if (HAL_IS_BIT_SET(hadc->State, HAL_ADC_STATE_INJ_BUSY)) in HAL_ADC_Start()
1530 CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); in HAL_ADC_Start()
1535 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Start()
1541 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR)); in HAL_ADC_Start()
1546 __HAL_UNLOCK(hadc); in HAL_ADC_Start()
1553 LL_ADC_REG_StartConversion(hadc->Instance); in HAL_ADC_Start()
1558 __HAL_UNLOCK(hadc); in HAL_ADC_Start()
1579 HAL_StatusTypeDef HAL_ADC_Stop(ADC_HandleTypeDef *hadc) in HAL_ADC_Stop() argument
1584 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Stop()
1587 __HAL_LOCK(hadc); in HAL_ADC_Stop()
1591 tmp_hal_status = ADC_ConversionStop(hadc, ADC_REGULAR_GROUP); in HAL_ADC_Stop()
1594 tmp_hal_status = ADC_ConversionStop(hadc, ADC_REGULAR_INJECTED_GROUP); in HAL_ADC_Stop()
1601 tmp_hal_status = ADC_Disable(hadc); in HAL_ADC_Stop()
1608 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Stop()
1612 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Stop()
1620 __HAL_UNLOCK(hadc); in HAL_ADC_Stop()
1644 HAL_StatusTypeDef HAL_ADC_PollForConversion(ADC_HandleTypeDef *hadc, uint32_t Timeout) in HAL_ADC_PollForConversion() argument
1650 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_PollForConversion()
1653 if (hadc->Init.EOCSelection == ADC_EOC_SEQ_CONV) in HAL_ADC_PollForConversion()
1667 if(READ_BIT(hadc->Instance->CFGR1, ADC_CFGR1_DMAEN) != 0UL) in HAL_ADC_PollForConversion()
1669 if(READ_BIT(hadc->Instance->CFGR, ADC_CFGR_DMAEN) != 0UL) in HAL_ADC_PollForConversion()
1673 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_PollForConversion()
1687 while ((hadc->Instance->ISR & tmp_Flag_End) == 0UL) in HAL_ADC_PollForConversion()
1695 if ((hadc->Instance->ISR & tmp_Flag_End) == 0UL) in HAL_ADC_PollForConversion()
1698 SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT); in HAL_ADC_PollForConversion()
1701 __HAL_UNLOCK(hadc); in HAL_ADC_PollForConversion()
1710 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); in HAL_ADC_PollForConversion()
1714 if ((LL_ADC_REG_IsTriggerSourceSWStart(hadc->Instance) != 0UL) in HAL_ADC_PollForConversion()
1715 && (hadc->Init.ContinuousConvMode == DISABLE) in HAL_ADC_PollForConversion()
1719 if (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS)) in HAL_ADC_PollForConversion()
1722 CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); in HAL_ADC_PollForConversion()
1724 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) == 0UL) in HAL_ADC_PollForConversion()
1726 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in HAL_ADC_PollForConversion()
1734 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOS); in HAL_ADC_PollForConversion()
1742 if (READ_BIT(hadc->Instance->CFGR1, ADC_CFGR1_WAIT) == 0UL) in HAL_ADC_PollForConversion()
1744 if (READ_BIT(hadc->Instance->CFGR, ADC_CFGR_AUTDLY) == 0UL) in HAL_ADC_PollForConversion()
1747 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS)); in HAL_ADC_PollForConversion()
1777 HAL_StatusTypeDef HAL_ADC_PollForEvent(ADC_HandleTypeDef *hadc, uint32_t EventType, uint32_t Timeou… in HAL_ADC_PollForEvent() argument
1782 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_PollForEvent()
1789 while (__HAL_ADC_GET_FLAG(hadc, EventType) == 0UL) in HAL_ADC_PollForEvent()
1797 if (__HAL_ADC_GET_FLAG(hadc, EventType) == 0UL) in HAL_ADC_PollForEvent()
1800 SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT); in HAL_ADC_PollForEvent()
1803 __HAL_UNLOCK(hadc); in HAL_ADC_PollForEvent()
1816 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOSMP); in HAL_ADC_PollForEvent()
1819 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOSMP); in HAL_ADC_PollForEvent()
1835 SET_BIT(hadc->State, HAL_ADC_STATE_AWD1); in HAL_ADC_PollForEvent()
1838 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD1); in HAL_ADC_PollForEvent()
1845 SET_BIT(hadc->State, HAL_ADC_STATE_AWD2); in HAL_ADC_PollForEvent()
1848 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD2); in HAL_ADC_PollForEvent()
1855 SET_BIT(hadc->State, HAL_ADC_STATE_AWD3); in HAL_ADC_PollForEvent()
1858 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD3); in HAL_ADC_PollForEvent()
1868 SET_BIT(hadc->State, HAL_ADC_STATE_INJ_JQOVF); in HAL_ADC_PollForEvent()
1871 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_JQOVF); in HAL_ADC_PollForEvent()
1874 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_JQOVF); in HAL_ADC_PollForEvent()
1885 if (hadc->Init.Overrun == ADC_OVR_DATA_PRESERVED) in HAL_ADC_PollForEvent()
1888 SET_BIT(hadc->State, HAL_ADC_STATE_REG_OVR); in HAL_ADC_PollForEvent()
1891 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_OVR); in HAL_ADC_PollForEvent()
1898 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR); in HAL_ADC_PollForEvent()
1925 HAL_StatusTypeDef HAL_ADC_Start_IT(ADC_HandleTypeDef *hadc) in HAL_ADC_Start_IT() argument
1930 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Start_IT()
1933 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_Start_IT()
1936 __HAL_LOCK(hadc); in HAL_ADC_Start_IT()
1939 tmp_hal_status = ADC_Enable(hadc); in HAL_ADC_Start_IT()
1947 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Start_IT()
1954 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Start_IT()
1957 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) != 0UL) in HAL_ADC_Start_IT()
1960 CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); in HAL_ADC_Start_IT()
1965 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Start_IT()
1971 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR)); in HAL_ADC_Start_IT()
1976 __HAL_UNLOCK(hadc); in HAL_ADC_Start_IT()
1979 __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_EOC | ADC_IT_EOS | ADC_IT_OVR)); in HAL_ADC_Start_IT()
1982 switch (hadc->Init.EOCSelection) in HAL_ADC_Start_IT()
1985 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_EOS); in HAL_ADC_Start_IT()
1989 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_EOC); in HAL_ADC_Start_IT()
1997 if (hadc->Init.Overrun == ADC_OVR_DATA_PRESERVED) in HAL_ADC_Start_IT()
1999 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_OVR); in HAL_ADC_Start_IT()
2007 LL_ADC_REG_StartConversion(hadc->Instance); in HAL_ADC_Start_IT()
2012 __HAL_UNLOCK(hadc); in HAL_ADC_Start_IT()
2032 HAL_StatusTypeDef HAL_ADC_Stop_IT(ADC_HandleTypeDef *hadc) in HAL_ADC_Stop_IT() argument
2037 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Stop_IT()
2040 __HAL_LOCK(hadc); in HAL_ADC_Stop_IT()
2044 tmp_hal_status = ADC_ConversionStop(hadc, ADC_REGULAR_GROUP); in HAL_ADC_Stop_IT()
2047 tmp_hal_status = ADC_ConversionStop(hadc, ADC_REGULAR_INJECTED_GROUP); in HAL_ADC_Stop_IT()
2055 __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_EOC | ADC_IT_EOS | ADC_IT_OVR)); in HAL_ADC_Stop_IT()
2058 tmp_hal_status = ADC_Disable(hadc); in HAL_ADC_Stop_IT()
2065 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Stop_IT()
2069 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Stop_IT()
2077 __HAL_UNLOCK(hadc); in HAL_ADC_Stop_IT()
2093 HAL_StatusTypeDef HAL_ADC_Start_DMA(ADC_HandleTypeDef *hadc, uint32_t *pData, uint32_t Length) in HAL_ADC_Start_DMA() argument
2098 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Start_DMA()
2101 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_Start_DMA()
2104 __HAL_LOCK(hadc); in HAL_ADC_Start_DMA()
2107 tmp_hal_status = ADC_Enable(hadc); in HAL_ADC_Start_DMA()
2115 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Start_DMA()
2121 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Start_DMA()
2124 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) != 0UL) in HAL_ADC_Start_DMA()
2127 CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); in HAL_ADC_Start_DMA()
2132 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Start_DMA()
2137 hadc->DMA_Handle->XferCpltCallback = ADC_DMAConvCplt; in HAL_ADC_Start_DMA()
2140 hadc->DMA_Handle->XferHalfCpltCallback = ADC_DMAHalfConvCplt; in HAL_ADC_Start_DMA()
2143 hadc->DMA_Handle->XferErrorCallback = ADC_DMAError; in HAL_ADC_Start_DMA()
2152 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR)); in HAL_ADC_Start_DMA()
2157 __HAL_UNLOCK(hadc); in HAL_ADC_Start_DMA()
2162 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_OVR); in HAL_ADC_Start_DMA()
2166 SET_BIT(hadc->Instance->CFGR1, ADC_CFGR1_DMAEN); in HAL_ADC_Start_DMA()
2168 SET_BIT(hadc->Instance->CFGR, ADC_CFGR_DMAEN); in HAL_ADC_Start_DMA()
2172 …tmp_hal_status = HAL_DMA_Start_IT(hadc->DMA_Handle, (uint32_t)&hadc->Instance->DR, (uint32_t)pData… in HAL_ADC_Start_DMA()
2179 LL_ADC_REG_StartConversion(hadc->Instance); in HAL_ADC_Start_DMA()
2184 __HAL_UNLOCK(hadc); in HAL_ADC_Start_DMA()
2206 HAL_StatusTypeDef HAL_ADC_Stop_DMA(ADC_HandleTypeDef *hadc) in HAL_ADC_Stop_DMA() argument
2211 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Stop_DMA()
2214 __HAL_LOCK(hadc); in HAL_ADC_Stop_DMA()
2218 tmp_hal_status = ADC_ConversionStop(hadc, ADC_REGULAR_GROUP); in HAL_ADC_Stop_DMA()
2220 tmp_hal_status = ADC_ConversionStop(hadc, ADC_REGULAR_INJECTED_GROUP); in HAL_ADC_Stop_DMA()
2228 CLEAR_BIT(hadc->Instance->CFGR1, ADC_CFGR1_DMAEN); in HAL_ADC_Stop_DMA()
2230 CLEAR_BIT(hadc->Instance->CFGR, ADC_CFGR_DMAEN); in HAL_ADC_Stop_DMA()
2235 if (hadc->DMA_Handle->State == HAL_DMA_STATE_BUSY) in HAL_ADC_Stop_DMA()
2237 tmp_hal_status = HAL_DMA_Abort(hadc->DMA_Handle); in HAL_ADC_Stop_DMA()
2243 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA); in HAL_ADC_Stop_DMA()
2248 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_OVR); in HAL_ADC_Stop_DMA()
2255 tmp_hal_status = ADC_Disable(hadc); in HAL_ADC_Stop_DMA()
2259 (void)ADC_Disable(hadc); in HAL_ADC_Stop_DMA()
2267 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Stop_DMA()
2271 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Stop_DMA()
2280 __HAL_UNLOCK(hadc); in HAL_ADC_Stop_DMA()
2305 uint32_t HAL_ADC_GetValue(const ADC_HandleTypeDef *hadc) in HAL_ADC_GetValue() argument
2308 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_GetValue()
2314 return hadc->Instance->DR; in HAL_ADC_GetValue()
2322 void HAL_ADC_IRQHandler(ADC_HandleTypeDef *hadc) in HAL_ADC_IRQHandler() argument
2325 uint32_t tmp_isr = hadc->Instance->ISR; in HAL_ADC_IRQHandler()
2326 uint32_t tmp_ier = hadc->Instance->IER; in HAL_ADC_IRQHandler()
2334 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_IRQHandler()
2335 assert_param(IS_ADC_EOC_SELECTION(hadc->Init.EOCSelection)); in HAL_ADC_IRQHandler()
2341 if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) == 0UL) in HAL_ADC_IRQHandler()
2344 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOSMP); in HAL_ADC_IRQHandler()
2349 hadc->EndOfSamplingCallback(hadc); in HAL_ADC_IRQHandler()
2351 HAL_ADCEx_EndOfSamplingCallback(hadc); in HAL_ADC_IRQHandler()
2355 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOSMP); in HAL_ADC_IRQHandler()
2363 if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) == 0UL) in HAL_ADC_IRQHandler()
2366 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); in HAL_ADC_IRQHandler()
2372 if (LL_ADC_REG_IsTriggerSourceSWStart(hadc->Instance) != 0UL) in HAL_ADC_IRQHandler()
2376 if (READ_BIT (hadc->Instance->CFGR1, ADC_CFGR1_CONT) != ADC_CFGR1_CONT) in HAL_ADC_IRQHandler()
2378 if (READ_BIT (hadc->Instance->CFGR, ADC_CFGR_CONT) != ADC_CFGR_CONT) in HAL_ADC_IRQHandler()
2382 if (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS)) in HAL_ADC_IRQHandler()
2386 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_IRQHandler()
2392 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC | ADC_IT_EOS); in HAL_ADC_IRQHandler()
2395 CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); in HAL_ADC_IRQHandler()
2397 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) == 0UL) in HAL_ADC_IRQHandler()
2399 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in HAL_ADC_IRQHandler()
2405 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in HAL_ADC_IRQHandler()
2408 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in HAL_ADC_IRQHandler()
2420 hadc->ConvCpltCallback(hadc); in HAL_ADC_IRQHandler()
2422 HAL_ADC_ConvCpltCallback(hadc); in HAL_ADC_IRQHandler()
2430 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS)); in HAL_ADC_IRQHandler()
2441 if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) == 0UL) in HAL_ADC_IRQHandler()
2444 SET_BIT(hadc->State, HAL_ADC_STATE_INJ_EOC); in HAL_ADC_IRQHandler()
2448 tmp_adc_inj_is_trigger_source_sw_start = LL_ADC_INJ_IsTriggerSourceSWStart(hadc->Instance); in HAL_ADC_IRQHandler()
2449 tmp_adc_reg_is_trigger_source_sw_start = LL_ADC_REG_IsTriggerSourceSWStart(hadc->Instance); in HAL_ADC_IRQHandler()
2450 tmp_cfgr = READ_REG(hadc->Instance->CFGR); in HAL_ADC_IRQHandler()
2464 if (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_JEOS)) in HAL_ADC_IRQHandler()
2472 if (READ_BIT(hadc->Instance->CFGR, ADC_CFGR_JQM) == 0UL) in HAL_ADC_IRQHandler()
2476 if (LL_ADC_INJ_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_IRQHandler()
2479 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOC | ADC_IT_JEOS); in HAL_ADC_IRQHandler()
2482 CLEAR_BIT(hadc->State, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_IRQHandler()
2484 if ((hadc->State & HAL_ADC_STATE_REG_BUSY) == 0UL) in HAL_ADC_IRQHandler()
2486 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in HAL_ADC_IRQHandler()
2492 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in HAL_ADC_IRQHandler()
2495 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in HAL_ADC_IRQHandler()
2509 hadc->InjectedConvCpltCallback(hadc); in HAL_ADC_IRQHandler()
2511 HAL_ADCEx_InjectedConvCpltCallback(hadc); in HAL_ADC_IRQHandler()
2515 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_JEOC | ADC_FLAG_JEOS); in HAL_ADC_IRQHandler()
2523 SET_BIT(hadc->State, HAL_ADC_STATE_AWD1); in HAL_ADC_IRQHandler()
2527 hadc->LevelOutOfWindowCallback(hadc); in HAL_ADC_IRQHandler()
2529 HAL_ADC_LevelOutOfWindowCallback(hadc); in HAL_ADC_IRQHandler()
2533 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD1); in HAL_ADC_IRQHandler()
2540 SET_BIT(hadc->State, HAL_ADC_STATE_AWD2); in HAL_ADC_IRQHandler()
2544 hadc->LevelOutOfWindow2Callback(hadc); in HAL_ADC_IRQHandler()
2546 HAL_ADCEx_LevelOutOfWindow2Callback(hadc); in HAL_ADC_IRQHandler()
2550 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD2); in HAL_ADC_IRQHandler()
2557 SET_BIT(hadc->State, HAL_ADC_STATE_AWD3); in HAL_ADC_IRQHandler()
2561 hadc->LevelOutOfWindow3Callback(hadc); in HAL_ADC_IRQHandler()
2563 HAL_ADCEx_LevelOutOfWindow3Callback(hadc); in HAL_ADC_IRQHandler()
2567 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD3); in HAL_ADC_IRQHandler()
2579 if (hadc->Init.Overrun == ADC_OVR_DATA_PRESERVED) in HAL_ADC_IRQHandler()
2586 if (LL_ADC_REG_GetDMATransfer(hadc->Instance) != LL_ADC_REG_DMA_TRANSFER_NONE) in HAL_ADC_IRQHandler()
2595 SET_BIT(hadc->State, HAL_ADC_STATE_REG_OVR); in HAL_ADC_IRQHandler()
2598 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_OVR); in HAL_ADC_IRQHandler()
2606 hadc->ErrorCallback(hadc); in HAL_ADC_IRQHandler()
2608 HAL_ADC_ErrorCallback(hadc); in HAL_ADC_IRQHandler()
2613 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR); in HAL_ADC_IRQHandler()
2623 SET_BIT(hadc->State, HAL_ADC_STATE_INJ_JQOVF); in HAL_ADC_IRQHandler()
2626 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_JQOVF); in HAL_ADC_IRQHandler()
2629 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_JQOVF); in HAL_ADC_IRQHandler()
2633 hadc->InjectedQueueOverflowCallback(hadc); in HAL_ADC_IRQHandler()
2635 HAL_ADCEx_InjectedQueueOverflowCallback(hadc); in HAL_ADC_IRQHandler()
2647 __weak void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc) in HAL_ADC_ConvCpltCallback() argument
2650 UNUSED(hadc); in HAL_ADC_ConvCpltCallback()
2662 __weak void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef *hadc) in HAL_ADC_ConvHalfCpltCallback() argument
2665 UNUSED(hadc); in HAL_ADC_ConvHalfCpltCallback()
2677 __weak void HAL_ADC_LevelOutOfWindowCallback(ADC_HandleTypeDef *hadc) in HAL_ADC_LevelOutOfWindowCallback() argument
2680 UNUSED(hadc); in HAL_ADC_LevelOutOfWindowCallback()
2699 __weak void HAL_ADC_ErrorCallback(ADC_HandleTypeDef *hadc) in HAL_ADC_ErrorCallback() argument
2702 UNUSED(hadc); in HAL_ADC_ErrorCallback()
2745 HAL_StatusTypeDef HAL_ADC_ConfigChannel(ADC_HandleTypeDef *hadc, const ADC_ChannelConfTypeDef *sCon… in HAL_ADC_ConfigChannel() argument
2753 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_ConfigChannel()
2754 assert_param(IS_ADC_CHANNEL(hadc, sConfig->Channel)); in HAL_ADC_ConfigChannel()
2757 if((hadc->Init.ScanConvMode == ADC_SCAN_SEQ_FIXED) || in HAL_ADC_ConfigChannel()
2758 (hadc->Init.ScanConvMode == ADC_SCAN_SEQ_FIXED_BACKWARD) ) in HAL_ADC_ConfigChannel()
2764 assert_param(IS_ADC_REGULAR_NB_CONV(hadc->Init.NbrOfConversion)); in HAL_ADC_ConfigChannel()
2770 __HAL_LOCK(hadc); in HAL_ADC_ConfigChannel()
2778 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_ConfigChannel()
2795 if((hadc->Init.ScanConvMode == ADC_SCAN_SEQ_FIXED) || in HAL_ADC_ConfigChannel()
2796 (hadc->Init.ScanConvMode == ADC_SCAN_SEQ_FIXED_BACKWARD) ) in HAL_ADC_ConfigChannel()
2800 LL_ADC_REG_SetSequencerChAdd(hadc->Instance, sConfig->Channel); in HAL_ADC_ConfigChannel()
2808 MODIFY_REG(hadc->ADCGroupRegularSequencerRanks, in HAL_ADC_ConfigChannel()
2816 if(((sConfig->Rank >> 2UL) + 1UL) <= hadc->Init.NbrOfConversion) in HAL_ADC_ConfigChannel()
2818 LL_ADC_REG_SetSequencerRanks(hadc->Instance, sConfig->Rank, sConfig->Channel); in HAL_ADC_ConfigChannel()
2823 LL_ADC_SetChannelSamplingTime(hadc->Instance, sConfig->Channel, sConfig->SamplingTime); in HAL_ADC_ConfigChannel()
2833 …tmp_config_internal_channel = LL_ADC_GetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instan… in HAL_ADC_ConfigChannel()
2839 …LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), LL_ADC_PATH_INTERNAL_TEMP… in HAL_ADC_ConfigChannel()
2854 …LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), LL_ADC_PATH_INTERNAL_VBAT… in HAL_ADC_ConfigChannel()
2858 …LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), LL_ADC_PATH_INTERNAL_VREF… in HAL_ADC_ConfigChannel()
2873 if((hadc->Init.ScanConvMode == ADC_SCAN_SEQ_FIXED) || in HAL_ADC_ConfigChannel()
2874 (hadc->Init.ScanConvMode == ADC_SCAN_SEQ_FIXED_BACKWARD) ) in HAL_ADC_ConfigChannel()
2878 LL_ADC_REG_SetSequencerChRem(hadc->Instance, sConfig->Channel); in HAL_ADC_ConfigChannel()
2886 …tmp_config_internal_channel = LL_ADC_GetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instan… in HAL_ADC_ConfigChannel()
2890 …LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), ~LL_ADC_PATH_INTERNAL_TEM… in HAL_ADC_ConfigChannel()
2894 …LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), ~LL_ADC_PATH_INTERNAL_VBA… in HAL_ADC_ConfigChannel()
2898 …LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), ~LL_ADC_PATH_INTERNAL_VRE… in HAL_ADC_ConfigChannel()
2914 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_ConfigChannel()
2920 __HAL_UNLOCK(hadc); in HAL_ADC_ConfigChannel()
2933 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_ConfigChannel()
2938 assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), sConfig->Offset)); in HAL_ADC_ConfigChannel()
2942 …assert_param(!((sConfig->OffsetNumber != ADC_OFFSET_NONE) && (hadc->Init.OversamplingMode == ENABL… in HAL_ADC_ConfigChannel()
2947 assert_param(IS_ADC_CHANNEL(hadc, sConfig->Channel)); in HAL_ADC_ConfigChannel()
2951 assert_param(IS_ADC_DIFF_CHANNEL(hadc, sConfig->Channel)); in HAL_ADC_ConfigChannel()
2955 __HAL_LOCK(hadc); in HAL_ADC_ConfigChannel()
2962 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_ConfigChannel()
2965 LL_ADC_REG_SetSequencerRanks(hadc->Instance, sConfig->Rank, sConfig->Channel); in HAL_ADC_ConfigChannel()
2973 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_ConfigChannel()
2975 tmp_adc_is_conversion_on_going_regular = LL_ADC_REG_IsConversionOngoing(hadc->Instance); in HAL_ADC_ConfigChannel()
2976 tmp_adc_is_conversion_on_going_injected = LL_ADC_INJ_IsConversionOngoing(hadc->Instance); in HAL_ADC_ConfigChannel()
2983 LL_ADC_SetChannelSamplingTime(hadc->Instance, sConfig->Channel, sConfig->SamplingTime); in HAL_ADC_ConfigChannel()
2989 tmpOffsetShifted = ADC_OFFSET_SHIFT_RESOLUTION(hadc, (uint32_t)sConfig->Offset); in HAL_ADC_ConfigChannel()
2994 LL_ADC_SetOffset(hadc->Instance, sConfig->OffsetNumber, sConfig->Channel, tmpOffsetShifted); in HAL_ADC_ConfigChannel()
3001 …if(__LL_ADC_CHANNEL_TO_DECIMAL_NB(LL_ADC_GetOffsetChannel(hadc->Instance, LL_ADC_OFFSET_1)) == __L… in HAL_ADC_ConfigChannel()
3003 LL_ADC_SetOffsetState(hadc->Instance, LL_ADC_OFFSET_1, LL_ADC_OFFSET_DISABLE); in HAL_ADC_ConfigChannel()
3005 …if(__LL_ADC_CHANNEL_TO_DECIMAL_NB(LL_ADC_GetOffsetChannel(hadc->Instance, LL_ADC_OFFSET_2)) == __L… in HAL_ADC_ConfigChannel()
3007 LL_ADC_SetOffsetState(hadc->Instance, LL_ADC_OFFSET_2, LL_ADC_OFFSET_DISABLE); in HAL_ADC_ConfigChannel()
3009 …if(__LL_ADC_CHANNEL_TO_DECIMAL_NB(LL_ADC_GetOffsetChannel(hadc->Instance, LL_ADC_OFFSET_3)) == __L… in HAL_ADC_ConfigChannel()
3011 LL_ADC_SetOffsetState(hadc->Instance, LL_ADC_OFFSET_3, LL_ADC_OFFSET_DISABLE); in HAL_ADC_ConfigChannel()
3013 …if(__LL_ADC_CHANNEL_TO_DECIMAL_NB(LL_ADC_GetOffsetChannel(hadc->Instance, LL_ADC_OFFSET_4)) == __L… in HAL_ADC_ConfigChannel()
3015 LL_ADC_SetOffsetState(hadc->Instance, LL_ADC_OFFSET_4, LL_ADC_OFFSET_DISABLE); in HAL_ADC_ConfigChannel()
3024 if (LL_ADC_IsEnabled(hadc->Instance) == 0UL) in HAL_ADC_ConfigChannel()
3027 LL_ADC_SetChannelSingleDiff(hadc->Instance, sConfig->Channel, sConfig->SingleDiff); in HAL_ADC_ConfigChannel()
3034 LL_ADC_SetChannelSamplingTime(hadc->Instance, in HAL_ADC_ConfigChannel()
3049 …tmp_config_internal_channel = LL_ADC_GetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instan… in HAL_ADC_ConfigChannel()
3053 … if (__LL_ADC_IS_ENABLED_ALL_COMMON_INSTANCE(__LL_ADC_COMMON_INSTANCE(hadc->Instance)) == 0UL) in HAL_ADC_ConfigChannel()
3059 if (ADC_TEMPERATURE_SENSOR_INSTANCE(hadc)) in HAL_ADC_ConfigChannel()
3061 …LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), LL_ADC_PATH_INTERNAL_TEMP… in HAL_ADC_ConfigChannel()
3077 if (ADC_BATTERY_VOLTAGE_INSTANCE(hadc)) in HAL_ADC_ConfigChannel()
3079 …LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), LL_ADC_PATH_INTERNAL_VBAT… in HAL_ADC_ConfigChannel()
3084 if (ADC_VREFINT_INSTANCE(hadc)) in HAL_ADC_ConfigChannel()
3086 …LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), LL_ADC_PATH_INTERNAL_VREF… in HAL_ADC_ConfigChannel()
3100 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_ConfigChannel()
3114 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_ConfigChannel()
3120 __HAL_UNLOCK(hadc); in HAL_ADC_ConfigChannel()
3143 HAL_StatusTypeDef HAL_ADC_AnalogWDGConfig(ADC_HandleTypeDef *hadc, const ADC_AnalogWDGConfTypeDef *… in HAL_ADC_AnalogWDGConfig() argument
3154 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_AnalogWDGConfig()
3167 assert_param(IS_ADC_CHANNEL(hadc, AnalogWDGConfig->Channel)); in HAL_ADC_AnalogWDGConfig()
3173 assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), AnalogWDGConfig->HighThreshold)); in HAL_ADC_AnalogWDGConfig()
3174 assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), AnalogWDGConfig->LowThreshold)); in HAL_ADC_AnalogWDGConfig()
3176 if (hadc->Init.OversamplingMode == ENABLE) in HAL_ADC_AnalogWDGConfig()
3187 assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), AnalogWDGConfig->HighThreshold)); in HAL_ADC_AnalogWDGConfig()
3188 assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), AnalogWDGConfig->LowThreshold)); in HAL_ADC_AnalogWDGConfig()
3193 __HAL_LOCK(hadc); in HAL_ADC_AnalogWDGConfig()
3201 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_AnalogWDGConfig()
3203 tmp_adc_is_conversion_on_going_regular = LL_ADC_REG_IsConversionOngoing(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3204 tmp_adc_is_conversion_on_going_injected = LL_ADC_INJ_IsConversionOngoing(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3219 …LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, __LL_ADC_ANALOGWD_CHANNEL_GROUP(Analo… in HAL_ADC_AnalogWDGConfig()
3227 …LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, __LL_ADC_ANALOGWD_CHANNEL_GROUP(Analo… in HAL_ADC_AnalogWDGConfig()
3232 …LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, __LL_ADC_ANALOGWD_CHANNEL_GROUP(Analo… in HAL_ADC_AnalogWDGConfig()
3238 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, LL_ADC_AWD_ALL_CHANNELS_REG); in HAL_ADC_AnalogWDGConfig()
3245 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, LL_ADC_AWD_ALL_CHANNELS_INJ); in HAL_ADC_AnalogWDGConfig()
3249 … LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, LL_ADC_AWD_ALL_CHANNELS_REG_INJ); in HAL_ADC_AnalogWDGConfig()
3254 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, LL_ADC_AWD_DISABLE); in HAL_ADC_AnalogWDGConfig()
3261 …tmpAWDHighThresholdShifted = ADC_AWD1THRESHOLD_SHIFT_RESOLUTION(hadc, AnalogWDGConfig->HighThresho… in HAL_ADC_AnalogWDGConfig()
3262 …tmpAWDLowThresholdShifted = ADC_AWD1THRESHOLD_SHIFT_RESOLUTION(hadc, AnalogWDGConfig->LowThreshol… in HAL_ADC_AnalogWDGConfig()
3265 …LL_ADC_ConfigAnalogWDThresholds(hadc->Instance, AnalogWDGConfig->WatchdogNumber, tmpAWDHighThresho… in HAL_ADC_AnalogWDGConfig()
3268 CLEAR_BIT(hadc->State, HAL_ADC_STATE_AWD1); in HAL_ADC_AnalogWDGConfig()
3274 LL_ADC_ClearFlag_AWD1(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3279 LL_ADC_EnableIT_AWD1(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3283 LL_ADC_DisableIT_AWD1(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3303 …SET_BIT(hadc->Instance->AWD2CR, (1UL << (__LL_ADC_CHANNEL_TO_DECIMAL_NB(AnalogWDGConfig->Channel) … in HAL_ADC_AnalogWDGConfig()
3307 …SET_BIT(hadc->Instance->AWD3CR, (1UL << (__LL_ADC_CHANNEL_TO_DECIMAL_NB(AnalogWDGConfig->Channel) … in HAL_ADC_AnalogWDGConfig()
3317 …LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, AnalogWDGConfig->WatchdogNumber, LL_ADC_AWD_ALL_CH… in HAL_ADC_AnalogWDGConfig()
3319 …LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, AnalogWDGConfig->WatchdogNumber, LL_ADC_AWD_ALL_CH… in HAL_ADC_AnalogWDGConfig()
3324 …LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, AnalogWDGConfig->WatchdogNumber, LL_ADC_AWD_DISABL… in HAL_ADC_AnalogWDGConfig()
3330 …tmpAWDHighThresholdShifted = ADC_AWD23THRESHOLD_SHIFT_RESOLUTION(hadc, AnalogWDGConfig->HighThresh… in HAL_ADC_AnalogWDGConfig()
3331 …tmpAWDLowThresholdShifted = ADC_AWD23THRESHOLD_SHIFT_RESOLUTION(hadc, AnalogWDGConfig->LowThresho… in HAL_ADC_AnalogWDGConfig()
3334 …LL_ADC_ConfigAnalogWDThresholds(hadc->Instance, AnalogWDGConfig->WatchdogNumber, tmpAWDHighThresho… in HAL_ADC_AnalogWDGConfig()
3339 CLEAR_BIT(hadc->State, HAL_ADC_STATE_AWD2); in HAL_ADC_AnalogWDGConfig()
3345 LL_ADC_ClearFlag_AWD2(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3350 LL_ADC_EnableIT_AWD2(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3354 LL_ADC_DisableIT_AWD2(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3361 CLEAR_BIT(hadc->State, HAL_ADC_STATE_AWD3); in HAL_ADC_AnalogWDGConfig()
3367 LL_ADC_ClearFlag_AWD3(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3372 LL_ADC_EnableIT_AWD3(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3376 LL_ADC_DisableIT_AWD3(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3388 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_AnalogWDGConfig()
3393 __HAL_UNLOCK(hadc); in HAL_ADC_AnalogWDGConfig()
3431 uint32_t HAL_ADC_GetState(const ADC_HandleTypeDef *hadc) in HAL_ADC_GetState() argument
3434 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_GetState()
3437 return hadc->State; in HAL_ADC_GetState()
3445 uint32_t HAL_ADC_GetError(const ADC_HandleTypeDef *hadc) in HAL_ADC_GetError() argument
3448 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_GetError()
3450 return hadc->ErrorCode; in HAL_ADC_GetError()
3477 HAL_StatusTypeDef ADC_ConversionStop(ADC_HandleTypeDef *hadc, uint32_t ConversionGroup) in ADC_ConversionStop() argument
3485 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in ADC_ConversionStop()
3489 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) != 0UL) in ADC_ConversionStop()
3493 if (LL_ADC_IsDisableOngoing(hadc->Instance) == 0UL) in ADC_ConversionStop()
3496 LL_ADC_REG_StopConversion(hadc->Instance); in ADC_ConversionStop()
3503 while((hadc->Instance->CR & ADC_CR_ADSTART) != 0UL) in ADC_ConversionStop()
3508 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_ConversionStop()
3511 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_ConversionStop()
3527 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in ADC_ConversionStop()
3532 tmp_adc_is_conversion_on_going_regular = LL_ADC_REG_IsConversionOngoing(hadc->Instance); in ADC_ConversionStop()
3533 tmp_adc_is_conversion_on_going_injected = LL_ADC_INJ_IsConversionOngoing(hadc->Instance); in ADC_ConversionStop()
3544 if (((hadc->Instance->CFGR & ADC_CFGR_JAUTO) != 0UL) in ADC_ConversionStop()
3545 && (hadc->Init.ContinuousConvMode == ENABLE) in ADC_ConversionStop()
3546 && (hadc->Init.LowPowerAutoWait == ENABLE) in ADC_ConversionStop()
3553 while (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_JEOS) == 0UL) in ADC_ConversionStop()
3558 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_ConversionStop()
3561 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_ConversionStop()
3569 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_JEOS); in ADC_ConversionStop()
3576 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) != 0UL) in ADC_ConversionStop()
3578 if (LL_ADC_IsDisableOngoing(hadc->Instance) == 0UL) in ADC_ConversionStop()
3581 LL_ADC_REG_StopConversion(hadc->Instance); in ADC_ConversionStop()
3590 if (LL_ADC_INJ_IsConversionOngoing(hadc->Instance) != 0UL) in ADC_ConversionStop()
3592 if (LL_ADC_IsDisableOngoing(hadc->Instance) == 0UL) in ADC_ConversionStop()
3595 LL_ADC_INJ_StopConversion(hadc->Instance); in ADC_ConversionStop()
3618 while ((hadc->Instance->CR & tmp_ADC_CR_ADSTART_JADSTART) != 0UL) in ADC_ConversionStop()
3623 if ((hadc->Instance->CR & tmp_ADC_CR_ADSTART_JADSTART) != 0UL) in ADC_ConversionStop()
3626 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_ConversionStop()
3629 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_ConversionStop()
3652 HAL_StatusTypeDef ADC_Enable(ADC_HandleTypeDef *hadc) in ADC_Enable() argument
3661 if (LL_ADC_IsEnabled(hadc->Instance) == 0UL) in ADC_Enable()
3665 …if ((hadc->Instance->CR & (ADC_CR_ADCAL | ADC_CR_ADSTP | ADC_CR_ADSTART | ADC_CR_ADDIS | ADC_CR_AD… in ADC_Enable()
3667 …if ((hadc->Instance->CR & (ADC_CR_ADCAL | ADC_CR_JADSTP | ADC_CR_ADSTP | ADC_CR_JADSTART | ADC_CR_… in ADC_Enable()
3671 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_Enable()
3674 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_Enable()
3680 LL_ADC_Enable(hadc->Instance); in ADC_Enable()
3682 …if((LL_ADC_GetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance)) & LL_ADC_PATH_INTERNA… in ADC_Enable()
3699 if (hadc->Init.LowPowerAutoPowerOff != ENABLE) in ADC_Enable()
3705 while(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_RDY) == 0UL) in ADC_Enable()
3715 if(LL_ADC_IsEnabled(hadc->Instance) == 0UL) in ADC_Enable()
3717 LL_ADC_Enable(hadc->Instance); in ADC_Enable()
3723 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_Enable()
3726 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_Enable()
3745 HAL_StatusTypeDef ADC_Disable(ADC_HandleTypeDef *hadc) in ADC_Disable() argument
3748 const uint32_t tmp_adc_is_disable_on_going = LL_ADC_IsDisableOngoing(hadc->Instance); in ADC_Disable()
3753 if ((LL_ADC_IsEnabled(hadc->Instance) != 0UL) in ADC_Disable()
3759 if ((hadc->Instance->CR & (ADC_CR_ADSTART | ADC_CR_ADEN)) == ADC_CR_ADEN) in ADC_Disable()
3761 if ((hadc->Instance->CR & (ADC_CR_JADSTART | ADC_CR_ADSTART | ADC_CR_ADEN)) == ADC_CR_ADEN) in ADC_Disable()
3765 LL_ADC_Disable(hadc->Instance); in ADC_Disable()
3766 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOSMP | ADC_FLAG_RDY)); in ADC_Disable()
3771 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_Disable()
3774 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_Disable()
3783 while ((hadc->Instance->CR & ADC_CR_ADEN) != 0UL) in ADC_Disable()
3788 if ((hadc->Instance->CR & ADC_CR_ADEN) != 0UL) in ADC_Disable()
3791 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_Disable()
3794 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_Disable()
3814 ADC_HandleTypeDef *hadc = (ADC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in ADC_DMAConvCplt() local
3817 if ((hadc->State & (HAL_ADC_STATE_ERROR_INTERNAL | HAL_ADC_STATE_ERROR_DMA)) == 0UL) in ADC_DMAConvCplt()
3820 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); in ADC_DMAConvCplt()
3827 if( (LL_ADC_REG_IsTriggerSourceSWStart(hadc->Instance) != 0UL) in ADC_DMAConvCplt()
3828 && (hadc->Init.ContinuousConvMode == DISABLE) in ADC_DMAConvCplt()
3832 if( __HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS) ) in ADC_DMAConvCplt()
3836 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in ADC_DMAConvCplt()
3842 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC | ADC_IT_EOS); in ADC_DMAConvCplt()
3845 ADC_STATE_CLR_SET(hadc->State, in ADC_DMAConvCplt()
3852 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in ADC_DMAConvCplt()
3855 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_DMAConvCplt()
3861 if ((hadc->Instance->ISR & ADC_FLAG_EOS) != 0UL) in ADC_DMAConvCplt()
3864 if (LL_ADC_REG_IsTriggerSourceSWStart(hadc->Instance) != 0UL) in ADC_DMAConvCplt()
3867 if (READ_BIT(hadc->Instance->CFGR, ADC_CFGR_CONT) == 0UL) in ADC_DMAConvCplt()
3870 CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); in ADC_DMAConvCplt()
3871 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) == 0UL) in ADC_DMAConvCplt()
3873 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in ADC_DMAConvCplt()
3882 if (READ_BIT(hadc->Instance->CFGR, ADC_CFGR_DMACFG) == 0UL) in ADC_DMAConvCplt()
3885 CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); in ADC_DMAConvCplt()
3886 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) == 0UL) in ADC_DMAConvCplt()
3888 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in ADC_DMAConvCplt()
3896 hadc->ConvCpltCallback(hadc); in ADC_DMAConvCplt()
3898 HAL_ADC_ConvCpltCallback(hadc); in ADC_DMAConvCplt()
3903 if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) != 0UL) in ADC_DMAConvCplt()
3907 hadc->ErrorCallback(hadc); in ADC_DMAConvCplt()
3909 HAL_ADC_ErrorCallback(hadc); in ADC_DMAConvCplt()
3915 hadc->DMA_Handle->XferErrorCallback(hdma); in ADC_DMAConvCplt()
3928 ADC_HandleTypeDef *hadc = (ADC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in ADC_DMAHalfConvCplt() local
3932 hadc->ConvHalfCpltCallback(hadc); in ADC_DMAHalfConvCplt()
3934 HAL_ADC_ConvHalfCpltCallback(hadc); in ADC_DMAHalfConvCplt()
3946 ADC_HandleTypeDef *hadc = (ADC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in ADC_DMAError() local
3949 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA); in ADC_DMAError()
3952 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_DMA); in ADC_DMAError()
3956 hadc->ErrorCallback(hadc); in ADC_DMAError()
3958 HAL_ADC_ErrorCallback(hadc); in ADC_DMAError()