Lines Matching refs:hadc
344 static HAL_StatusTypeDef ADC_Enable(ADC_HandleTypeDef* hadc);
345 static HAL_StatusTypeDef ADC_Disable(ADC_HandleTypeDef* hadc);
346 static HAL_StatusTypeDef ADC_ConversionStop(ADC_HandleTypeDef* hadc);
397 HAL_StatusTypeDef HAL_ADC_Init(ADC_HandleTypeDef* hadc) in HAL_ADC_Init() argument
403 if(hadc == NULL) in HAL_ADC_Init()
409 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Init()
410 assert_param(IS_ADC_CLOCKPRESCALER(hadc->Init.ClockPrescaler)); in HAL_ADC_Init()
411 assert_param(IS_ADC_RESOLUTION(hadc->Init.Resolution)); in HAL_ADC_Init()
412 assert_param(IS_ADC_DATA_ALIGN(hadc->Init.DataAlign)); in HAL_ADC_Init()
413 assert_param(IS_ADC_SCAN_MODE(hadc->Init.ScanConvMode)); in HAL_ADC_Init()
414 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode)); in HAL_ADC_Init()
415 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.DiscontinuousConvMode)); in HAL_ADC_Init()
416 assert_param(IS_ADC_EXTTRIG_EDGE(hadc->Init.ExternalTrigConvEdge)); in HAL_ADC_Init()
417 assert_param(IS_ADC_EXTTRIG(hadc->Init.ExternalTrigConv)); in HAL_ADC_Init()
418 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.DMAContinuousRequests)); in HAL_ADC_Init()
419 assert_param(IS_ADC_EOC_SELECTION(hadc->Init.EOCSelection)); in HAL_ADC_Init()
420 assert_param(IS_ADC_OVERRUN(hadc->Init.Overrun)); in HAL_ADC_Init()
421 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.LowPowerAutoWait)); in HAL_ADC_Init()
422 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.LowPowerAutoPowerOff)); in HAL_ADC_Init()
432 if (hadc->State == HAL_ADC_STATE_RESET) in HAL_ADC_Init()
435 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Init()
438 hadc->Lock = HAL_UNLOCKED; in HAL_ADC_Init()
442 …hadc->ConvCpltCallback = HAL_ADC_ConvCpltCallback; /* Legacy weak cal… in HAL_ADC_Init()
443 …hadc->ConvHalfCpltCallback = HAL_ADC_ConvHalfCpltCallback; /* Legacy weak cal… in HAL_ADC_Init()
444 …hadc->LevelOutOfWindowCallback = HAL_ADC_LevelOutOfWindowCallback; /* Legacy weak cal… in HAL_ADC_Init()
445 …hadc->ErrorCallback = HAL_ADC_ErrorCallback; /* Legacy weak cal… in HAL_ADC_Init()
447 if (hadc->MspInitCallback == NULL) in HAL_ADC_Init()
449 hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */ in HAL_ADC_Init()
453 hadc->MspInitCallback(hadc); in HAL_ADC_Init()
456 HAL_ADC_MspInit(hadc); in HAL_ADC_Init()
465 if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL) && in HAL_ADC_Init()
467 (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET) ) in HAL_ADC_Init()
470 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Init()
479 if (ADC_IS_ENABLE(hadc) == RESET) in HAL_ADC_Init()
490 MODIFY_REG(hadc->Instance->CFGR1, in HAL_ADC_Init()
492 hadc->Init.Resolution ); in HAL_ADC_Init()
496 MODIFY_REG(hadc->Instance->CFGR2 , in HAL_ADC_Init()
498 hadc->Init.ClockPrescaler ); in HAL_ADC_Init()
513 hadc->Instance->CFGR1 &= ~( ADC_CFGR1_DISCEN | in HAL_ADC_Init()
524 tmpCFGR1 |= (ADC_CFGR1_AUTOWAIT((uint32_t)hadc->Init.LowPowerAutoWait) | in HAL_ADC_Init()
525 ADC_CFGR1_AUTOOFF((uint32_t)hadc->Init.LowPowerAutoPowerOff) | in HAL_ADC_Init()
526 ADC_CFGR1_CONTINUOUS((uint32_t)hadc->Init.ContinuousConvMode) | in HAL_ADC_Init()
527 ADC_CFGR1_OVERRUN(hadc->Init.Overrun) | in HAL_ADC_Init()
528 hadc->Init.DataAlign | in HAL_ADC_Init()
529 ADC_SCANDIR(hadc->Init.ScanConvMode) | in HAL_ADC_Init()
530 ADC_CFGR1_DMACONTREQ((uint32_t)hadc->Init.DMAContinuousRequests) ); in HAL_ADC_Init()
533 if (hadc->Init.DiscontinuousConvMode == ENABLE) in HAL_ADC_Init()
535 if (hadc->Init.ContinuousConvMode == DISABLE) in HAL_ADC_Init()
547 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_Init()
550 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in HAL_ADC_Init()
559 if (hadc->Init.ExternalTrigConv != ADC_SOFTWARE_START) in HAL_ADC_Init()
561 tmpCFGR1 |= ( hadc->Init.ExternalTrigConv | in HAL_ADC_Init()
562 hadc->Init.ExternalTrigConvEdge ); in HAL_ADC_Init()
566 hadc->Instance->CFGR1 |= tmpCFGR1; in HAL_ADC_Init()
574 if (IS_ADC_SAMPLE_TIME(hadc->Init.SamplingTimeCommon)) in HAL_ADC_Init()
578 hadc->Instance->SMPR &= ~(ADC_SMPR_SMP); in HAL_ADC_Init()
581 hadc->Instance->SMPR |= ADC_SMPR_SET(hadc->Init.SamplingTimeCommon); in HAL_ADC_Init()
589 …if ((hadc->Instance->CFGR1 & ~(ADC_CFGR1_AWDCH | ADC_CFGR1_AWDEN | ADC_CFGR1_AWDSGL | ADC_CFGR1_RE… in HAL_ADC_Init()
593 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Init()
596 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Init()
603 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Init()
608 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in HAL_ADC_Init()
617 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in HAL_ADC_Init()
639 HAL_StatusTypeDef HAL_ADC_DeInit(ADC_HandleTypeDef* hadc) in HAL_ADC_DeInit() argument
644 if(hadc == NULL) in HAL_ADC_DeInit()
650 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_DeInit()
653 SET_BIT(hadc->State, HAL_ADC_STATE_BUSY_INTERNAL); in HAL_ADC_DeInit()
656 tmp_hal_status = ADC_ConversionStop(hadc); in HAL_ADC_DeInit()
662 tmp_hal_status = ADC_Disable(hadc); in HAL_ADC_DeInit()
668 hadc->State = HAL_ADC_STATE_READY; in HAL_ADC_DeInit()
680 __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_AWD | ADC_IT_OVR | in HAL_ADC_DeInit()
685 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_AWD | ADC_FLAG_OVR | in HAL_ADC_DeInit()
694 …hadc->Instance->CFGR1 &= ~(ADC_CFGR1_AWDCH | ADC_CFGR1_AWDEN | ADC_CFGR1_AWDSGL | ADC_CFGR1_DIS… in HAL_ADC_DeInit()
702 hadc->Instance->CFGR2 &= ~ADC_CFGR2_CKMODE; in HAL_ADC_DeInit()
705 hadc->Instance->SMPR &= ~ADC_SMPR_SMP; in HAL_ADC_DeInit()
708 hadc->Instance->TR &= ~(ADC_TR_HT | ADC_TR_LT); in HAL_ADC_DeInit()
711 hadc->Instance->CHSELR &= ~(ADC_CHSELR_CHSEL18 | ADC_CHSELR_CHSEL17 | ADC_CHSELR_CHSEL16 | in HAL_ADC_DeInit()
733 if (hadc->MspDeInitCallback == NULL) in HAL_ADC_DeInit()
735 hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */ in HAL_ADC_DeInit()
739 hadc->MspDeInitCallback(hadc); in HAL_ADC_DeInit()
742 HAL_ADC_MspDeInit(hadc); in HAL_ADC_DeInit()
746 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_DeInit()
749 hadc->State = HAL_ADC_STATE_RESET; in HAL_ADC_DeInit()
753 __HAL_UNLOCK(hadc); in HAL_ADC_DeInit()
765 __weak void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc) in HAL_ADC_MspInit() argument
768 UNUSED(hadc); in HAL_ADC_MspInit()
780 __weak void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc) in HAL_ADC_MspDeInit() argument
783 UNUSED(hadc); in HAL_ADC_MspDeInit()
810 HAL_StatusTypeDef HAL_ADC_RegisterCallback(ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef Callb… in HAL_ADC_RegisterCallback() argument
817 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
822 if ((hadc->State & HAL_ADC_STATE_READY) != 0) in HAL_ADC_RegisterCallback()
827 hadc->ConvCpltCallback = pCallback; in HAL_ADC_RegisterCallback()
831 hadc->ConvHalfCpltCallback = pCallback; in HAL_ADC_RegisterCallback()
835 hadc->LevelOutOfWindowCallback = pCallback; in HAL_ADC_RegisterCallback()
839 hadc->ErrorCallback = pCallback; in HAL_ADC_RegisterCallback()
843 hadc->MspInitCallback = pCallback; in HAL_ADC_RegisterCallback()
847 hadc->MspDeInitCallback = pCallback; in HAL_ADC_RegisterCallback()
852 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
859 else if (HAL_ADC_STATE_RESET == hadc->State) in HAL_ADC_RegisterCallback()
864 hadc->MspInitCallback = pCallback; in HAL_ADC_RegisterCallback()
868 hadc->MspDeInitCallback = pCallback; in HAL_ADC_RegisterCallback()
873 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
883 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
910 HAL_StatusTypeDef HAL_ADC_UnRegisterCallback(ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef Cal… in HAL_ADC_UnRegisterCallback() argument
914 if ((hadc->State & HAL_ADC_STATE_READY) != 0) in HAL_ADC_UnRegisterCallback()
919 hadc->ConvCpltCallback = HAL_ADC_ConvCpltCallback; in HAL_ADC_UnRegisterCallback()
923 hadc->ConvHalfCpltCallback = HAL_ADC_ConvHalfCpltCallback; in HAL_ADC_UnRegisterCallback()
927 hadc->LevelOutOfWindowCallback = HAL_ADC_LevelOutOfWindowCallback; in HAL_ADC_UnRegisterCallback()
931 hadc->ErrorCallback = HAL_ADC_ErrorCallback; in HAL_ADC_UnRegisterCallback()
935 hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */ in HAL_ADC_UnRegisterCallback()
939 hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */ in HAL_ADC_UnRegisterCallback()
944 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_UnRegisterCallback()
951 else if (HAL_ADC_STATE_RESET == hadc->State) in HAL_ADC_UnRegisterCallback()
956 … hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */ in HAL_ADC_UnRegisterCallback()
960 … hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */ in HAL_ADC_UnRegisterCallback()
965 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_UnRegisterCallback()
975 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_UnRegisterCallback()
1018 HAL_StatusTypeDef HAL_ADC_Start(ADC_HandleTypeDef* hadc) in HAL_ADC_Start() argument
1023 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Start()
1026 if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET) in HAL_ADC_Start()
1029 __HAL_LOCK(hadc); in HAL_ADC_Start()
1034 if (hadc->Init.LowPowerAutoPowerOff != ENABLE) in HAL_ADC_Start()
1036 tmp_hal_status = ADC_Enable(hadc); in HAL_ADC_Start()
1045 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Start()
1050 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Start()
1055 __HAL_UNLOCK(hadc); in HAL_ADC_Start()
1060 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR)); in HAL_ADC_Start()
1066 hadc->Instance->CR |= ADC_CR_ADSTART; in HAL_ADC_Start()
1083 HAL_StatusTypeDef HAL_ADC_Stop(ADC_HandleTypeDef* hadc) in HAL_ADC_Stop() argument
1088 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Stop()
1091 __HAL_LOCK(hadc); in HAL_ADC_Stop()
1094 tmp_hal_status = ADC_ConversionStop(hadc); in HAL_ADC_Stop()
1100 tmp_hal_status = ADC_Disable(hadc); in HAL_ADC_Stop()
1106 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Stop()
1113 __HAL_UNLOCK(hadc); in HAL_ADC_Stop()
1137 HAL_StatusTypeDef HAL_ADC_PollForConversion(ADC_HandleTypeDef* hadc, uint32_t Timeout) in HAL_ADC_PollForConversion() argument
1143 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_PollForConversion()
1146 if (hadc->Init.EOCSelection == ADC_EOC_SEQ_CONV) in HAL_ADC_PollForConversion()
1159 if (HAL_IS_BIT_SET(hadc->Instance->CFGR1, ADC_CFGR1_DMAEN)) in HAL_ADC_PollForConversion()
1162 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_PollForConversion()
1165 __HAL_UNLOCK(hadc); in HAL_ADC_PollForConversion()
1179 while(HAL_IS_BIT_CLR(hadc->Instance->ISR, tmp_Flag_EOC)) in HAL_ADC_PollForConversion()
1187 if(HAL_IS_BIT_CLR(hadc->Instance->ISR, tmp_Flag_EOC)) in HAL_ADC_PollForConversion()
1190 SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT); in HAL_ADC_PollForConversion()
1193 __HAL_UNLOCK(hadc); in HAL_ADC_PollForConversion()
1202 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); in HAL_ADC_PollForConversion()
1206 if(ADC_IS_SOFTWARE_START_REGULAR(hadc) && in HAL_ADC_PollForConversion()
1207 (hadc->Init.ContinuousConvMode == DISABLE) ) in HAL_ADC_PollForConversion()
1210 if( __HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS) ) in HAL_ADC_PollForConversion()
1214 if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET) in HAL_ADC_PollForConversion()
1220 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC | ADC_IT_EOS); in HAL_ADC_PollForConversion()
1223 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_PollForConversion()
1230 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_PollForConversion()
1233 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in HAL_ADC_PollForConversion()
1241 if (hadc->Init.LowPowerAutoWait == DISABLE) in HAL_ADC_PollForConversion()
1244 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS)); in HAL_ADC_PollForConversion()
1261 HAL_StatusTypeDef HAL_ADC_PollForEvent(ADC_HandleTypeDef* hadc, uint32_t EventType, uint32_t Timeou… in HAL_ADC_PollForEvent() argument
1266 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_PollForEvent()
1273 while(__HAL_ADC_GET_FLAG(hadc, EventType) == RESET) in HAL_ADC_PollForEvent()
1281 if(__HAL_ADC_GET_FLAG(hadc, EventType) == RESET) in HAL_ADC_PollForEvent()
1284 SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT); in HAL_ADC_PollForEvent()
1287 __HAL_UNLOCK(hadc); in HAL_ADC_PollForEvent()
1300 SET_BIT(hadc->State, HAL_ADC_STATE_AWD1); in HAL_ADC_PollForEvent()
1303 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD); in HAL_ADC_PollForEvent()
1312 if (hadc->Init.Overrun == ADC_OVR_DATA_PRESERVED) in HAL_ADC_PollForEvent()
1315 SET_BIT(hadc->State, HAL_ADC_STATE_REG_OVR); in HAL_ADC_PollForEvent()
1318 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_OVR); in HAL_ADC_PollForEvent()
1322 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR); in HAL_ADC_PollForEvent()
1341 HAL_StatusTypeDef HAL_ADC_Start_IT(ADC_HandleTypeDef* hadc) in HAL_ADC_Start_IT() argument
1346 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Start_IT()
1349 if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET) in HAL_ADC_Start_IT()
1352 __HAL_LOCK(hadc); in HAL_ADC_Start_IT()
1357 if (hadc->Init.LowPowerAutoPowerOff != ENABLE) in HAL_ADC_Start_IT()
1359 tmp_hal_status = ADC_Enable(hadc); in HAL_ADC_Start_IT()
1368 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Start_IT()
1373 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Start_IT()
1378 __HAL_UNLOCK(hadc); in HAL_ADC_Start_IT()
1383 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR)); in HAL_ADC_Start_IT()
1387 switch(hadc->Init.EOCSelection) in HAL_ADC_Start_IT()
1390 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC); in HAL_ADC_Start_IT()
1391 __HAL_ADC_ENABLE_IT(hadc, (ADC_IT_EOS | ADC_IT_OVR)); in HAL_ADC_Start_IT()
1395 __HAL_ADC_ENABLE_IT(hadc, (ADC_IT_EOC | ADC_IT_EOS | ADC_IT_OVR)); in HAL_ADC_Start_IT()
1403 hadc->Instance->CR |= ADC_CR_ADSTART; in HAL_ADC_Start_IT()
1422 HAL_StatusTypeDef HAL_ADC_Stop_IT(ADC_HandleTypeDef* hadc) in HAL_ADC_Stop_IT() argument
1427 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Stop_IT()
1430 __HAL_LOCK(hadc); in HAL_ADC_Stop_IT()
1433 tmp_hal_status = ADC_ConversionStop(hadc); in HAL_ADC_Stop_IT()
1440 __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_EOC | ADC_IT_EOS | ADC_IT_OVR)); in HAL_ADC_Stop_IT()
1443 tmp_hal_status = ADC_Disable(hadc); in HAL_ADC_Stop_IT()
1449 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Stop_IT()
1456 __HAL_UNLOCK(hadc); in HAL_ADC_Stop_IT()
1475 HAL_StatusTypeDef HAL_ADC_Start_DMA(ADC_HandleTypeDef* hadc, uint32_t* pData, uint32_t Length) in HAL_ADC_Start_DMA() argument
1480 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Start_DMA()
1483 if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET) in HAL_ADC_Start_DMA()
1486 __HAL_LOCK(hadc); in HAL_ADC_Start_DMA()
1491 if (hadc->Init.LowPowerAutoPowerOff != ENABLE) in HAL_ADC_Start_DMA()
1493 tmp_hal_status = ADC_Enable(hadc); in HAL_ADC_Start_DMA()
1502 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Start_DMA()
1507 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Start_DMA()
1512 __HAL_UNLOCK(hadc); in HAL_ADC_Start_DMA()
1515 hadc->DMA_Handle->XferCpltCallback = ADC_DMAConvCplt; in HAL_ADC_Start_DMA()
1518 hadc->DMA_Handle->XferHalfCpltCallback = ADC_DMAHalfConvCplt; in HAL_ADC_Start_DMA()
1521 hadc->DMA_Handle->XferErrorCallback = ADC_DMAError; in HAL_ADC_Start_DMA()
1530 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR)); in HAL_ADC_Start_DMA()
1533 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_OVR); in HAL_ADC_Start_DMA()
1536 hadc->Instance->CFGR1 |= ADC_CFGR1_DMAEN; in HAL_ADC_Start_DMA()
1539 HAL_DMA_Start_IT(hadc->DMA_Handle, (uint32_t)&hadc->Instance->DR, (uint32_t)pData, Length); in HAL_ADC_Start_DMA()
1545 hadc->Instance->CR |= ADC_CR_ADSTART; in HAL_ADC_Start_DMA()
1564 HAL_StatusTypeDef HAL_ADC_Stop_DMA(ADC_HandleTypeDef* hadc) in HAL_ADC_Stop_DMA() argument
1569 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Stop_DMA()
1572 __HAL_LOCK(hadc); in HAL_ADC_Stop_DMA()
1575 tmp_hal_status = ADC_ConversionStop(hadc); in HAL_ADC_Stop_DMA()
1581 hadc->Instance->CFGR1 &= ~ADC_CFGR1_DMAEN; in HAL_ADC_Stop_DMA()
1585 if (hadc->DMA_Handle->State == HAL_DMA_STATE_BUSY) in HAL_ADC_Stop_DMA()
1587 tmp_hal_status = HAL_DMA_Abort(hadc->DMA_Handle); in HAL_ADC_Stop_DMA()
1593 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA); in HAL_ADC_Stop_DMA()
1598 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_OVR); in HAL_ADC_Stop_DMA()
1605 tmp_hal_status = ADC_Disable(hadc); in HAL_ADC_Stop_DMA()
1609 ADC_Disable(hadc); in HAL_ADC_Stop_DMA()
1616 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Stop_DMA()
1624 __HAL_UNLOCK(hadc); in HAL_ADC_Stop_DMA()
1649 uint32_t HAL_ADC_GetValue(ADC_HandleTypeDef* hadc) in HAL_ADC_GetValue() argument
1652 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_GetValue()
1658 return hadc->Instance->DR; in HAL_ADC_GetValue()
1666 void HAL_ADC_IRQHandler(ADC_HandleTypeDef* hadc) in HAL_ADC_IRQHandler() argument
1668 uint32_t tmp_isr = hadc->Instance->ISR; in HAL_ADC_IRQHandler()
1669 uint32_t tmp_ier = hadc->Instance->IER; in HAL_ADC_IRQHandler()
1672 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_IRQHandler()
1673 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode)); in HAL_ADC_IRQHandler()
1674 assert_param(IS_ADC_EOC_SELECTION(hadc->Init.EOCSelection)); in HAL_ADC_IRQHandler()
1681 if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL)) in HAL_ADC_IRQHandler()
1684 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); in HAL_ADC_IRQHandler()
1689 if(ADC_IS_SOFTWARE_START_REGULAR(hadc) && in HAL_ADC_IRQHandler()
1690 (hadc->Init.ContinuousConvMode == DISABLE) ) in HAL_ADC_IRQHandler()
1697 if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET) in HAL_ADC_IRQHandler()
1703 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC | ADC_IT_EOS); in HAL_ADC_IRQHandler()
1706 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_IRQHandler()
1713 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_IRQHandler()
1716 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in HAL_ADC_IRQHandler()
1725 hadc->ConvCpltCallback(hadc); in HAL_ADC_IRQHandler()
1727 HAL_ADC_ConvCpltCallback(hadc); in HAL_ADC_IRQHandler()
1736 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS) ); in HAL_ADC_IRQHandler()
1743 SET_BIT(hadc->State, HAL_ADC_STATE_AWD1); in HAL_ADC_IRQHandler()
1746 hadc->LevelOutOfWindowCallback(hadc); in HAL_ADC_IRQHandler()
1748 HAL_ADC_LevelOutOfWindowCallback(hadc); in HAL_ADC_IRQHandler()
1752 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD); in HAL_ADC_IRQHandler()
1766 if ((hadc->Init.Overrun == ADC_OVR_DATA_PRESERVED) || in HAL_ADC_IRQHandler()
1767 HAL_IS_BIT_SET(hadc->Instance->CFGR1, ADC_CFGR1_DMAEN) ) in HAL_ADC_IRQHandler()
1770 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_OVR); in HAL_ADC_IRQHandler()
1773 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR); in HAL_ADC_IRQHandler()
1776 hadc->ErrorCallback(hadc); in HAL_ADC_IRQHandler()
1778 HAL_ADC_ErrorCallback(hadc); in HAL_ADC_IRQHandler()
1783 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR); in HAL_ADC_IRQHandler()
1794 __weak void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) in HAL_ADC_ConvCpltCallback() argument
1797 UNUSED(hadc); in HAL_ADC_ConvCpltCallback()
1809 __weak void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef* hadc) in HAL_ADC_ConvHalfCpltCallback() argument
1812 UNUSED(hadc); in HAL_ADC_ConvHalfCpltCallback()
1824 __weak void HAL_ADC_LevelOutOfWindowCallback(ADC_HandleTypeDef* hadc) in HAL_ADC_LevelOutOfWindowCallback() argument
1827 UNUSED(hadc); in HAL_ADC_LevelOutOfWindowCallback()
1840 __weak void HAL_ADC_ErrorCallback(ADC_HandleTypeDef *hadc) in HAL_ADC_ErrorCallback() argument
1843 UNUSED(hadc); in HAL_ADC_ErrorCallback()
1894 HAL_StatusTypeDef HAL_ADC_ConfigChannel(ADC_HandleTypeDef* hadc, ADC_ChannelConfTypeDef* sConfig) in HAL_ADC_ConfigChannel() argument
1900 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_ConfigChannel()
1904 if (! IS_ADC_SAMPLE_TIME(hadc->Init.SamplingTimeCommon)) in HAL_ADC_ConfigChannel()
1910 __HAL_LOCK(hadc); in HAL_ADC_ConfigChannel()
1918 if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET) in HAL_ADC_ConfigChannel()
1926 hadc->Instance->CHSELR |= ADC_CHSELR_CHANNEL(sConfig->Channel); in HAL_ADC_ConfigChannel()
1933 if (! IS_ADC_SAMPLE_TIME(hadc->Init.SamplingTimeCommon)) in HAL_ADC_ConfigChannel()
1937 if (sConfig->SamplingTime != ADC_GET_SAMPLINGTIME(hadc)) in HAL_ADC_ConfigChannel()
1941 hadc->Instance->SMPR &= ~(ADC_SMPR_SMP); in HAL_ADC_ConfigChannel()
1944 hadc->Instance->SMPR |= ADC_SMPR_SET(sConfig->SamplingTime); in HAL_ADC_ConfigChannel()
1978 hadc->Instance->CHSELR &= ~ADC_CHSELR_CHANNEL(sConfig->Channel); in HAL_ADC_ConfigChannel()
2000 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_ConfigChannel()
2006 __HAL_UNLOCK(hadc); in HAL_ADC_ConfigChannel()
2027 HAL_StatusTypeDef HAL_ADC_AnalogWDGConfig(ADC_HandleTypeDef* hadc, ADC_AnalogWDGConfTypeDef* Analog… in HAL_ADC_AnalogWDGConfig() argument
2035 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_AnalogWDGConfig()
2040 assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), AnalogWDGConfig->HighThreshold)); in HAL_ADC_AnalogWDGConfig()
2041 assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), AnalogWDGConfig->LowThreshold)); in HAL_ADC_AnalogWDGConfig()
2049 __HAL_LOCK(hadc); in HAL_ADC_AnalogWDGConfig()
2056 if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET) in HAL_ADC_AnalogWDGConfig()
2063 hadc->Instance->CFGR1 &= ~( ADC_CFGR1_AWDSGL | in HAL_ADC_AnalogWDGConfig()
2067 hadc->Instance->CFGR1 |= ( AnalogWDGConfig->WatchdogMode | in HAL_ADC_AnalogWDGConfig()
2072 …tmpAWDHighThresholdShifted = ADC_AWD1THRESHOLD_SHIFT_RESOLUTION(hadc, AnalogWDGConfig->HighThresho… in HAL_ADC_AnalogWDGConfig()
2073 …tmpAWDLowThresholdShifted = ADC_AWD1THRESHOLD_SHIFT_RESOLUTION(hadc, AnalogWDGConfig->LowThreshol… in HAL_ADC_AnalogWDGConfig()
2076 hadc->Instance->TR &= ~(ADC_TR_HT | ADC_TR_LT); in HAL_ADC_AnalogWDGConfig()
2077 hadc->Instance->TR |= ( ADC_TRX_HIGHTHRESHOLD (tmpAWDHighThresholdShifted) | in HAL_ADC_AnalogWDGConfig()
2083 __HAL_ADC_CLEAR_FLAG(hadc, ADC_IT_AWD); in HAL_ADC_AnalogWDGConfig()
2089 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_AWD); in HAL_ADC_AnalogWDGConfig()
2094 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_AWD); in HAL_ADC_AnalogWDGConfig()
2103 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_AnalogWDGConfig()
2110 __HAL_UNLOCK(hadc); in HAL_ADC_AnalogWDGConfig()
2149 uint32_t HAL_ADC_GetState(ADC_HandleTypeDef* hadc) in HAL_ADC_GetState() argument
2152 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_GetState()
2155 return hadc->State; in HAL_ADC_GetState()
2163 uint32_t HAL_ADC_GetError(ADC_HandleTypeDef *hadc) in HAL_ADC_GetError() argument
2165 return hadc->ErrorCode; in HAL_ADC_GetError()
2193 static HAL_StatusTypeDef ADC_Enable(ADC_HandleTypeDef* hadc) in ADC_Enable() argument
2202 if (ADC_IS_ENABLE(hadc) == RESET) in ADC_Enable()
2205 if (ADC_ENABLING_CONDITIONS(hadc) == RESET) in ADC_Enable()
2208 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_Enable()
2211 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_Enable()
2217 __HAL_ADC_ENABLE(hadc); in ADC_Enable()
2231 while(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_RDY) == RESET) in ADC_Enable()
2236 if(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_RDY) == RESET) in ADC_Enable()
2239 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_Enable()
2242 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_Enable()
2261 static HAL_StatusTypeDef ADC_Disable(ADC_HandleTypeDef* hadc) in ADC_Disable() argument
2268 if (ADC_IS_ENABLE(hadc) != RESET) in ADC_Disable()
2271 if (ADC_DISABLING_CONDITIONS(hadc) != RESET) in ADC_Disable()
2274 __HAL_ADC_DISABLE(hadc); in ADC_Disable()
2279 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_Disable()
2282 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_Disable()
2291 while(HAL_IS_BIT_SET(hadc->Instance->CR, ADC_CR_ADEN)) in ADC_Disable()
2296 if(HAL_IS_BIT_SET(hadc->Instance->CR, ADC_CR_ADEN)) in ADC_Disable()
2299 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_Disable()
2302 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_Disable()
2322 static HAL_StatusTypeDef ADC_ConversionStop(ADC_HandleTypeDef* hadc) in ADC_ConversionStop() argument
2327 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in ADC_ConversionStop()
2331 if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc)) in ADC_ConversionStop()
2336 if (HAL_IS_BIT_SET(hadc->Instance->CR, ADC_CR_ADSTART) && in ADC_ConversionStop()
2337 HAL_IS_BIT_CLR(hadc->Instance->CR, ADC_CR_ADDIS) ) in ADC_ConversionStop()
2340 hadc->Instance->CR |= ADC_CR_ADSTP; in ADC_ConversionStop()
2347 while((hadc->Instance->CR & ADC_CR_ADSTART) != RESET) in ADC_ConversionStop()
2352 if((hadc->Instance->CR & ADC_CR_ADSTART) != RESET) in ADC_ConversionStop()
2355 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_ConversionStop()
2358 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_ConversionStop()
2379 ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; in ADC_DMAConvCplt() local
2382 if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL | HAL_ADC_STATE_ERROR_DMA)) in ADC_DMAConvCplt()
2385 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); in ADC_DMAConvCplt()
2389 if(ADC_IS_SOFTWARE_START_REGULAR(hadc) && in ADC_DMAConvCplt()
2390 (hadc->Init.ContinuousConvMode == DISABLE) ) in ADC_DMAConvCplt()
2393 if( __HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS) ) in ADC_DMAConvCplt()
2397 if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET) in ADC_DMAConvCplt()
2403 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC | ADC_IT_EOS); in ADC_DMAConvCplt()
2406 ADC_STATE_CLR_SET(hadc->State, in ADC_DMAConvCplt()
2413 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in ADC_DMAConvCplt()
2416 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_DMAConvCplt()
2423 hadc->ConvCpltCallback(hadc); in ADC_DMAConvCplt()
2425 HAL_ADC_ConvCpltCallback(hadc); in ADC_DMAConvCplt()
2431 hadc->DMA_Handle->XferErrorCallback(hdma); in ADC_DMAConvCplt()
2444 ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; in ADC_DMAHalfConvCplt() local
2448 hadc->ConvHalfCpltCallback(hadc); in ADC_DMAHalfConvCplt()
2450 HAL_ADC_ConvHalfCpltCallback(hadc); in ADC_DMAHalfConvCplt()
2462 ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; in ADC_DMAError() local
2465 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA); in ADC_DMAError()
2468 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_DMA); in ADC_DMAError()
2472 hadc->ErrorCallback(hadc); in ADC_DMAError()
2474 HAL_ADC_ErrorCallback(hadc); in ADC_DMAError()