Lines Matching refs:hadc

406 HAL_StatusTypeDef HAL_ADC_Init(ADC_HandleTypeDef *hadc)  in HAL_ADC_Init()  argument
417 if (hadc == NULL) in HAL_ADC_Init()
423 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Init()
424 assert_param(IS_ADC_CLOCKPRESCALER(hadc->Init.ClockPrescaler)); in HAL_ADC_Init()
425 assert_param(IS_ADC_RESOLUTION(hadc->Init.Resolution)); in HAL_ADC_Init()
426 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode)); in HAL_ADC_Init()
427 assert_param(IS_ADC_EXTTRIG_EDGE(hadc->Init.ExternalTrigConvEdge)); in HAL_ADC_Init()
429 if (hadc->Instance != ADC4) /* ADC1 or ADC2 */ in HAL_ADC_Init()
431 assert_param(IS_ADC_SCAN_MODE(hadc->Init.ScanConvMode)); in HAL_ADC_Init()
432 assert_param(IS_ADC_GAIN_COMPENSATION(hadc->Init.GainCompensation)); in HAL_ADC_Init()
433 assert_param(IS_ADC_CONVERSIONDATAMGT(hadc->Init.ConversionDataManagement)); in HAL_ADC_Init()
434 assert_param(IS_ADC_EXTTRIG(hadc->Init.ExternalTrigConv)); in HAL_ADC_Init()
438 assert_param(IS_ADC4_SCAN_MODE(hadc->Init.ScanConvMode)); in HAL_ADC_Init()
439 assert_param(IS_ADC_DATA_ALIGN(hadc->Init.DataAlign)); in HAL_ADC_Init()
440 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.DMAContinuousRequests)); in HAL_ADC_Init()
441 assert_param(IS_ADC4_LOW_POWER(hadc->Init.LowPowerAutoPowerOff)); in HAL_ADC_Init()
442 assert_param(IS_ADC4_VREF_PROT(hadc->Init.VrefProtection)); in HAL_ADC_Init()
443 assert_param(IS_ADC4_EXTTRIG(hadc->Init.ExternalTrigConv)); in HAL_ADC_Init()
444 assert_param(IS_ADC_TRIGGER_FREQ(hadc->Init.TriggerFrequencyMode)); in HAL_ADC_Init()
445 assert_param(IS_ADC4_SAMPLE_TIME(hadc->Init.SamplingTimeCommon1)); in HAL_ADC_Init()
446 assert_param(IS_ADC4_SAMPLE_TIME(hadc->Init.SamplingTimeCommon2)); in HAL_ADC_Init()
448 assert_param(IS_ADC_EOC_SELECTION(hadc->Init.EOCSelection)); in HAL_ADC_Init()
449 assert_param(IS_ADC_OVERRUN(hadc->Init.Overrun)); in HAL_ADC_Init()
450 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.LowPowerAutoWait)); in HAL_ADC_Init()
451 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.OversamplingMode)); in HAL_ADC_Init()
453 if (hadc->Init.ScanConvMode != ADC_SCAN_DISABLE) in HAL_ADC_Init()
455 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.DiscontinuousConvMode)); in HAL_ADC_Init()
456 if (hadc->Instance != ADC4) /* ADC1 or ADC2 */ in HAL_ADC_Init()
458 assert_param(IS_ADC_REGULAR_NB_CONV(hadc->Init.NbrOfConversion)); in HAL_ADC_Init()
459 if (hadc->Init.DiscontinuousConvMode == ENABLE) in HAL_ADC_Init()
461 assert_param(IS_ADC_REGULAR_DISCONT_NUMBER(hadc->Init.NbrOfDiscConversion)); in HAL_ADC_Init()
466 if (hadc->Init.ScanConvMode == ADC_SCAN_ENABLE) in HAL_ADC_Init()
468 assert_param(IS_ADC_REGULAR_NB_CONV(hadc->Init.NbrOfConversion)); in HAL_ADC_Init()
474 …assert_param(!((hadc->Init.DiscontinuousConvMode == ENABLE) && (hadc->Init.ContinuousConvMode == E… in HAL_ADC_Init()
478 if (hadc->State == HAL_ADC_STATE_RESET) in HAL_ADC_Init()
482hadc->ConvCpltCallback = HAL_ADC_ConvCpltCallback; /* Legacy weak cal… in HAL_ADC_Init()
483hadc->ConvHalfCpltCallback = HAL_ADC_ConvHalfCpltCallback; /* Legacy weak cal… in HAL_ADC_Init()
484hadc->LevelOutOfWindowCallback = HAL_ADC_LevelOutOfWindowCallback; /* Legacy weak cal… in HAL_ADC_Init()
485hadc->ErrorCallback = HAL_ADC_ErrorCallback; /* Legacy weak cal… in HAL_ADC_Init()
486 if (hadc->Instance != ADC4) /* ADC1 or ADC2 */ in HAL_ADC_Init()
488hadc->InjectedConvCpltCallback = HAL_ADCEx_InjectedConvCpltCallback; /* Legacy weak cal… in HAL_ADC_Init()
489hadc->InjectedQueueOverflowCallback = HAL_ADCEx_InjectedQueueOverflowCallback; /* Legacy weak cal… in HAL_ADC_Init()
491hadc->LevelOutOfWindow2Callback = HAL_ADCEx_LevelOutOfWindow2Callback; /* Legacy weak cal… in HAL_ADC_Init()
492hadc->LevelOutOfWindow3Callback = HAL_ADCEx_LevelOutOfWindow3Callback; /* Legacy weak cal… in HAL_ADC_Init()
493hadc->EndOfSamplingCallback = HAL_ADCEx_EndOfSamplingCallback; /* Legacy weak cal… in HAL_ADC_Init()
494hadc->CalibrationCpltCallback = HAL_ADC_CalibrationCpltCallback; /* Legacy weak cal… in HAL_ADC_Init()
495hadc->VoltageRegulatorCallback = HAL_ADC_VoltageRegulatorCallback; /* Legacy weak cal… in HAL_ADC_Init()
496hadc->ADCReadyCallback = HAL_ADC_ADCReadyCallback; /* Legacy weak cal… in HAL_ADC_Init()
498 if (hadc->MspInitCallback == NULL) in HAL_ADC_Init()
500 hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */ in HAL_ADC_Init()
504 hadc->MspInitCallback(hadc); in HAL_ADC_Init()
507 HAL_ADC_MspInit(hadc); in HAL_ADC_Init()
511 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Init()
514 hadc->Lock = HAL_UNLOCKED; in HAL_ADC_Init()
518 if (LL_ADC_IsDeepPowerDownEnabled(hadc->Instance) != 0UL) in HAL_ADC_Init()
521 LL_ADC_DisableDeepPowerDown(hadc->Instance); in HAL_ADC_Init()
528 if (LL_ADC_IsInternalRegulatorEnabled(hadc->Instance) == 0UL) in HAL_ADC_Init()
531 LL_ADC_EnableInternalRegulator(hadc->Instance); in HAL_ADC_Init()
546 if (LL_ADC_IsInternalRegulatorEnabled(hadc->Instance) == 0UL) in HAL_ADC_Init()
549 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in HAL_ADC_Init()
552 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in HAL_ADC_Init()
561 tmp_adc_reg_is_conversion_on_going = LL_ADC_REG_IsConversionOngoing(hadc->Instance); in HAL_ADC_Init()
563 if (((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) == 0UL) in HAL_ADC_Init()
568 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Init()
577 if (LL_ADC_IsEnabled(hadc->Instance) == 0UL) in HAL_ADC_Init()
579 if (hadc->Instance != ADC4) /* ADC1 or ADC2 */ in HAL_ADC_Init()
581 … if (__LL_ADC_IS_ENABLED_ALL_COMMON_INSTANCE(__LL_ADC_COMMON_INSTANCE(hadc->Instance)) == 0UL) in HAL_ADC_Init()
600 … LL_ADC_SetCommonClock(__LL_ADC_COMMON_INSTANCE(hadc->Instance), hadc->Init.ClockPrescaler); in HAL_ADC_Init()
614 LL_ADC_SetResolution(hadc->Instance, hadc->Init.Resolution); in HAL_ADC_Init()
620 hadc->Init.ClockPrescaler & ADC_CCR_PRESC); in HAL_ADC_Init()
623 if (hadc->Instance != ADC4) /* ADC1 or ADC2 */ in HAL_ADC_Init()
635 ADC_CFGR_CONTINUOUS((uint32_t)hadc->Init.ContinuousConvMode) | in HAL_ADC_Init()
636 hadc->Init.Overrun | in HAL_ADC_Init()
637 hadc->Init.Resolution | in HAL_ADC_Init()
638 ADC_CFGR_REG_DISCONTINUOUS((uint32_t)hadc->Init.DiscontinuousConvMode)); in HAL_ADC_Init()
654 tmpCFGR1 |= (ADC_CFGR_AUTOWAIT((uint32_t)hadc->Init.LowPowerAutoWait) | in HAL_ADC_Init()
655 ADC_CFGR_CONTINUOUS((uint32_t)hadc->Init.ContinuousConvMode) | in HAL_ADC_Init()
656 ADC_CFGR_OVERRUN(hadc->Init.Overrun) | in HAL_ADC_Init()
657 hadc->Init.DataAlign | in HAL_ADC_Init()
658 ADC_SCAN_SEQ_MODE(hadc->Init.ScanConvMode) | in HAL_ADC_Init()
659 ADC_CFGR_DMACONTREQ(hadc, (uint32_t)hadc->Init.DMAContinuousRequests)); in HAL_ADC_Init()
662 if (hadc->Init.DiscontinuousConvMode == ENABLE) in HAL_ADC_Init()
664 if (hadc->Instance != ADC4) /* ADC1 or ADC2 */ in HAL_ADC_Init()
666 tmpCFGR1 |= ADC_CFGR_DISCONTINUOUS_NUM(hadc->Init.NbrOfDiscConversion); in HAL_ADC_Init()
670 if (hadc->Init.ContinuousConvMode == DISABLE) in HAL_ADC_Init()
682 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_Init()
685 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in HAL_ADC_Init()
690 if (hadc->Instance != ADC4) /* ADC1 or ADC2 */ in HAL_ADC_Init()
697 if (hadc->Init.ExternalTrigConv != ADC_SOFTWARE_START) in HAL_ADC_Init()
699 … tmpCFGR1 |= ((hadc->Init.ExternalTrigConv & ADC_CFGR1_EXTSEL) | hadc->Init.ExternalTrigConvEdge); in HAL_ADC_Init()
702 MODIFY_REG(hadc->Instance->CFGR1, ADC_CFGR_FIELDS_1, tmpCFGR1); in HAL_ADC_Init()
711 if (hadc->Init.ExternalTrigConv != ADC_SOFTWARE_START) in HAL_ADC_Init()
713 … tmpCFGR1 |= ((hadc->Init.ExternalTrigConv & ADC4_CFGR1_EXTSEL) | hadc->Init.ExternalTrigConvEdge); in HAL_ADC_Init()
716 MODIFY_REG(hadc->Instance->CFGR1, in HAL_ADC_Init()
729 if (hadc->Init.LowPowerAutoPowerOff != ADC_LOW_POWER_NONE) in HAL_ADC_Init()
731 SET_BIT(hadc->Instance->PWRR, hadc->Init.LowPowerAutoPowerOff); in HAL_ADC_Init()
734 if (hadc->Init.VrefProtection != ADC_VREF_PPROT_NONE) in HAL_ADC_Init()
736 SET_BIT(hadc->Instance->PWRR, hadc->Init.VrefProtection); in HAL_ADC_Init()
741 if (hadc->Instance != ADC4) /* ADC1 or ADC2 */ in HAL_ADC_Init()
749 tmp_adc_is_conversion_on_going_regular = LL_ADC_REG_IsConversionOngoing(hadc->Instance); in HAL_ADC_Init()
750 tmp_adc_is_conversion_on_going_injected = LL_ADC_INJ_IsConversionOngoing(hadc->Instance); in HAL_ADC_Init()
755 tmpCFGR1 = (ADC_CFGR_AUTODELAY((uint32_t)hadc->Init.LowPowerAutoWait) | in HAL_ADC_Init()
756 ADC_CFGR_DMACONTREQ(hadc, (uint32_t)hadc->Init.ConversionDataManagement)); in HAL_ADC_Init()
758 MODIFY_REG(hadc->Instance->CFGR1, ADC_CFGR1_AUTDLY | ADC_CFGR1_DMNGT, tmpCFGR1); in HAL_ADC_Init()
759 if (hadc->Init.GainCompensation != 0UL) in HAL_ADC_Init()
761 LL_ADC_SetGainCompensation(hadc->Instance, hadc->Init.GainCompensation); in HAL_ADC_Init()
764 if (hadc->Init.OversamplingMode == ENABLE) in HAL_ADC_Init()
766 assert_param(IS_ADC_OVERSAMPLING_RATIO(hadc->Init.Oversampling.Ratio)); in HAL_ADC_Init()
767 assert_param(IS_ADC12_RIGHT_BIT_SHIFT(hadc->Init.Oversampling.RightBitShift)); in HAL_ADC_Init()
768 assert_param(IS_ADC_TRIGGERED_OVERSAMPLING_MODE(hadc->Init.Oversampling.TriggeredMode)); in HAL_ADC_Init()
769 assert_param(IS_ADC_REGOVERSAMPLING_MODE(hadc->Init.Oversampling.OversamplingStopReset)); in HAL_ADC_Init()
771 if ((hadc->Init.ExternalTrigConv == ADC_SOFTWARE_START) in HAL_ADC_Init()
772 || (hadc->Init.ExternalTrigConvEdge == ADC_EXTERNALTRIGCONVEDGE_NONE)) in HAL_ADC_Init()
775 … assert_param((hadc->Init.Oversampling.TriggeredMode == ADC_TRIGGEREDMODE_SINGLE_TRIGGER)); in HAL_ADC_Init()
785 MODIFY_REG(hadc->Instance->CFGR2, ADC_CFGR2_FIELDS, in HAL_ADC_Init()
787 (hadc->Init.Oversampling.Ratio << ADC_CFGR2_OVSR_Pos) | in HAL_ADC_Init()
788 hadc->Init.Oversampling.RightBitShift | in HAL_ADC_Init()
789 hadc->Init.Oversampling.TriggeredMode | in HAL_ADC_Init()
790 hadc->Init.Oversampling.OversamplingStopReset | in HAL_ADC_Init()
791 (hadc->Init.TriggerFrequencyMode >> 2UL)); in HAL_ADC_Init()
796 CLEAR_BIT(hadc->Instance->CFGR2, ADC_CFGR2_ROVSE); in HAL_ADC_Init()
800 MODIFY_REG(hadc->Instance->CFGR2, ADC_CFGR2_LSHIFT, hadc->Init.LeftBitShift); in HAL_ADC_Init()
810 if (hadc->Init.ScanConvMode == ADC_SCAN_ENABLE) in HAL_ADC_Init()
813 MODIFY_REG(hadc->Instance->SQR1, ADC_SQR1_L, (hadc->Init.NbrOfConversion - (uint8_t)1)); in HAL_ADC_Init()
817 CLEAR_BIT(hadc->Instance->SQR1, ADC_SQR1_L); in HAL_ADC_Init()
822 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_BUSY_INTERNAL, HAL_ADC_STATE_READY); in HAL_ADC_Init()
827 if (hadc->Init.OversamplingMode == ENABLE) in HAL_ADC_Init()
829 assert_param(IS_ADC4_OVERSAMPLING_RATIO(hadc->Init.Oversampling.Ratio)); in HAL_ADC_Init()
830 assert_param(IS_ADC_RIGHT_BIT_SHIFT(hadc->Init.Oversampling.RightBitShift)); in HAL_ADC_Init()
831 assert_param(IS_ADC_TRIGGERED_OVERSAMPLING_MODE(hadc->Init.Oversampling.TriggeredMode)); in HAL_ADC_Init()
839 tmpCFGR2 |= (hadc->Init.Oversampling.Ratio | in HAL_ADC_Init()
840 hadc->Init.Oversampling.RightBitShift | in HAL_ADC_Init()
841 hadc->Init.Oversampling.TriggeredMode | in HAL_ADC_Init()
842 hadc->Init.TriggerFrequencyMode in HAL_ADC_Init()
847 MODIFY_REG(hadc->Instance->CFGR2, in HAL_ADC_Init()
853 …LL_ADC_SetSamplingTimeCommonChannels(hadc->Instance, LL_ADC_SAMPLINGTIME_COMMON_1, … in HAL_ADC_Init()
854 hadc->Init.SamplingTimeCommon1); in HAL_ADC_Init()
855 …LL_ADC_SetSamplingTimeCommonChannels(hadc->Instance, LL_ADC_SAMPLINGTIME_COMMON_2, … in HAL_ADC_Init()
856 hadc->Init.SamplingTimeCommon2); in HAL_ADC_Init()
868 if (hadc->Init.ScanConvMode == ADC4_SCAN_DISABLE) in HAL_ADC_Init()
872 SET_BIT(hadc->Instance->CHSELR, ADC_CHSELR_SQ2_TO_SQ8); in HAL_ADC_Init()
875 else if (hadc->Init.ScanConvMode == ADC4_SCAN_ENABLE) in HAL_ADC_Init()
886 MODIFY_REG(hadc->Instance->CHSELR, in HAL_ADC_Init()
888 … (ADC_CHSELR_SQ2_TO_SQ8 << (((hadc->Init.NbrOfConversion - 1UL) * ADC4_REGULAR_RANK_2) & 0x1FUL)) \ in HAL_ADC_Init()
889 | (hadc->ADCGroupRegularSequencerRanks) in HAL_ADC_Init()
902 …if ((hadc->Instance->CFGR1 & ~(ADC_CFGR1_AWD1CH | ADC_CFGR1_AWD1EN | ADC_CFGR1_AWD1SGL | ADC_CFGR1… in HAL_ADC_Init()
906 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Init()
909 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_BUSY_INTERNAL, HAL_ADC_STATE_READY); in HAL_ADC_Init()
914 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_BUSY_INTERNAL, HAL_ADC_STATE_ERROR_INTERNAL); in HAL_ADC_Init()
917 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in HAL_ADC_Init()
926 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in HAL_ADC_Init()
952 HAL_StatusTypeDef HAL_ADC_DeInit(ADC_HandleTypeDef *hadc) in HAL_ADC_DeInit() argument
957 if (hadc == NULL) in HAL_ADC_DeInit()
963 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_DeInit()
966 SET_BIT(hadc->State, HAL_ADC_STATE_BUSY_INTERNAL); in HAL_ADC_DeInit()
969 tmp_hal_status = ADC_ConversionStop(hadc, ADC_REGULAR_INJECTED_GROUP); in HAL_ADC_DeInit()
975 tmp_hal_status = ADC_Disable(hadc); in HAL_ADC_DeInit()
981 hadc->State = HAL_ADC_STATE_READY; in HAL_ADC_DeInit()
993 if (hadc->Instance != ADC4) /* ADC1 or ADC2 */ in HAL_ADC_DeInit()
995 __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_AWD3 | ADC_IT_AWD2 | in HAL_ADC_DeInit()
1002 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_AWD3 | ADC_FLAG_AWD2 | in HAL_ADC_DeInit()
1013 CLEAR_BIT(hadc->Instance->CR, ADC_CR_ADVREGEN); in HAL_ADC_DeInit()
1014 SET_BIT(hadc->Instance->CR, ADC_CR_DEEPPWD); in HAL_ADC_DeInit()
1017 CLEAR_BIT(hadc->Instance->CFGR1, ADC_CFGR1_AWD1CH | ADC_CFGR1_JAUTO | ADC_CFGR1_JAWD1EN | in HAL_ADC_DeInit()
1025 CLEAR_BIT(hadc->Instance->CFGR2, ADC_CFGR2_ROVSM | ADC_CFGR2_TROVS | ADC_CFGR2_OVSS | in HAL_ADC_DeInit()
1029 CLEAR_BIT(hadc->Instance->SMPR1, ADC_SMPR1_FIELDS); in HAL_ADC_DeInit()
1032 CLEAR_BIT(hadc->Instance->SMPR2, ADC_SMPR2_SMP18 | ADC_SMPR2_SMP17 | ADC_SMPR2_SMP16 | in HAL_ADC_DeInit()
1037 CLEAR_BIT(hadc->Instance->LTR1, ADC_LTR_LT); in HAL_ADC_DeInit()
1038 CLEAR_BIT(hadc->Instance->HTR1, ADC_HTR_HT); in HAL_ADC_DeInit()
1041 CLEAR_BIT(hadc->Instance->LTR2, ADC_LTR_LT); in HAL_ADC_DeInit()
1042 CLEAR_BIT(hadc->Instance->HTR2, ADC_HTR_HT); in HAL_ADC_DeInit()
1045 CLEAR_BIT(hadc->Instance->LTR3, ADC_LTR_LT); in HAL_ADC_DeInit()
1046 CLEAR_BIT(hadc->Instance->HTR3, ADC_HTR_HT); in HAL_ADC_DeInit()
1049 CLEAR_BIT(hadc->Instance->SQR1, ADC_SQR1_SQ4 | ADC_SQR1_SQ3 | ADC_SQR1_SQ2 | in HAL_ADC_DeInit()
1053 CLEAR_BIT(hadc->Instance->SQR2, ADC_SQR2_SQ9 | ADC_SQR2_SQ8 | ADC_SQR2_SQ7 | in HAL_ADC_DeInit()
1057 CLEAR_BIT(hadc->Instance->SQR3, ADC_SQR3_SQ14 | ADC_SQR3_SQ13 | ADC_SQR3_SQ12 | in HAL_ADC_DeInit()
1061 CLEAR_BIT(hadc->Instance->SQR4, ADC_SQR4_SQ16 | ADC_SQR4_SQ15); in HAL_ADC_DeInit()
1069 …CLEAR_BIT(hadc->Instance->OFR1, ADC_OFR1_OFFSETPOS | ADC_OFR1_USAT | ADC_OFR1_SSAT | ADC_OFR1_OFFS… in HAL_ADC_DeInit()
1072 …CLEAR_BIT(hadc->Instance->OFR2, ADC_OFR2_OFFSETPOS | ADC_OFR2_USAT | ADC_OFR2_SSAT | ADC_OFR2_OFFS… in HAL_ADC_DeInit()
1075 …CLEAR_BIT(hadc->Instance->OFR3, ADC_OFR3_OFFSETPOS | ADC_OFR3_USAT | ADC_OFR3_SSAT | ADC_OFR3_OFFS… in HAL_ADC_DeInit()
1078 …CLEAR_BIT(hadc->Instance->OFR4, ADC_OFR4_OFFSETPOS | ADC_OFR4_USAT | ADC_OFR4_SSAT | ADC_OFR4_OFFS… in HAL_ADC_DeInit()
1082 CLEAR_BIT(hadc->Instance->GCOMP, ADC_GCOMP_GCOMP | ADC_GCOMP_GCOMPCOEFF); in HAL_ADC_DeInit()
1088 CLEAR_BIT(hadc->Instance->AWD2CR, ADC_AWD2CR_AWD2CH); in HAL_ADC_DeInit()
1091 CLEAR_BIT(hadc->Instance->AWD3CR, ADC_AWD3CR_AWD3CH); in HAL_ADC_DeInit()
1094 CLEAR_BIT(hadc->Instance->DIFSEL, ADC_DIFSEL_DIFSEL); in HAL_ADC_DeInit()
1097 CLEAR_BIT(hadc->Instance->PCSEL, ADC_PCSEL_PCSEL); in HAL_ADC_DeInit()
1100 CLEAR_BIT(hadc->Instance->CALFACT, ADC_CALFACT_CAPTURE_COEF | ADC_CALFACT_LATCH_COEF); in HAL_ADC_DeInit()
1104 __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_AWD3 | ADC_IT_AWD2 | in HAL_ADC_DeInit()
1110 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_AWD3 | ADC_FLAG_AWD2 | in HAL_ADC_DeInit()
1120hadc->Instance->CFGR1 &= ~(ADC_CFGR1_AWD1CH | ADC_CFGR1_AWD1EN | ADC_CFGR1_AWD1SGL | ADC_CFGR1_… in HAL_ADC_DeInit()
1128 hadc->Instance->CFGR2 &= ~(ADC_CFGR2_ROVSE | ADC4_CFGR2_OVSR | in HAL_ADC_DeInit()
1132 hadc->Instance->SMPR1 &= ~ADC_SMPR1_SMP1; in HAL_ADC_DeInit()
1135 hadc->Instance->AWD1TR &= ~(ADC_AWD1TR_HT1 | ADC_AWD1TR_LT1); in HAL_ADC_DeInit()
1138 hadc->Instance->CHSELR &= ~(ADC_CHSELR_SQ_ALL); in HAL_ADC_DeInit()
1151 if (__LL_ADC_IS_ENABLED_ALL_COMMON_INSTANCE(__LL_ADC_COMMON_INSTANCE(hadc->Instance)) == 0UL) in HAL_ADC_DeInit()
1160 ADC_CLEAR_COMMON_CONTROL_REGISTER(hadc); in HAL_ADC_DeInit()
1172 if (hadc->MspDeInitCallback == NULL) in HAL_ADC_DeInit()
1174 hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */ in HAL_ADC_DeInit()
1178 hadc->MspDeInitCallback(hadc); in HAL_ADC_DeInit()
1181 HAL_ADC_MspDeInit(hadc); in HAL_ADC_DeInit()
1185 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_DeInit()
1187 if (hadc->Instance == ADC4) in HAL_ADC_DeInit()
1190 hadc->ADCGroupRegularSequencerRanks = 0x00000000UL; in HAL_ADC_DeInit()
1195 hadc->InjectionConfig.ContextQueue = 0; in HAL_ADC_DeInit()
1196 hadc->InjectionConfig.ChannelCount = 0; in HAL_ADC_DeInit()
1200 hadc->State = HAL_ADC_STATE_RESET; in HAL_ADC_DeInit()
1202 __HAL_UNLOCK(hadc); in HAL_ADC_DeInit()
1212 __weak void HAL_ADC_MspInit(ADC_HandleTypeDef *hadc) in HAL_ADC_MspInit() argument
1215 UNUSED(hadc); in HAL_ADC_MspInit()
1229 __weak void HAL_ADC_MspDeInit(ADC_HandleTypeDef *hadc) in HAL_ADC_MspDeInit() argument
1232 UNUSED(hadc); in HAL_ADC_MspDeInit()
1266 HAL_StatusTypeDef HAL_ADC_RegisterCallback(ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef Callb… in HAL_ADC_RegisterCallback() argument
1273 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
1278 if ((hadc->State & HAL_ADC_STATE_READY) != 0UL) in HAL_ADC_RegisterCallback()
1283 hadc->ConvCpltCallback = pCallback; in HAL_ADC_RegisterCallback()
1287 hadc->ConvHalfCpltCallback = pCallback; in HAL_ADC_RegisterCallback()
1291 hadc->LevelOutOfWindowCallback = pCallback; in HAL_ADC_RegisterCallback()
1295 hadc->ErrorCallback = pCallback; in HAL_ADC_RegisterCallback()
1299 hadc->InjectedConvCpltCallback = pCallback; in HAL_ADC_RegisterCallback()
1303 hadc->InjectedQueueOverflowCallback = pCallback; in HAL_ADC_RegisterCallback()
1307 hadc->LevelOutOfWindow2Callback = pCallback; in HAL_ADC_RegisterCallback()
1311 hadc->LevelOutOfWindow3Callback = pCallback; in HAL_ADC_RegisterCallback()
1315 hadc->EndOfSamplingCallback = pCallback; in HAL_ADC_RegisterCallback()
1319 hadc->MspInitCallback = pCallback; in HAL_ADC_RegisterCallback()
1324 if (hadc->Instance == ADC4) in HAL_ADC_RegisterCallback()
1326 hadc->CalibrationCpltCallback = pCallback; in HAL_ADC_RegisterCallback()
1330 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
1338 if (hadc->Instance == ADC4) in HAL_ADC_RegisterCallback()
1340 hadc->VoltageRegulatorCallback = pCallback; in HAL_ADC_RegisterCallback()
1344 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
1352 if (hadc->Instance == ADC4) in HAL_ADC_RegisterCallback()
1354 hadc->ADCReadyCallback = pCallback; in HAL_ADC_RegisterCallback()
1358 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
1365 hadc->MspDeInitCallback = pCallback; in HAL_ADC_RegisterCallback()
1369 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
1374 else if (HAL_ADC_STATE_RESET == hadc->State) in HAL_ADC_RegisterCallback()
1379 hadc->MspInitCallback = pCallback; in HAL_ADC_RegisterCallback()
1383 hadc->MspDeInitCallback = pCallback; in HAL_ADC_RegisterCallback()
1387 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
1394 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
1427 HAL_StatusTypeDef HAL_ADC_UnRegisterCallback(ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef Cal… in HAL_ADC_UnRegisterCallback() argument
1431 if ((hadc->State & HAL_ADC_STATE_READY) != 0UL) in HAL_ADC_UnRegisterCallback()
1436 hadc->ConvCpltCallback = HAL_ADC_ConvCpltCallback; in HAL_ADC_UnRegisterCallback()
1440 hadc->ConvHalfCpltCallback = HAL_ADC_ConvHalfCpltCallback; in HAL_ADC_UnRegisterCallback()
1444 hadc->LevelOutOfWindowCallback = HAL_ADC_LevelOutOfWindowCallback; in HAL_ADC_UnRegisterCallback()
1448 hadc->ErrorCallback = HAL_ADC_ErrorCallback; in HAL_ADC_UnRegisterCallback()
1452 hadc->InjectedConvCpltCallback = HAL_ADCEx_InjectedConvCpltCallback; in HAL_ADC_UnRegisterCallback()
1456 hadc->InjectedQueueOverflowCallback = HAL_ADCEx_InjectedQueueOverflowCallback; in HAL_ADC_UnRegisterCallback()
1460 hadc->LevelOutOfWindow2Callback = HAL_ADCEx_LevelOutOfWindow2Callback; in HAL_ADC_UnRegisterCallback()
1464 hadc->LevelOutOfWindow3Callback = HAL_ADCEx_LevelOutOfWindow3Callback; in HAL_ADC_UnRegisterCallback()
1468 hadc->EndOfSamplingCallback = HAL_ADCEx_EndOfSamplingCallback; in HAL_ADC_UnRegisterCallback()
1472 hadc->CalibrationCpltCallback = HAL_ADC_CalibrationCpltCallback; in HAL_ADC_UnRegisterCallback()
1476 hadc->VoltageRegulatorCallback = HAL_ADC_VoltageRegulatorCallback; in HAL_ADC_UnRegisterCallback()
1480 hadc->ADCReadyCallback = HAL_ADC_ADCReadyCallback; in HAL_ADC_UnRegisterCallback()
1484 hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */ in HAL_ADC_UnRegisterCallback()
1488 hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */ in HAL_ADC_UnRegisterCallback()
1492 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_UnRegisterCallback()
1497 else if (HAL_ADC_STATE_RESET == hadc->State) in HAL_ADC_UnRegisterCallback()
1502hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */ in HAL_ADC_UnRegisterCallback()
1506hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */ in HAL_ADC_UnRegisterCallback()
1510 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_UnRegisterCallback()
1517 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_UnRegisterCallback()
1561 HAL_StatusTypeDef HAL_ADC_Start(ADC_HandleTypeDef *hadc) in HAL_ADC_Start() argument
1566 uint32_t tmp_multimode_config = LL_ADC_GetMultimode(__LL_ADC_COMMON_INSTANCE(hadc->Instance)); in HAL_ADC_Start()
1570 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Start()
1573 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_Start()
1575 __HAL_LOCK(hadc); in HAL_ADC_Start()
1578 tmp_hal_status = ADC_Enable(hadc); in HAL_ADC_Start()
1586 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Start()
1590 if (hadc->Instance != ADC4) /* ADC1 or ADC2 */ in HAL_ADC_Start()
1596 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_Start()
1600 CLEAR_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); in HAL_ADC_Start()
1605 if (HAL_IS_BIT_SET(hadc->State, HAL_ADC_STATE_INJ_BUSY)) in HAL_ADC_Start()
1608 CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); in HAL_ADC_Start()
1613 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Start()
1620 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Start()
1625 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR)); in HAL_ADC_Start()
1629 __HAL_UNLOCK(hadc); in HAL_ADC_Start()
1640 if (hadc->Instance != ADC4) /* ADC1 or ADC2 */ in HAL_ADC_Start()
1643 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_Start()
1652 if (READ_BIT(hadc->Instance->CFGR1, ADC_CFGR1_JAUTO) != 0UL) in HAL_ADC_Start()
1654 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_Start()
1658 LL_ADC_REG_StartConversion(hadc->Instance); in HAL_ADC_Start()
1662 SET_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); in HAL_ADC_Start()
1665 tmp_adc_master = __LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance); in HAL_ADC_Start()
1668 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_Start()
1673 if (READ_BIT(hadc->Instance->CFGR1, ADC_CFGR1_JAUTO) != 0UL) in HAL_ADC_Start()
1675 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_Start()
1681 LL_ADC_REG_StartConversion(hadc->Instance); in HAL_ADC_Start()
1685 __HAL_UNLOCK(hadc); in HAL_ADC_Start()
1705 HAL_StatusTypeDef HAL_ADC_Stop(ADC_HandleTypeDef *hadc) in HAL_ADC_Stop() argument
1710 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Stop()
1712 __HAL_LOCK(hadc); in HAL_ADC_Stop()
1715 tmp_hal_status = ADC_ConversionStop(hadc, ADC_REGULAR_INJECTED_GROUP); in HAL_ADC_Stop()
1721 tmp_hal_status = ADC_Disable(hadc); in HAL_ADC_Stop()
1727 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Stop()
1733 __HAL_UNLOCK(hadc); in HAL_ADC_Stop()
1756 HAL_StatusTypeDef HAL_ADC_PollForConversion(ADC_HandleTypeDef *hadc, uint32_t Timeout) in HAL_ADC_PollForConversion() argument
1763 uint32_t tmp_multimode_config = LL_ADC_GetMultimode(__LL_ADC_COMMON_INSTANCE(hadc->Instance)); in HAL_ADC_PollForConversion()
1767 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_PollForConversion()
1770 if (hadc->Init.EOCSelection == ADC_EOC_SEQ_CONV) in HAL_ADC_PollForConversion()
1784 if (hadc->Instance != ADC4) /* ADC1 or ADC2 */ in HAL_ADC_PollForConversion()
1793 if (READ_BIT(hadc->Instance->CFGR1, ADC_CFGR1_DMNGT_0) != 0UL) in HAL_ADC_PollForConversion()
1795 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_PollForConversion()
1806 …if (LL_ADC_GetMultiDMATransfer(__LL_ADC_COMMON_INSTANCE(hadc->Instance)) != LL_ADC_MULTI_REG_DMA_E… in HAL_ADC_PollForConversion()
1808 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_PollForConversion()
1818 if (READ_BIT(hadc->Instance->CFGR1, ADC_CFGR1_DMNGT_0) != 0UL) in HAL_ADC_PollForConversion()
1820 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_PollForConversion()
1831 if ((hadc->Instance->CFGR1 & ADC4_CFGR1_DMAEN) != 0UL) in HAL_ADC_PollForConversion()
1833 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_PollForConversion()
1847 while ((hadc->Instance->ISR & tmp_flag_end) == 0UL) in HAL_ADC_PollForConversion()
1855 if ((hadc->Instance->ISR & tmp_flag_end) == 0UL) in HAL_ADC_PollForConversion()
1858 SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT); in HAL_ADC_PollForConversion()
1861 __HAL_UNLOCK(hadc); in HAL_ADC_PollForConversion()
1870 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); in HAL_ADC_PollForConversion()
1874 if ((LL_ADC_REG_IsTriggerSourceSWStart(hadc->Instance) != 0UL) in HAL_ADC_PollForConversion()
1875 && (hadc->Init.ContinuousConvMode == DISABLE) in HAL_ADC_PollForConversion()
1878 if (hadc->Instance != ADC4) /* ADC1 or ADC2 */ in HAL_ADC_PollForConversion()
1881 if (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS)) in HAL_ADC_PollForConversion()
1884 CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); in HAL_ADC_PollForConversion()
1886 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) == 0UL) in HAL_ADC_PollForConversion()
1888 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in HAL_ADC_PollForConversion()
1896 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_PollForConversion()
1903 tmp_cfgr = READ_REG(hadc->Instance->CFGR1); in HAL_ADC_PollForConversion()
1908 tmp_adc_master = ADC_MASTER_REGISTER(hadc); in HAL_ADC_PollForConversion()
1913 tmp_cfgr = READ_REG(hadc->Instance->CFGR1); in HAL_ADC_PollForConversion()
1918 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOS); in HAL_ADC_PollForConversion()
1927 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS)); in HAL_ADC_PollForConversion()
1934 if (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS)) in HAL_ADC_PollForConversion()
1938 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_PollForConversion()
1944 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC | ADC_IT_EOS); in HAL_ADC_PollForConversion()
1947 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_PollForConversion()
1954 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_PollForConversion()
1957 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in HAL_ADC_PollForConversion()
1964 if (hadc->Init.LowPowerAutoWait == DISABLE) in HAL_ADC_PollForConversion()
1967 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS)); in HAL_ADC_PollForConversion()
1998 HAL_StatusTypeDef HAL_ADC_PollForEvent(ADC_HandleTypeDef *hadc, uint32_t EventType, uint32_t Timeou… in HAL_ADC_PollForEvent() argument
2003 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_PollForEvent()
2010 while (__HAL_ADC_GET_FLAG(hadc, EventType) == 0UL) in HAL_ADC_PollForEvent()
2018 if (__HAL_ADC_GET_FLAG(hadc, EventType) == 0UL) in HAL_ADC_PollForEvent()
2021 SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT); in HAL_ADC_PollForEvent()
2024 __HAL_UNLOCK(hadc); in HAL_ADC_PollForEvent()
2037 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOSMP); in HAL_ADC_PollForEvent()
2040 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOSMP); in HAL_ADC_PollForEvent()
2056 SET_BIT(hadc->State, HAL_ADC_STATE_AWD1); in HAL_ADC_PollForEvent()
2059 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD1); in HAL_ADC_PollForEvent()
2066 SET_BIT(hadc->State, HAL_ADC_STATE_AWD2); in HAL_ADC_PollForEvent()
2069 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD2); in HAL_ADC_PollForEvent()
2076 SET_BIT(hadc->State, HAL_ADC_STATE_AWD3); in HAL_ADC_PollForEvent()
2079 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD3); in HAL_ADC_PollForEvent()
2089 if (hadc->Init.Overrun == ADC_OVR_DATA_PRESERVED) in HAL_ADC_PollForEvent()
2092 SET_BIT(hadc->State, HAL_ADC_STATE_REG_OVR); in HAL_ADC_PollForEvent()
2095 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_OVR); in HAL_ADC_PollForEvent()
2102 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR); in HAL_ADC_PollForEvent()
2133 HAL_StatusTypeDef HAL_ADC_Start_IT(ADC_HandleTypeDef *hadc) in HAL_ADC_Start_IT() argument
2138 uint32_t tmp_multimode_config = LL_ADC_GetMultimode(__LL_ADC_COMMON_INSTANCE(hadc->Instance)); in HAL_ADC_Start_IT()
2142 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Start_IT()
2145 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_Start_IT()
2147 __HAL_LOCK(hadc); in HAL_ADC_Start_IT()
2149 tmp_hal_status = ADC_Enable(hadc); in HAL_ADC_Start_IT()
2157 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Start_IT()
2165 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_Start_IT()
2169 CLEAR_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); in HAL_ADC_Start_IT()
2175 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) != 0UL) in HAL_ADC_Start_IT()
2178 CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); in HAL_ADC_Start_IT()
2183 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Start_IT()
2188 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR)); in HAL_ADC_Start_IT()
2192 __HAL_UNLOCK(hadc); in HAL_ADC_Start_IT()
2195 __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_EOC | ADC_IT_EOS | ADC_IT_OVR)); in HAL_ADC_Start_IT()
2198 switch (hadc->Init.EOCSelection) in HAL_ADC_Start_IT()
2201 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_EOS); in HAL_ADC_Start_IT()
2205 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_EOC); in HAL_ADC_Start_IT()
2213 if (hadc->Init.Overrun == ADC_OVR_DATA_PRESERVED) in HAL_ADC_Start_IT()
2215 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_OVR); in HAL_ADC_Start_IT()
2228 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_Start_IT()
2237 if (READ_BIT(hadc->Instance->CFGR1, ADC_CFGR1_JAUTO) != 0UL) in HAL_ADC_Start_IT()
2239 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_Start_IT()
2245 switch (hadc->Init.EOCSelection) in HAL_ADC_Start_IT()
2248 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOC); in HAL_ADC_Start_IT()
2249 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_JEOS); in HAL_ADC_Start_IT()
2253 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOS); in HAL_ADC_Start_IT()
2254 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_JEOC); in HAL_ADC_Start_IT()
2260 LL_ADC_REG_StartConversion(hadc->Instance); in HAL_ADC_Start_IT()
2266 SET_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); in HAL_ADC_Start_IT()
2269 tmp_adc_master = ADC_MASTER_REGISTER(hadc); in HAL_ADC_Start_IT()
2274 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_Start_IT()
2276 switch (hadc->Init.EOCSelection) in HAL_ADC_Start_IT()
2279 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOC); in HAL_ADC_Start_IT()
2280 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_JEOS); in HAL_ADC_Start_IT()
2284 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOS); in HAL_ADC_Start_IT()
2285 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_JEOC); in HAL_ADC_Start_IT()
2291 if (READ_BIT(hadc->Instance->CFGR1, ADC_CFGR1_JAUTO) != 0UL) in HAL_ADC_Start_IT()
2293 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_Start_IT()
2299 switch (hadc->Init.EOCSelection) in HAL_ADC_Start_IT()
2302 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOC); in HAL_ADC_Start_IT()
2303 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_JEOS); in HAL_ADC_Start_IT()
2307 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOS); in HAL_ADC_Start_IT()
2308 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_JEOC); in HAL_ADC_Start_IT()
2314 LL_ADC_REG_StartConversion(hadc->Instance); in HAL_ADC_Start_IT()
2320 __HAL_UNLOCK(hadc); in HAL_ADC_Start_IT()
2339 HAL_StatusTypeDef HAL_ADC_Stop_IT(ADC_HandleTypeDef *hadc) in HAL_ADC_Stop_IT() argument
2344 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Stop_IT()
2346 __HAL_LOCK(hadc); in HAL_ADC_Stop_IT()
2349 tmp_hal_status = ADC_ConversionStop(hadc, ADC_REGULAR_INJECTED_GROUP); in HAL_ADC_Stop_IT()
2356 __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_EOC | ADC_IT_EOS | ADC_IT_OVR)); in HAL_ADC_Stop_IT()
2359 tmp_hal_status = ADC_Disable(hadc); in HAL_ADC_Stop_IT()
2365 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Stop_IT()
2371 __HAL_UNLOCK(hadc); in HAL_ADC_Stop_IT()
2389 HAL_StatusTypeDef HAL_ADC_Start_DMA(ADC_HandleTypeDef *hadc, const uint32_t *pData, uint32_t Length) in HAL_ADC_Start_DMA() argument
2395 uint32_t tmp_multimode_config = LL_ADC_GetMultimode(__LL_ADC_COMMON_INSTANCE(hadc->Instance)); in HAL_ADC_Start_DMA()
2399 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Start_DMA()
2402 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_Start_DMA()
2404 __HAL_LOCK(hadc); in HAL_ADC_Start_DMA()
2415 tmp_hal_status = ADC_Enable(hadc); in HAL_ADC_Start_DMA()
2423 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Start_DMA()
2427 if (hadc->Instance != ADC4) /* ADC1 or ADC2 */ in HAL_ADC_Start_DMA()
2433 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_Start_DMA()
2437 CLEAR_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); in HAL_ADC_Start_DMA()
2441 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) != 0UL) in HAL_ADC_Start_DMA()
2444 CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); in HAL_ADC_Start_DMA()
2449 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Start_DMA()
2455 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Start_DMA()
2459 hadc->DMA_Handle->XferCpltCallback = ADC_DMAConvCplt; in HAL_ADC_Start_DMA()
2462 hadc->DMA_Handle->XferHalfCpltCallback = ADC_DMAHalfConvCplt; in HAL_ADC_Start_DMA()
2465 hadc->DMA_Handle->XferErrorCallback = ADC_DMAError; in HAL_ADC_Start_DMA()
2474 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR)); in HAL_ADC_Start_DMA()
2478 __HAL_UNLOCK(hadc); in HAL_ADC_Start_DMA()
2483 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_OVR); in HAL_ADC_Start_DMA()
2485 if (hadc->Instance == ADC4) in HAL_ADC_Start_DMA()
2488 hadc->Instance->CFGR1 |= ADC4_CFGR1_DMAEN; in HAL_ADC_Start_DMA()
2493 if ((hadc->DMA_Handle->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) in HAL_ADC_Start_DMA()
2495 …if ((hadc->DMA_Handle->LinkedListQueue != NULL) && (hadc->DMA_Handle->LinkedListQueue->Head != NUL… in HAL_ADC_Start_DMA()
2498 … if (HAL_DMAEx_List_GetNodeConfig(&node_conf, hadc->DMA_Handle->LinkedListQueue->Head) != HAL_OK) in HAL_ADC_Start_DMA()
2520hadc->DMA_Handle->LinkedListQueue->Head->LinkRegisters[NODE_CBR1_DEFAULT_OFFSET] = (uint32_t)Lengt… in HAL_ADC_Start_DMA()
2521hadc->DMA_Handle->LinkedListQueue->Head->LinkRegisters[NODE_CSAR_DEFAULT_OFFSET] = … in HAL_ADC_Start_DMA()
2522 (uint32_t)&hadc->Instance->DR; in HAL_ADC_Start_DMA()
2523hadc->DMA_Handle->LinkedListQueue->Head->LinkRegisters[NODE_CDAR_DEFAULT_OFFSET] = (uint32_t)pData; in HAL_ADC_Start_DMA()
2524 tmp_hal_status = HAL_DMAEx_List_Start_IT(hadc->DMA_Handle); in HAL_ADC_Start_DMA()
2534 if (hadc->DMA_Handle->Init.SrcDataWidth == DMA_SRC_DATAWIDTH_WORD) in HAL_ADC_Start_DMA()
2539 else if (hadc->DMA_Handle->Init.SrcDataWidth == DMA_SRC_DATAWIDTH_HALFWORD) in HAL_ADC_Start_DMA()
2550 …tmp_hal_status = HAL_DMA_Start_IT(hadc->DMA_Handle, (uint32_t)&hadc->Instance->DR, (uint32_t)pData… in HAL_ADC_Start_DMA()
2559 LL_ADC_REG_StartConversion(hadc->Instance); in HAL_ADC_Start_DMA()
2563 __HAL_UNLOCK(hadc); in HAL_ADC_Start_DMA()
2571 __HAL_UNLOCK(hadc); in HAL_ADC_Start_DMA()
2596 HAL_StatusTypeDef HAL_ADC_Stop_DMA(ADC_HandleTypeDef *hadc) in HAL_ADC_Stop_DMA() argument
2601 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Stop_DMA()
2603 __HAL_LOCK(hadc); in HAL_ADC_Stop_DMA()
2606 tmp_hal_status = ADC_ConversionStop(hadc, ADC_REGULAR_INJECTED_GROUP); in HAL_ADC_Stop_DMA()
2613 if (hadc->Instance == ADC4) in HAL_ADC_Stop_DMA()
2616 CLEAR_BIT(hadc->Instance->CFGR1, ADC4_CFGR1_DMAEN); in HAL_ADC_Stop_DMA()
2621 if (hadc->DMA_Handle->State == HAL_DMA_STATE_BUSY) in HAL_ADC_Stop_DMA()
2623 tmp_hal_status = HAL_DMA_Abort(hadc->DMA_Handle); in HAL_ADC_Stop_DMA()
2629 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA); in HAL_ADC_Stop_DMA()
2634 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_OVR); in HAL_ADC_Stop_DMA()
2641 tmp_hal_status = ADC_Disable(hadc); in HAL_ADC_Stop_DMA()
2645 (void)ADC_Disable(hadc); in HAL_ADC_Stop_DMA()
2651 if (hadc->Instance != ADC4) /* ADC1 or ADC2 */ in HAL_ADC_Stop_DMA()
2654 …ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_REG_BUSY | HAL_ADC_STATE_INJ_BUSY, HAL_ADC_STATE_READ… in HAL_ADC_Stop_DMA()
2659 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_REG_BUSY, HAL_ADC_STATE_READY); in HAL_ADC_Stop_DMA()
2664 __HAL_UNLOCK(hadc); in HAL_ADC_Stop_DMA()
2688 uint32_t HAL_ADC_GetValue(const ADC_HandleTypeDef *hadc) in HAL_ADC_GetValue() argument
2691 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_GetValue()
2697 return hadc->Instance->DR; in HAL_ADC_GetValue()
2705 void HAL_ADC_IRQHandler(ADC_HandleTypeDef *hadc) in HAL_ADC_IRQHandler() argument
2708 uint32_t tmp_isr = hadc->Instance->ISR; in HAL_ADC_IRQHandler()
2709 uint32_t tmp_ier = hadc->Instance->IER; in HAL_ADC_IRQHandler()
2715 uint32_t tmp_multimode_config = LL_ADC_GetMultimode(__LL_ADC_COMMON_INSTANCE(hadc->Instance)); in HAL_ADC_IRQHandler()
2719 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_IRQHandler()
2720 assert_param(IS_ADC_EOC_SELECTION(hadc->Init.EOCSelection)); in HAL_ADC_IRQHandler()
2726 if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) == 0UL) in HAL_ADC_IRQHandler()
2729 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOSMP); in HAL_ADC_IRQHandler()
2734 hadc->EndOfSamplingCallback(hadc); in HAL_ADC_IRQHandler()
2736 HAL_ADCEx_EndOfSamplingCallback(hadc); in HAL_ADC_IRQHandler()
2740 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOSMP); in HAL_ADC_IRQHandler()
2748 if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) == 0UL) in HAL_ADC_IRQHandler()
2751 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); in HAL_ADC_IRQHandler()
2757 if (hadc->Instance != ADC4) /* ADC1 or ADC2 */ in HAL_ADC_IRQHandler()
2759 if (LL_ADC_REG_IsTriggerSourceSWStart(hadc->Instance) != 0UL) in HAL_ADC_IRQHandler()
2765 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_IRQHandler()
2772 tmp_cfgr = READ_REG(hadc->Instance->CFGR1); in HAL_ADC_IRQHandler()
2777 tmp_adc_master = __LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance); in HAL_ADC_IRQHandler()
2781 tmp_cfgr = READ_REG(hadc->Instance->CFGR1); in HAL_ADC_IRQHandler()
2788 if (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS)) in HAL_ADC_IRQHandler()
2792 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_IRQHandler()
2798 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC | ADC_IT_EOS); in HAL_ADC_IRQHandler()
2801 CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); in HAL_ADC_IRQHandler()
2803 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) == 0UL) in HAL_ADC_IRQHandler()
2805 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in HAL_ADC_IRQHandler()
2811 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in HAL_ADC_IRQHandler()
2814 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in HAL_ADC_IRQHandler()
2825 if ((LL_ADC_REG_IsTriggerSourceSWStart(hadc->Instance) != 0UL) in HAL_ADC_IRQHandler()
2826 && (hadc->Init.ContinuousConvMode == DISABLE) in HAL_ADC_IRQHandler()
2830 if (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS)) in HAL_ADC_IRQHandler()
2834 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_IRQHandler()
2840 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC | ADC_IT_EOS); in HAL_ADC_IRQHandler()
2843 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_REG_BUSY, HAL_ADC_STATE_READY); in HAL_ADC_IRQHandler()
2848 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_IRQHandler()
2851 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in HAL_ADC_IRQHandler()
2863 hadc->ConvCpltCallback(hadc); in HAL_ADC_IRQHandler()
2865 HAL_ADC_ConvCpltCallback(hadc); in HAL_ADC_IRQHandler()
2873 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS)); in HAL_ADC_IRQHandler()
2876 if (hadc->Instance != ADC4) /* ADC1 or ADC2 */ in HAL_ADC_IRQHandler()
2883 if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) == 0UL) in HAL_ADC_IRQHandler()
2886 SET_BIT(hadc->State, HAL_ADC_STATE_INJ_EOC); in HAL_ADC_IRQHandler()
2890 tmp_adc_inj_is_trigger_source_sw_start = LL_ADC_INJ_IsTriggerSourceSWStart(hadc->Instance); in HAL_ADC_IRQHandler()
2891 tmp_adc_reg_is_trigger_source_sw_start = LL_ADC_REG_IsTriggerSourceSWStart(hadc->Instance); in HAL_ADC_IRQHandler()
2897 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in HAL_ADC_IRQHandler()
2903 tmp_cfgr = READ_REG(hadc->Instance->CFGR1); in HAL_ADC_IRQHandler()
2907 tmp_adc_master = __LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance); in HAL_ADC_IRQHandler()
2911 tmp_cfgr = READ_REG(hadc->Instance->CFGR1); in HAL_ADC_IRQHandler()
2926 if (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_JEOS)) in HAL_ADC_IRQHandler()
2938 if (LL_ADC_INJ_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_IRQHandler()
2941 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOC | ADC_IT_JEOS); in HAL_ADC_IRQHandler()
2944 CLEAR_BIT(hadc->State, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_IRQHandler()
2946 if ((hadc->State & HAL_ADC_STATE_REG_BUSY) == 0UL) in HAL_ADC_IRQHandler()
2948 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in HAL_ADC_IRQHandler()
2962 hadc->InjectedConvCpltCallback(hadc); in HAL_ADC_IRQHandler()
2964 HAL_ADCEx_InjectedConvCpltCallback(hadc); in HAL_ADC_IRQHandler()
2968 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_JEOC | ADC_FLAG_JEOS); in HAL_ADC_IRQHandler()
2976 SET_BIT(hadc->State, HAL_ADC_STATE_AWD1); in HAL_ADC_IRQHandler()
2980 hadc->LevelOutOfWindowCallback(hadc); in HAL_ADC_IRQHandler()
2982 HAL_ADC_LevelOutOfWindowCallback(hadc); in HAL_ADC_IRQHandler()
2986 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD1); in HAL_ADC_IRQHandler()
2993 SET_BIT(hadc->State, HAL_ADC_STATE_AWD2); in HAL_ADC_IRQHandler()
2997 hadc->LevelOutOfWindow2Callback(hadc); in HAL_ADC_IRQHandler()
2999 HAL_ADCEx_LevelOutOfWindow2Callback(hadc); in HAL_ADC_IRQHandler()
3003 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD2); in HAL_ADC_IRQHandler()
3010 SET_BIT(hadc->State, HAL_ADC_STATE_AWD3); in HAL_ADC_IRQHandler()
3014 hadc->LevelOutOfWindow3Callback(hadc); in HAL_ADC_IRQHandler()
3016 HAL_ADCEx_LevelOutOfWindow3Callback(hadc); in HAL_ADC_IRQHandler()
3020 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD3); in HAL_ADC_IRQHandler()
3032 if (hadc->Init.Overrun == ADC_OVR_DATA_PRESERVED) in HAL_ADC_IRQHandler()
3039 if (hadc->Instance != ADC4) /* ADC1 or ADC2 */ in HAL_ADC_IRQHandler()
3047 …if (LL_ADC_GetMultiDMATransfer(__LL_ADC_COMMON_INSTANCE(hadc->Instance)) != LL_ADC_MULTI_REG_DMA_E… in HAL_ADC_IRQHandler()
3055 if ((hadc->Instance->CFGR1 & ADC_CFGR1_DMNGT) != 0UL) in HAL_ADC_IRQHandler()
3062 if ((hadc->Instance->CFGR1 & ADC_CFGR1_DMNGT) != 0UL) in HAL_ADC_IRQHandler()
3071 if (LL_ADC_REG_GetDMATransfer(hadc->Instance) != LL_ADC_REG_DMA_TRANSFER_NONE_ADC4) in HAL_ADC_IRQHandler()
3081 SET_BIT(hadc->State, HAL_ADC_STATE_REG_OVR); in HAL_ADC_IRQHandler()
3084 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_OVR); in HAL_ADC_IRQHandler()
3092 hadc->ErrorCallback(hadc); in HAL_ADC_IRQHandler()
3094 HAL_ADC_ErrorCallback(hadc); in HAL_ADC_IRQHandler()
3099 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR); in HAL_ADC_IRQHandler()
3106 if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) == 0UL) in HAL_ADC_IRQHandler()
3109 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in HAL_ADC_IRQHandler()
3114 hadc->ADCReadyCallback(hadc); in HAL_ADC_IRQHandler()
3116 HAL_ADC_ADCReadyCallback(hadc); in HAL_ADC_IRQHandler()
3120 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_RDY); in HAL_ADC_IRQHandler()
3123 if (hadc->Instance == ADC4) /* ADC4 */ in HAL_ADC_IRQHandler()
3130 hadc->CalibrationCpltCallback(hadc); in HAL_ADC_IRQHandler()
3132 HAL_ADC_CalibrationCpltCallback(hadc); in HAL_ADC_IRQHandler()
3136 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOCAL); in HAL_ADC_IRQHandler()
3144 hadc->VoltageRegulatorCallback(hadc); in HAL_ADC_IRQHandler()
3146 HAL_ADC_VoltageRegulatorCallback(hadc); in HAL_ADC_IRQHandler()
3150 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_LDORDY); in HAL_ADC_IRQHandler()
3160 __weak void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc) in HAL_ADC_ConvCpltCallback() argument
3163 UNUSED(hadc); in HAL_ADC_ConvCpltCallback()
3175 __weak void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef *hadc) in HAL_ADC_ConvHalfCpltCallback() argument
3178 UNUSED(hadc); in HAL_ADC_ConvHalfCpltCallback()
3190 __weak void HAL_ADC_LevelOutOfWindowCallback(ADC_HandleTypeDef *hadc) in HAL_ADC_LevelOutOfWindowCallback() argument
3193 UNUSED(hadc); in HAL_ADC_LevelOutOfWindowCallback()
3212 __weak void HAL_ADC_ErrorCallback(ADC_HandleTypeDef *hadc) in HAL_ADC_ErrorCallback() argument
3215 UNUSED(hadc); in HAL_ADC_ErrorCallback()
3227 __weak void HAL_ADC_CalibrationCpltCallback(ADC_HandleTypeDef *hadc) in HAL_ADC_CalibrationCpltCallback() argument
3230 UNUSED(hadc); in HAL_ADC_CalibrationCpltCallback()
3242 __weak void HAL_ADC_VoltageRegulatorCallback(ADC_HandleTypeDef *hadc) in HAL_ADC_VoltageRegulatorCallback() argument
3245 UNUSED(hadc); in HAL_ADC_VoltageRegulatorCallback()
3257 __weak void HAL_ADC_ADCReadyCallback(ADC_HandleTypeDef *hadc) in HAL_ADC_ADCReadyCallback() argument
3260 UNUSED(hadc); in HAL_ADC_ADCReadyCallback()
3303 HAL_StatusTypeDef HAL_ADC_ConfigChannel(ADC_HandleTypeDef *hadc, ADC_ChannelConfTypeDef *pConfig) in HAL_ADC_ConfigChannel() argument
3314 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_ConfigChannel()
3316 if (hadc->Instance != ADC4) /* ADC1 or ADC2 */ in HAL_ADC_ConfigChannel()
3322 assert_param(IS_ADC_RANGE(hadc->Instance, ADC_GET_RESOLUTION(hadc), pConfig->Offset)); in HAL_ADC_ConfigChannel()
3325 …assert_param(!((pConfig->OffsetNumber != ADC_OFFSET_NONE) && (hadc->Init.OversamplingMode == ENABL… in HAL_ADC_ConfigChannel()
3345 if ((hadc->Init.ScanConvMode == ADC_SCAN_SEQ_FIXED) || in HAL_ADC_ConfigChannel()
3346 (hadc->Init.ScanConvMode == ADC_SCAN_SEQ_FIXED_BACKWARD)) in HAL_ADC_ConfigChannel()
3352 assert_param(IS_ADC4_REGULAR_NB_CONV(hadc->Init.NbrOfConversion)); in HAL_ADC_ConfigChannel()
3358 __HAL_LOCK(hadc); in HAL_ADC_ConfigChannel()
3365 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) == 0UL) in HAL_ADC_ConfigChannel()
3367 if (hadc->Instance != ADC4) /* ADC1 or ADC2 */ in HAL_ADC_ConfigChannel()
3370hadc->Instance->PCSEL |= (1UL << (__LL_ADC_CHANNEL_TO_DECIMAL_NB((uint32_t)pConfig->Channel) & 0x1… in HAL_ADC_ConfigChannel()
3373 LL_ADC_REG_SetSequencerRanks(hadc->Instance, pConfig->Rank, pConfig->Channel); in HAL_ADC_ConfigChannel()
3380 tmp_adc_is_conversion_on_going_regular = LL_ADC_REG_IsConversionOngoing(hadc->Instance); in HAL_ADC_ConfigChannel()
3381 tmp_adc_is_conversion_on_going_injected = LL_ADC_INJ_IsConversionOngoing(hadc->Instance); in HAL_ADC_ConfigChannel()
3387 LL_ADC_SetChannelSamplingTime(hadc->Instance, pConfig->Channel, pConfig->SamplingTime); in HAL_ADC_ConfigChannel()
3393 tmp_offset_shifted = ADC_OFFSET_SHIFT_RESOLUTION(hadc, (uint32_t)pConfig->Offset); in HAL_ADC_ConfigChannel()
3398 … LL_ADC_SetOffset(hadc->Instance, pConfig->OffsetNumber, pConfig->Channel, tmp_offset_shifted); in HAL_ADC_ConfigChannel()
3403 LL_ADC_SetOffsetSign(hadc->Instance, pConfig->OffsetNumber, pConfig->OffsetSign); in HAL_ADC_ConfigChannel()
3409 LL_ADC_SetOffsetUnsignedSaturation(hadc->Instance, pConfig->OffsetNumber, in HAL_ADC_ConfigChannel()
3414 LL_ADC_SetOffsetSignedSaturation(hadc->Instance, pConfig->OffsetNumber, in HAL_ADC_ConfigChannel()
3422 LL_ADC_SetOffsetUnsignedSaturation(hadc->Instance, pConfig->OffsetNumber, in HAL_ADC_ConfigChannel()
3424 LL_ADC_SetOffsetSignedSaturation(hadc->Instance, pConfig->OffsetNumber, in HAL_ADC_ConfigChannel()
3432 … if (__LL_ADC_CHANNEL_TO_DECIMAL_NB(LL_ADC_GetOffsetChannel(hadc->Instance, LL_ADC_OFFSET_1)) in HAL_ADC_ConfigChannel()
3435 LL_ADC_SetOffset(hadc->Instance, LL_ADC_OFFSET_1, pConfig->Channel, 0x0); in HAL_ADC_ConfigChannel()
3437 … if (__LL_ADC_CHANNEL_TO_DECIMAL_NB(LL_ADC_GetOffsetChannel(hadc->Instance, LL_ADC_OFFSET_2)) in HAL_ADC_ConfigChannel()
3440 LL_ADC_SetOffset(hadc->Instance, LL_ADC_OFFSET_2, pConfig->Channel, 0x0); in HAL_ADC_ConfigChannel()
3442 … if (__LL_ADC_CHANNEL_TO_DECIMAL_NB(LL_ADC_GetOffsetChannel(hadc->Instance, LL_ADC_OFFSET_3)) in HAL_ADC_ConfigChannel()
3445 LL_ADC_SetOffset(hadc->Instance, LL_ADC_OFFSET_3, pConfig->Channel, 0x0); in HAL_ADC_ConfigChannel()
3447 … if (__LL_ADC_CHANNEL_TO_DECIMAL_NB(LL_ADC_GetOffsetChannel(hadc->Instance, LL_ADC_OFFSET_4)) in HAL_ADC_ConfigChannel()
3450 LL_ADC_SetOffset(hadc->Instance, LL_ADC_OFFSET_4, pConfig->Channel, 0x0); in HAL_ADC_ConfigChannel()
3459 if (LL_ADC_IsEnabled(hadc->Instance) == 0UL) in HAL_ADC_ConfigChannel()
3462 LL_ADC_SetChannelSingleDiff(hadc->Instance, pConfig->Channel, pConfig->SingleDiff); in HAL_ADC_ConfigChannel()
3471 LL_ADC_SetChannelSamplingTime(hadc->Instance, tmp_channel, pConfig->SamplingTime); in HAL_ADC_ConfigChannel()
3483 …config_internal_channel = LL_ADC_GetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance)); in HAL_ADC_ConfigChannel()
3487 … if (__LL_ADC_IS_ENABLED_ALL_COMMON_INSTANCE(__LL_ADC_COMMON_INSTANCE(hadc->Instance)) == 0UL) in HAL_ADC_ConfigChannel()
3494 if (ADC_TEMPERATURE_SENSOR_INSTANCE(hadc)) in HAL_ADC_ConfigChannel()
3496 LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), in HAL_ADC_ConfigChannel()
3515 if (ADC_BATTERY_VOLTAGE_INSTANCE(hadc)) in HAL_ADC_ConfigChannel()
3517 LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), in HAL_ADC_ConfigChannel()
3524 if (ADC_VREFINT_INSTANCE(hadc)) in HAL_ADC_ConfigChannel()
3526 LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), in HAL_ADC_ConfigChannel()
3541 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_ConfigChannel()
3598 if ((hadc->Init.ScanConvMode == ADC_SCAN_SEQ_FIXED) || in HAL_ADC_ConfigChannel()
3599 (hadc->Init.ScanConvMode == ADC_SCAN_SEQ_FIXED_BACKWARD)) in HAL_ADC_ConfigChannel()
3603 LL_ADC_REG_SetSequencerChAdd(hadc->Instance, tmp_channel); in HAL_ADC_ConfigChannel()
3611 MODIFY_REG(hadc->ADCGroupRegularSequencerRanks, in HAL_ADC_ConfigChannel()
3619 if (((pConfig->Rank >> 2UL) + 1UL) <= hadc->Init.NbrOfConversion) in HAL_ADC_ConfigChannel()
3630 LL_ADC_REG_SetSequencerRanks(hadc->Instance, pConfig->Rank, tmp_channel); in HAL_ADC_ConfigChannel()
3635 LL_ADC_SetChannelSamplingTime(hadc->Instance, tmp_channel, pConfig->SamplingTime); in HAL_ADC_ConfigChannel()
3646 …config_internal_channel = LL_ADC_GetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance)); in HAL_ADC_ConfigChannel()
3653 LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), in HAL_ADC_ConfigChannel()
3670 LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), in HAL_ADC_ConfigChannel()
3676 LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), in HAL_ADC_ConfigChannel()
3683 if (ADC_VCORE_INSTANCE(hadc)) in HAL_ADC_ConfigChannel()
3685 LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), in HAL_ADC_ConfigChannel()
3689 SET_BIT((hadc->Instance->OR), ADC_OR_CHN0SEL); in HAL_ADC_ConfigChannel()
3706 SET_BIT((hadc->Instance->OR), ADC_OR_CHN0SEL); in HAL_ADC_ConfigChannel()
3713 SET_BIT((hadc->Instance->OR), ADC_OR_CHN0SEL); in HAL_ADC_ConfigChannel()
3725 if ((hadc->Init.ScanConvMode == ADC_SCAN_SEQ_FIXED) || in HAL_ADC_ConfigChannel()
3726 (hadc->Init.ScanConvMode == ADC_SCAN_SEQ_FIXED_BACKWARD)) in HAL_ADC_ConfigChannel()
3730 LL_ADC_REG_SetSequencerChRem(hadc->Instance, tmp_channel); in HAL_ADC_ConfigChannel()
3738 …config_internal_channel = LL_ADC_GetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance)); in HAL_ADC_ConfigChannel()
3742 LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), in HAL_ADC_ConfigChannel()
3747 LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), in HAL_ADC_ConfigChannel()
3752 LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), in HAL_ADC_ConfigChannel()
3758 LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE(hadc->Instance), in HAL_ADC_ConfigChannel()
3762 SET_BIT((hadc->Instance->OR), ADC_OR_CHN0SEL); in HAL_ADC_ConfigChannel()
3778 SET_BIT((hadc->Instance->OR), ADC_OR_CHN0SEL); in HAL_ADC_ConfigChannel()
3785 SET_BIT((hadc->Instance->OR), ADC_OR_CHN0SEL); in HAL_ADC_ConfigChannel()
3799 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_ConfigChannel()
3803 __HAL_UNLOCK(hadc); in HAL_ADC_ConfigChannel()
3822 HAL_StatusTypeDef HAL_ADC_AnalogWDGConfig(ADC_HandleTypeDef *hadc, ADC_AnalogWDGConfTypeDef *pAnalo… in HAL_ADC_AnalogWDGConfig() argument
3831 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_AnalogWDGConfig()
3844 if (hadc->Init.OversamplingMode == ENABLE) in HAL_ADC_AnalogWDGConfig()
3848 assert_param(IS_ADC_RANGE(hadc->Instance, ADC_GET_RESOLUTION(hadc), in HAL_ADC_AnalogWDGConfig()
3849 … pAnalogWDGConfig->HighThreshold / (hadc->Init.Oversampling.Ratio + 1UL))); in HAL_ADC_AnalogWDGConfig()
3850 assert_param(IS_ADC_RANGE(hadc->Instance, ADC_GET_RESOLUTION(hadc), in HAL_ADC_AnalogWDGConfig()
3851 … pAnalogWDGConfig->LowThreshold / (hadc->Init.Oversampling.Ratio + 1UL))); in HAL_ADC_AnalogWDGConfig()
3856 …assert_param(IS_ADC_RANGE(hadc->Instance, ADC_GET_RESOLUTION(hadc), pAnalogWDGConfig->HighThreshol… in HAL_ADC_AnalogWDGConfig()
3857 …assert_param(IS_ADC_RANGE(hadc->Instance, ADC_GET_RESOLUTION(hadc), pAnalogWDGConfig->LowThreshold… in HAL_ADC_AnalogWDGConfig()
3860 __HAL_LOCK(hadc); in HAL_ADC_AnalogWDGConfig()
3867 if (hadc->Instance != ADC4) /* ADC1 or ADC2 */ in HAL_ADC_AnalogWDGConfig()
3869 tmp_adc_is_conversion_on_going_regular = LL_ADC_REG_IsConversionOngoing(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3870 tmp_adc_is_conversion_on_going_injected = LL_ADC_INJ_IsConversionOngoing(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3874 tmp_adc_is_conversion_on_going_regular = LL_ADC_REG_IsConversionOngoing(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3891 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, in HAL_ADC_AnalogWDGConfig()
3897 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, in HAL_ADC_AnalogWDGConfig()
3903 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, in HAL_ADC_AnalogWDGConfig()
3909 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, LL_ADC_AWD_ALL_CHANNELS_REG); in HAL_ADC_AnalogWDGConfig()
3913 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, LL_ADC_AWD_ALL_CHANNELS_INJ); in HAL_ADC_AnalogWDGConfig()
3917 … LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, LL_ADC_AWD_ALL_CHANNELS_REG_INJ); in HAL_ADC_AnalogWDGConfig()
3921 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, LL_ADC_AWD1, LL_ADC_AWD_DISABLE); in HAL_ADC_AnalogWDGConfig()
3925 if (hadc->Instance != ADC4) /* ADC1 or ADC2 */ in HAL_ADC_AnalogWDGConfig()
3929 …LL_ADC_SetAWDFilteringConfiguration(hadc->Instance, hadc->Instance->HTR1, pAnalogWDGConfig->Filter… in HAL_ADC_AnalogWDGConfig()
3935 …tmp_awd_high_threshold_shifted = ADC_AWD1THRESHOLD_SHIFT_RESOLUTION(hadc, pAnalogWDGConfig->HighTh… in HAL_ADC_AnalogWDGConfig()
3936 …tmp_awd_low_threshold_shifted = ADC_AWD1THRESHOLD_SHIFT_RESOLUTION(hadc, pAnalogWDGConfig->LowThr… in HAL_ADC_AnalogWDGConfig()
3939 …LL_ADC_ConfigAnalogWDThresholds(hadc->Instance, pAnalogWDGConfig->WatchdogNumber, tmp_awd_high_thr… in HAL_ADC_AnalogWDGConfig()
3943 CLEAR_BIT(hadc->State, HAL_ADC_STATE_AWD1); in HAL_ADC_AnalogWDGConfig()
3949 LL_ADC_ClearFlag_AWD1(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3954 LL_ADC_EnableIT_AWD1(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3958 LL_ADC_DisableIT_AWD1(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
3973 … SET_BIT(hadc->Instance->AWD2CR, (1UL \ in HAL_ADC_AnalogWDGConfig()
3978 … SET_BIT(hadc->Instance->AWD3CR, (1UL \ in HAL_ADC_AnalogWDGConfig()
3986 LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, pAnalogWDGConfig->WatchdogNumber, \ in HAL_ADC_AnalogWDGConfig()
3991 …LL_ADC_SetAnalogWDMonitChannels(hadc->Instance, pAnalogWDGConfig->WatchdogNumber, LL_ADC_AWD_DISAB… in HAL_ADC_AnalogWDGConfig()
3997 …tmp_awd_high_threshold_shifted = ADC_AWD23THRESHOLD_SHIFT_RESOLUTION(hadc, pAnalogWDGConfig->HighT… in HAL_ADC_AnalogWDGConfig()
3998 …tmp_awd_low_threshold_shifted = ADC_AWD23THRESHOLD_SHIFT_RESOLUTION(hadc, pAnalogWDGConfig->LowTh… in HAL_ADC_AnalogWDGConfig()
4000 if (hadc->Instance == ADC4) in HAL_ADC_AnalogWDGConfig()
4003 LL_ADC_ConfigAnalogWDThresholds(hadc->Instance, pAnalogWDGConfig->WatchdogNumber, in HAL_ADC_AnalogWDGConfig()
4012 MODIFY_REG(hadc->Instance->LTR2, ADC_LTR_LT, tmp_awd_low_threshold_shifted); in HAL_ADC_AnalogWDGConfig()
4013 MODIFY_REG(hadc->Instance->HTR2, ADC_HTR_HT, tmp_awd_high_threshold_shifted); in HAL_ADC_AnalogWDGConfig()
4018 MODIFY_REG(hadc->Instance->LTR3, ADC_LTR_LT, tmp_awd_low_threshold_shifted); in HAL_ADC_AnalogWDGConfig()
4019 MODIFY_REG(hadc->Instance->HTR3, ADC_HTR_HT, tmp_awd_high_threshold_shifted); in HAL_ADC_AnalogWDGConfig()
4026 CLEAR_BIT(hadc->State, HAL_ADC_STATE_AWD2); in HAL_ADC_AnalogWDGConfig()
4032 LL_ADC_ClearFlag_AWD2(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
4037 LL_ADC_EnableIT_AWD2(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
4041 LL_ADC_DisableIT_AWD2(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
4048 CLEAR_BIT(hadc->State, HAL_ADC_STATE_AWD3); in HAL_ADC_AnalogWDGConfig()
4054 LL_ADC_ClearFlag_AWD3(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
4059 LL_ADC_EnableIT_AWD3(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
4063 LL_ADC_DisableIT_AWD3(hadc->Instance); in HAL_ADC_AnalogWDGConfig()
4074 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_AnalogWDGConfig()
4078 __HAL_UNLOCK(hadc); in HAL_ADC_AnalogWDGConfig()
4115 uint32_t HAL_ADC_GetState(const ADC_HandleTypeDef *hadc) in HAL_ADC_GetState() argument
4118 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_GetState()
4121 return hadc->State; in HAL_ADC_GetState()
4129 uint32_t HAL_ADC_GetError(const ADC_HandleTypeDef *hadc) in HAL_ADC_GetError() argument
4132 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_GetError()
4134 return hadc->ErrorCode; in HAL_ADC_GetError()
4159 HAL_StatusTypeDef ADC_ConversionStop(ADC_HandleTypeDef *hadc, uint32_t ConversionGroup) in ADC_ConversionStop() argument
4169 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in ADC_ConversionStop()
4174 tmp_adc_is_conversion_on_going_regular = LL_ADC_REG_IsConversionOngoing(hadc->Instance); in ADC_ConversionStop()
4175 tmp_adc_is_conversion_on_going_injected = LL_ADC_INJ_IsConversionOngoing(hadc->Instance); in ADC_ConversionStop()
4184 if (((hadc->Instance->CFGR1 & ADC_CFGR1_JAUTO) != 0UL) in ADC_ConversionStop()
4185 && (hadc->Init.ContinuousConvMode == ENABLE) in ADC_ConversionStop()
4186 && (hadc->Init.LowPowerAutoWait == ENABLE) in ADC_ConversionStop()
4193 while (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_JEOS) == 0UL) in ADC_ConversionStop()
4198 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_ConversionStop()
4201 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_ConversionStop()
4209 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_JEOS); in ADC_ConversionStop()
4216 if (LL_ADC_REG_IsConversionOngoing(hadc->Instance) != 0UL) in ADC_ConversionStop()
4218 if (LL_ADC_IsDisableOngoing(hadc->Instance) == 0UL) in ADC_ConversionStop()
4221 LL_ADC_REG_StopConversion(hadc->Instance); in ADC_ConversionStop()
4230 if (LL_ADC_INJ_IsConversionOngoing(hadc->Instance) != 0UL) in ADC_ConversionStop()
4232 if (LL_ADC_IsDisableOngoing(hadc->Instance) == 0UL) in ADC_ConversionStop()
4235 LL_ADC_INJ_StopConversion(hadc->Instance); in ADC_ConversionStop()
4258 while ((hadc->Instance->CR & tmp_adc_cr_adstart_jadstart) != 0UL) in ADC_ConversionStop()
4263 if ((hadc->Instance->CR & tmp_adc_cr_adstart_jadstart) != 0UL) in ADC_ConversionStop()
4266 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_ConversionStop()
4269 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_ConversionStop()
4287 HAL_StatusTypeDef ADC_Enable(ADC_HandleTypeDef *hadc) in ADC_Enable() argument
4295 if (LL_ADC_IsEnabled(hadc->Instance) == 0UL) in ADC_Enable()
4298 …if ((hadc->Instance->CR & (ADC_CR_ADCAL | ADC_CR_JADSTP | ADC_CR_ADSTP | ADC_CR_JADSTART | ADC_CR_… in ADC_Enable()
4302 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_Enable()
4305 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_Enable()
4310 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_RDY); in ADC_Enable()
4312 LL_ADC_Enable(hadc->Instance); in ADC_Enable()
4316 if ((hadc->Init.LowPowerAutoPowerOff == ADC_LOW_POWER_NONE) || (hadc->Instance != ADC4)) in ADC_Enable()
4323 uint32_t tmp_multimode_config = LL_ADC_GetMultimode(__LL_ADC_COMMON_INSTANCE(hadc->Instance)); in ADC_Enable()
4324 if ((__LL_ADC_MULTI_INSTANCE_MASTER(hadc->Instance) == hadc->Instance) in ADC_Enable()
4329 while (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_RDY) == 0UL) in ADC_Enable()
4339 if (LL_ADC_IsEnabled(hadc->Instance) == 0UL) in ADC_Enable()
4341 LL_ADC_Enable(hadc->Instance); in ADC_Enable()
4347 if (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_RDY) == 0UL) in ADC_Enable()
4350 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_Enable()
4353 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_Enable()
4373 HAL_StatusTypeDef ADC_Disable(ADC_HandleTypeDef *hadc) in ADC_Disable() argument
4376 const uint32_t tmp_adc_is_disable_on_going = LL_ADC_IsDisableOngoing(hadc->Instance); in ADC_Disable()
4381 if ((LL_ADC_IsEnabled(hadc->Instance) != 0UL) in ADC_Disable()
4386 if ((hadc->Instance->CR & (ADC_CR_JADSTART | ADC_CR_ADSTART | ADC_CR_ADEN)) == ADC_CR_ADEN) in ADC_Disable()
4389 LL_ADC_Disable(hadc->Instance); in ADC_Disable()
4390 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOSMP | ADC_FLAG_RDY)); in ADC_Disable()
4395 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_Disable()
4398 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_Disable()
4407 while ((hadc->Instance->CR & ADC_CR_ADEN) != 0UL) in ADC_Disable()
4412 if ((hadc->Instance->CR & ADC_CR_ADEN) != 0UL) in ADC_Disable()
4415 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_Disable()
4418 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_Disable()
4437 ADC_HandleTypeDef *hadc = (ADC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in ADC_DMAConvCplt() local
4440 if ((hadc->State & (HAL_ADC_STATE_ERROR_INTERNAL | HAL_ADC_STATE_ERROR_DMA)) == 0UL) in ADC_DMAConvCplt()
4443 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); in ADC_DMAConvCplt()
4449 if ((hadc->Instance->ISR & ADC_FLAG_EOS) != 0UL) in ADC_DMAConvCplt()
4452 if (LL_ADC_REG_IsTriggerSourceSWStart(hadc->Instance) != 0UL) in ADC_DMAConvCplt()
4455 if (READ_BIT(hadc->Instance->CFGR1, ADC_CFGR1_CONT) == 0UL) in ADC_DMAConvCplt()
4458 CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); in ADC_DMAConvCplt()
4459 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) == 0UL) in ADC_DMAConvCplt()
4461 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in ADC_DMAConvCplt()
4470 if (READ_BIT(hadc->Instance->CFGR1, ADC_CFGR1_DMNGT) == 0UL) in ADC_DMAConvCplt()
4473 CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); in ADC_DMAConvCplt()
4474 if ((hadc->State & HAL_ADC_STATE_INJ_BUSY) == 0UL) in ADC_DMAConvCplt()
4476 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in ADC_DMAConvCplt()
4483 hadc->ConvCpltCallback(hadc); in ADC_DMAConvCplt()
4485 HAL_ADC_ConvCpltCallback(hadc); in ADC_DMAConvCplt()
4490 if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) != 0UL) in ADC_DMAConvCplt()
4494 hadc->ErrorCallback(hadc); in ADC_DMAConvCplt()
4496 HAL_ADC_ErrorCallback(hadc); in ADC_DMAConvCplt()
4502 hadc->DMA_Handle->XferErrorCallback(hdma); in ADC_DMAConvCplt()
4515 ADC_HandleTypeDef *hadc = (ADC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in ADC_DMAHalfConvCplt() local
4519 hadc->ConvHalfCpltCallback(hadc); in ADC_DMAHalfConvCplt()
4521 HAL_ADC_ConvHalfCpltCallback(hadc); in ADC_DMAHalfConvCplt()
4533 ADC_HandleTypeDef *hadc = (ADC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in ADC_DMAError() local
4536 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA); in ADC_DMAError()
4539 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_DMA); in ADC_DMAError()
4543 hadc->ErrorCallback(hadc); in ADC_DMAError()
4545 HAL_ADC_ErrorCallback(hadc); in ADC_DMAError()