Lines Matching refs:hadc
411 HAL_StatusTypeDef HAL_ADC_Init(ADC_HandleTypeDef* hadc) in HAL_ADC_Init() argument
419 if(hadc == NULL) in HAL_ADC_Init()
425 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Init()
426 assert_param(IS_ADC_DATA_ALIGN(hadc->Init.DataAlign)); in HAL_ADC_Init()
427 assert_param(IS_ADC_SCAN_MODE(hadc->Init.ScanConvMode)); in HAL_ADC_Init()
428 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode)); in HAL_ADC_Init()
429 assert_param(IS_ADC_EXTTRIG(hadc->Init.ExternalTrigConv)); in HAL_ADC_Init()
431 if(hadc->Init.ScanConvMode != ADC_SCAN_DISABLE) in HAL_ADC_Init()
433 assert_param(IS_ADC_REGULAR_NB_CONV(hadc->Init.NbrOfConversion)); in HAL_ADC_Init()
434 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.DiscontinuousConvMode)); in HAL_ADC_Init()
435 if(hadc->Init.DiscontinuousConvMode != DISABLE) in HAL_ADC_Init()
437 assert_param(IS_ADC_REGULAR_DISCONT_NUMBER(hadc->Init.NbrOfDiscConversion)); in HAL_ADC_Init()
448 if (hadc->State == HAL_ADC_STATE_RESET) in HAL_ADC_Init()
451 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Init()
454 hadc->Lock = HAL_UNLOCKED; in HAL_ADC_Init()
458 …hadc->ConvCpltCallback = HAL_ADC_ConvCpltCallback; /* Legacy weak cal… in HAL_ADC_Init()
459 …hadc->ConvHalfCpltCallback = HAL_ADC_ConvHalfCpltCallback; /* Legacy weak cal… in HAL_ADC_Init()
460 …hadc->LevelOutOfWindowCallback = HAL_ADC_LevelOutOfWindowCallback; /* Legacy weak cal… in HAL_ADC_Init()
461 …hadc->ErrorCallback = HAL_ADC_ErrorCallback; /* Legacy weak cal… in HAL_ADC_Init()
462 …hadc->InjectedConvCpltCallback = HAL_ADCEx_InjectedConvCpltCallback; /* Legacy weak cal… in HAL_ADC_Init()
464 if (hadc->MspInitCallback == NULL) in HAL_ADC_Init()
466 hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */ in HAL_ADC_Init()
470 hadc->MspInitCallback(hadc); in HAL_ADC_Init()
473 HAL_ADC_MspInit(hadc); in HAL_ADC_Init()
482 tmp_hal_status = ADC_ConversionStop_Disable(hadc); in HAL_ADC_Init()
487 if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL) && in HAL_ADC_Init()
491 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Init()
507 tmp_cr2 |= (hadc->Init.DataAlign | in HAL_ADC_Init()
508 ADC_CFGR_EXTSEL(hadc, hadc->Init.ExternalTrigConv) | in HAL_ADC_Init()
509 ADC_CR2_CONTINUOUS((uint32_t)hadc->Init.ContinuousConvMode) ); in HAL_ADC_Init()
515 tmp_cr1 |= (ADC_CR1_SCAN_SET(hadc->Init.ScanConvMode)); in HAL_ADC_Init()
520 if (hadc->Init.DiscontinuousConvMode == ENABLE) in HAL_ADC_Init()
522 if (hadc->Init.ContinuousConvMode == DISABLE) in HAL_ADC_Init()
527 ADC_CR1_DISCONTINUOUS_NUM(hadc->Init.NbrOfDiscConversion) ); in HAL_ADC_Init()
535 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_Init()
538 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in HAL_ADC_Init()
543 MODIFY_REG(hadc->Instance->CR1, in HAL_ADC_Init()
550 MODIFY_REG(hadc->Instance->CR2, in HAL_ADC_Init()
566 if (ADC_CR1_SCAN_SET(hadc->Init.ScanConvMode) == ADC_SCAN_ENABLE) in HAL_ADC_Init()
568 tmp_sqr1 = ADC_SQR1_L_SHIFT(hadc->Init.NbrOfConversion); in HAL_ADC_Init()
571 MODIFY_REG(hadc->Instance->SQR1, in HAL_ADC_Init()
581 if (READ_BIT(hadc->Instance->CR2, ~(ADC_CR2_ADON | ADC_CR2_DMA | in HAL_ADC_Init()
588 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Init()
591 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Init()
598 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Init()
603 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in HAL_ADC_Init()
612 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in HAL_ADC_Init()
629 HAL_StatusTypeDef HAL_ADC_DeInit(ADC_HandleTypeDef* hadc) in HAL_ADC_DeInit() argument
634 if(hadc == NULL) in HAL_ADC_DeInit()
640 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_DeInit()
643 SET_BIT(hadc->State, HAL_ADC_STATE_BUSY_INTERNAL); in HAL_ADC_DeInit()
647 tmp_hal_status = ADC_ConversionStop_Disable(hadc); in HAL_ADC_DeInit()
660 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_AWD | ADC_FLAG_JEOC | ADC_FLAG_EOC | in HAL_ADC_DeInit()
664 CLEAR_BIT(hadc->Instance->CR1, (ADC_CR1_AWDEN | ADC_CR1_JAWDEN | ADC_CR1_DISCNUM | in HAL_ADC_DeInit()
670 CLEAR_BIT(hadc->Instance->CR2, (ADC_CR2_TSVREFE | ADC_CR2_SWSTART | ADC_CR2_JSWSTART | in HAL_ADC_DeInit()
677 CLEAR_BIT(hadc->Instance->SMPR1, (ADC_SMPR1_SMP17 | ADC_SMPR1_SMP16 | ADC_SMPR1_SMP15 | in HAL_ADC_DeInit()
682 CLEAR_BIT(hadc->Instance->SMPR2, (ADC_SMPR2_SMP9 | ADC_SMPR2_SMP8 | ADC_SMPR2_SMP7 | in HAL_ADC_DeInit()
688 CLEAR_BIT(hadc->Instance->JOFR1, ADC_JOFR1_JOFFSET1); in HAL_ADC_DeInit()
690 CLEAR_BIT(hadc->Instance->JOFR2, ADC_JOFR2_JOFFSET2); in HAL_ADC_DeInit()
692 CLEAR_BIT(hadc->Instance->JOFR3, ADC_JOFR3_JOFFSET3); in HAL_ADC_DeInit()
694 CLEAR_BIT(hadc->Instance->JOFR4, ADC_JOFR4_JOFFSET4); in HAL_ADC_DeInit()
697 CLEAR_BIT(hadc->Instance->HTR, ADC_HTR_HT); in HAL_ADC_DeInit()
699 CLEAR_BIT(hadc->Instance->LTR, ADC_LTR_LT); in HAL_ADC_DeInit()
702 CLEAR_BIT(hadc->Instance->SQR1, ADC_SQR1_L | in HAL_ADC_DeInit()
707 CLEAR_BIT(hadc->Instance->SQR1, ADC_SQR1_L | in HAL_ADC_DeInit()
712 CLEAR_BIT(hadc->Instance->SQR2, ADC_SQR2_SQ12 | ADC_SQR2_SQ11 | ADC_SQR2_SQ10 | in HAL_ADC_DeInit()
716 CLEAR_BIT(hadc->Instance->SQR3, ADC_SQR3_SQ6 | ADC_SQR3_SQ5 | ADC_SQR3_SQ4 | in HAL_ADC_DeInit()
720 CLEAR_BIT(hadc->Instance->JSQR, ADC_JSQR_JL | in HAL_ADC_DeInit()
725 CLEAR_BIT(hadc->Instance->JSQR, ADC_JSQR_JL | in HAL_ADC_DeInit()
745 if (hadc->MspDeInitCallback == NULL) in HAL_ADC_DeInit()
747 hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */ in HAL_ADC_DeInit()
751 hadc->MspDeInitCallback(hadc); in HAL_ADC_DeInit()
754 HAL_ADC_MspDeInit(hadc); in HAL_ADC_DeInit()
758 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_DeInit()
761 hadc->State = HAL_ADC_STATE_RESET; in HAL_ADC_DeInit()
766 __HAL_UNLOCK(hadc); in HAL_ADC_DeInit()
777 __weak void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc) in HAL_ADC_MspInit() argument
780 UNUSED(hadc); in HAL_ADC_MspInit()
791 __weak void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc) in HAL_ADC_MspDeInit() argument
794 UNUSED(hadc); in HAL_ADC_MspDeInit()
820 HAL_StatusTypeDef HAL_ADC_RegisterCallback(ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef Callb… in HAL_ADC_RegisterCallback() argument
827 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
832 if ((hadc->State & HAL_ADC_STATE_READY) != 0) in HAL_ADC_RegisterCallback()
837 hadc->ConvCpltCallback = pCallback; in HAL_ADC_RegisterCallback()
841 hadc->ConvHalfCpltCallback = pCallback; in HAL_ADC_RegisterCallback()
845 hadc->LevelOutOfWindowCallback = pCallback; in HAL_ADC_RegisterCallback()
849 hadc->ErrorCallback = pCallback; in HAL_ADC_RegisterCallback()
853 hadc->InjectedConvCpltCallback = pCallback; in HAL_ADC_RegisterCallback()
857 hadc->MspInitCallback = pCallback; in HAL_ADC_RegisterCallback()
861 hadc->MspDeInitCallback = pCallback; in HAL_ADC_RegisterCallback()
866 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
873 else if (HAL_ADC_STATE_RESET == hadc->State) in HAL_ADC_RegisterCallback()
878 hadc->MspInitCallback = pCallback; in HAL_ADC_RegisterCallback()
882 hadc->MspDeInitCallback = pCallback; in HAL_ADC_RegisterCallback()
887 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
897 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_RegisterCallback()
924 HAL_StatusTypeDef HAL_ADC_UnRegisterCallback(ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef Cal… in HAL_ADC_UnRegisterCallback() argument
928 if ((hadc->State & HAL_ADC_STATE_READY) != 0) in HAL_ADC_UnRegisterCallback()
933 hadc->ConvCpltCallback = HAL_ADC_ConvCpltCallback; in HAL_ADC_UnRegisterCallback()
937 hadc->ConvHalfCpltCallback = HAL_ADC_ConvHalfCpltCallback; in HAL_ADC_UnRegisterCallback()
941 hadc->LevelOutOfWindowCallback = HAL_ADC_LevelOutOfWindowCallback; in HAL_ADC_UnRegisterCallback()
945 hadc->ErrorCallback = HAL_ADC_ErrorCallback; in HAL_ADC_UnRegisterCallback()
949 hadc->InjectedConvCpltCallback = HAL_ADCEx_InjectedConvCpltCallback; in HAL_ADC_UnRegisterCallback()
953 hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */ in HAL_ADC_UnRegisterCallback()
957 hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */ in HAL_ADC_UnRegisterCallback()
962 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_UnRegisterCallback()
969 else if (HAL_ADC_STATE_RESET == hadc->State) in HAL_ADC_UnRegisterCallback()
974 … hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */ in HAL_ADC_UnRegisterCallback()
978 … hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */ in HAL_ADC_UnRegisterCallback()
983 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_UnRegisterCallback()
993 hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; in HAL_ADC_UnRegisterCallback()
1036 HAL_StatusTypeDef HAL_ADC_Start(ADC_HandleTypeDef* hadc) in HAL_ADC_Start() argument
1041 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Start()
1044 __HAL_LOCK(hadc); in HAL_ADC_Start()
1047 tmp_hal_status = ADC_Enable(hadc); in HAL_ADC_Start()
1055 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Start()
1062 if (ADC_NONMULTIMODE_OR_MULTIMODEMASTER(hadc)) in HAL_ADC_Start()
1065 CLEAR_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); in HAL_ADC_Start()
1069 if (READ_BIT(hadc->Instance->CR1, ADC_CR1_JAUTO) != RESET) in HAL_ADC_Start()
1071 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_Start()
1077 SET_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); in HAL_ADC_Start()
1081 if (ADC_MULTIMODE_AUTO_INJECTED(hadc)) in HAL_ADC_Start()
1083 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_Start()
1088 if (HAL_IS_BIT_SET(hadc->State, HAL_ADC_STATE_INJ_BUSY)) in HAL_ADC_Start()
1091 CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); in HAL_ADC_Start()
1096 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Start()
1102 __HAL_UNLOCK(hadc); in HAL_ADC_Start()
1106 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOC); in HAL_ADC_Start()
1118 if (ADC_IS_SOFTWARE_START_REGULAR(hadc) && in HAL_ADC_Start()
1119 ADC_NONMULTIMODE_OR_MULTIMODEMASTER(hadc) ) in HAL_ADC_Start()
1122 SET_BIT(hadc->Instance->CR2, (ADC_CR2_SWSTART | ADC_CR2_EXTTRIG)); in HAL_ADC_Start()
1127 SET_BIT(hadc->Instance->CR2, ADC_CR2_EXTTRIG); in HAL_ADC_Start()
1133 __HAL_UNLOCK(hadc); in HAL_ADC_Start()
1149 HAL_StatusTypeDef HAL_ADC_Stop(ADC_HandleTypeDef* hadc) in HAL_ADC_Stop() argument
1154 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Stop()
1157 __HAL_LOCK(hadc); in HAL_ADC_Stop()
1161 tmp_hal_status = ADC_ConversionStop_Disable(hadc); in HAL_ADC_Stop()
1167 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Stop()
1173 __HAL_UNLOCK(hadc); in HAL_ADC_Stop()
1193 HAL_StatusTypeDef HAL_ADC_PollForConversion(ADC_HandleTypeDef* hadc, uint32_t Timeout) in HAL_ADC_PollForConversion() argument
1203 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_PollForConversion()
1211 if (HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_DMA)) in HAL_ADC_PollForConversion()
1214 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_PollForConversion()
1217 __HAL_UNLOCK(hadc); in HAL_ADC_PollForConversion()
1236 if (HAL_IS_BIT_CLR(hadc->Instance->CR1, ADC_CR1_SCAN) && in HAL_ADC_PollForConversion()
1237 HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) ) in HAL_ADC_PollForConversion()
1240 while(HAL_IS_BIT_CLR(hadc->Instance->SR, ADC_FLAG_EOC)) in HAL_ADC_PollForConversion()
1248 if(HAL_IS_BIT_CLR(hadc->Instance->SR, ADC_FLAG_EOC)) in HAL_ADC_PollForConversion()
1251 SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT); in HAL_ADC_PollForConversion()
1254 __HAL_UNLOCK(hadc); in HAL_ADC_PollForConversion()
1270 * ADC_CONVCYCLES_MAX_RANGE(hadc) ); in HAL_ADC_PollForConversion()
1283 SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT); in HAL_ADC_PollForConversion()
1286 __HAL_UNLOCK(hadc); in HAL_ADC_PollForConversion()
1297 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_STRT | ADC_FLAG_EOC); in HAL_ADC_PollForConversion()
1300 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); in HAL_ADC_PollForConversion()
1307 if(ADC_IS_SOFTWARE_START_REGULAR(hadc) && in HAL_ADC_PollForConversion()
1308 (hadc->Init.ContinuousConvMode == DISABLE) ) in HAL_ADC_PollForConversion()
1311 CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); in HAL_ADC_PollForConversion()
1313 if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_INJ_BUSY)) in HAL_ADC_PollForConversion()
1315 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in HAL_ADC_PollForConversion()
1332 HAL_StatusTypeDef HAL_ADC_PollForEvent(ADC_HandleTypeDef* hadc, uint32_t EventType, uint32_t Timeou… in HAL_ADC_PollForEvent() argument
1337 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_PollForEvent()
1344 while(__HAL_ADC_GET_FLAG(hadc, EventType) == RESET) in HAL_ADC_PollForEvent()
1352 if(__HAL_ADC_GET_FLAG(hadc, EventType) == RESET) in HAL_ADC_PollForEvent()
1355 SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT); in HAL_ADC_PollForEvent()
1358 __HAL_UNLOCK(hadc); in HAL_ADC_PollForEvent()
1368 SET_BIT(hadc->State, HAL_ADC_STATE_AWD1); in HAL_ADC_PollForEvent()
1371 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD); in HAL_ADC_PollForEvent()
1385 HAL_StatusTypeDef HAL_ADC_Start_IT(ADC_HandleTypeDef* hadc) in HAL_ADC_Start_IT() argument
1390 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Start_IT()
1393 __HAL_LOCK(hadc); in HAL_ADC_Start_IT()
1396 tmp_hal_status = ADC_Enable(hadc); in HAL_ADC_Start_IT()
1404 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Start_IT()
1411 if (ADC_NONMULTIMODE_OR_MULTIMODEMASTER(hadc)) in HAL_ADC_Start_IT()
1414 CLEAR_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); in HAL_ADC_Start_IT()
1418 if (READ_BIT(hadc->Instance->CR1, ADC_CR1_JAUTO) != RESET) in HAL_ADC_Start_IT()
1420 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_Start_IT()
1426 SET_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); in HAL_ADC_Start_IT()
1430 if (ADC_MULTIMODE_AUTO_INJECTED(hadc)) in HAL_ADC_Start_IT()
1432 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_Start_IT()
1437 if (HAL_IS_BIT_SET(hadc->State, HAL_ADC_STATE_INJ_BUSY)) in HAL_ADC_Start_IT()
1440 CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); in HAL_ADC_Start_IT()
1445 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Start_IT()
1451 __HAL_UNLOCK(hadc); in HAL_ADC_Start_IT()
1455 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOC); in HAL_ADC_Start_IT()
1458 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_EOC); in HAL_ADC_Start_IT()
1467 if (ADC_IS_SOFTWARE_START_REGULAR(hadc) && in HAL_ADC_Start_IT()
1468 ADC_NONMULTIMODE_OR_MULTIMODEMASTER(hadc) ) in HAL_ADC_Start_IT()
1471 SET_BIT(hadc->Instance->CR2, (ADC_CR2_SWSTART | ADC_CR2_EXTTRIG)); in HAL_ADC_Start_IT()
1476 SET_BIT(hadc->Instance->CR2, ADC_CR2_EXTTRIG); in HAL_ADC_Start_IT()
1482 __HAL_UNLOCK(hadc); in HAL_ADC_Start_IT()
1496 HAL_StatusTypeDef HAL_ADC_Stop_IT(ADC_HandleTypeDef* hadc) in HAL_ADC_Stop_IT() argument
1501 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_Stop_IT()
1504 __HAL_LOCK(hadc); in HAL_ADC_Stop_IT()
1508 tmp_hal_status = ADC_ConversionStop_Disable(hadc); in HAL_ADC_Stop_IT()
1514 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC); in HAL_ADC_Stop_IT()
1517 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Stop_IT()
1523 __HAL_UNLOCK(hadc); in HAL_ADC_Stop_IT()
1553 HAL_StatusTypeDef HAL_ADC_Start_DMA(ADC_HandleTypeDef* hadc, uint32_t* pData, uint32_t Length) in HAL_ADC_Start_DMA() argument
1558 assert_param(IS_ADC_DMA_CAPABILITY_INSTANCE(hadc->Instance)); in HAL_ADC_Start_DMA()
1563 if(ADC_MULTIMODE_IS_ENABLE(hadc) == RESET) in HAL_ADC_Start_DMA()
1566 __HAL_LOCK(hadc); in HAL_ADC_Start_DMA()
1569 tmp_hal_status = ADC_Enable(hadc); in HAL_ADC_Start_DMA()
1577 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Start_DMA()
1584 if (ADC_NONMULTIMODE_OR_MULTIMODEMASTER(hadc)) in HAL_ADC_Start_DMA()
1587 CLEAR_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); in HAL_ADC_Start_DMA()
1591 if (READ_BIT(hadc->Instance->CR1, ADC_CR1_JAUTO) != RESET) in HAL_ADC_Start_DMA()
1593 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_Start_DMA()
1599 SET_BIT(hadc->State, HAL_ADC_STATE_MULTIMODE_SLAVE); in HAL_ADC_Start_DMA()
1603 if (ADC_MULTIMODE_AUTO_INJECTED(hadc)) in HAL_ADC_Start_DMA()
1605 ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_Start_DMA()
1610 if (HAL_IS_BIT_SET(hadc->State, HAL_ADC_STATE_INJ_BUSY)) in HAL_ADC_Start_DMA()
1613 CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); in HAL_ADC_Start_DMA()
1618 ADC_CLEAR_ERRORCODE(hadc); in HAL_ADC_Start_DMA()
1624 __HAL_UNLOCK(hadc); in HAL_ADC_Start_DMA()
1627 hadc->DMA_Handle->XferCpltCallback = ADC_DMAConvCplt; in HAL_ADC_Start_DMA()
1630 hadc->DMA_Handle->XferHalfCpltCallback = ADC_DMAHalfConvCplt; in HAL_ADC_Start_DMA()
1633 hadc->DMA_Handle->XferErrorCallback = ADC_DMAError; in HAL_ADC_Start_DMA()
1642 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOC); in HAL_ADC_Start_DMA()
1645 SET_BIT(hadc->Instance->CR2, ADC_CR2_DMA); in HAL_ADC_Start_DMA()
1648 HAL_DMA_Start_IT(hadc->DMA_Handle, (uint32_t)&hadc->Instance->DR, (uint32_t)pData, Length); in HAL_ADC_Start_DMA()
1654 if (ADC_IS_SOFTWARE_START_REGULAR(hadc)) in HAL_ADC_Start_DMA()
1657 SET_BIT(hadc->Instance->CR2, (ADC_CR2_SWSTART | ADC_CR2_EXTTRIG)); in HAL_ADC_Start_DMA()
1662 SET_BIT(hadc->Instance->CR2, ADC_CR2_EXTTRIG); in HAL_ADC_Start_DMA()
1668 __HAL_UNLOCK(hadc); in HAL_ADC_Start_DMA()
1694 HAL_StatusTypeDef HAL_ADC_Stop_DMA(ADC_HandleTypeDef* hadc) in HAL_ADC_Stop_DMA() argument
1699 assert_param(IS_ADC_DMA_CAPABILITY_INSTANCE(hadc->Instance)); in HAL_ADC_Stop_DMA()
1702 __HAL_LOCK(hadc); in HAL_ADC_Stop_DMA()
1706 tmp_hal_status = ADC_ConversionStop_Disable(hadc); in HAL_ADC_Stop_DMA()
1712 CLEAR_BIT(hadc->Instance->CR2, ADC_CR2_DMA); in HAL_ADC_Stop_DMA()
1716 if (hadc->DMA_Handle->State == HAL_DMA_STATE_BUSY) in HAL_ADC_Stop_DMA()
1718 tmp_hal_status = HAL_DMA_Abort(hadc->DMA_Handle); in HAL_ADC_Stop_DMA()
1724 ADC_STATE_CLR_SET(hadc->State, in HAL_ADC_Stop_DMA()
1731 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA); in HAL_ADC_Stop_DMA()
1737 __HAL_UNLOCK(hadc); in HAL_ADC_Stop_DMA()
1762 uint32_t HAL_ADC_GetValue(ADC_HandleTypeDef* hadc) in HAL_ADC_GetValue() argument
1765 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_GetValue()
1771 return hadc->Instance->DR; in HAL_ADC_GetValue()
1779 void HAL_ADC_IRQHandler(ADC_HandleTypeDef* hadc) in HAL_ADC_IRQHandler() argument
1781 uint32_t tmp_sr = hadc->Instance->SR; in HAL_ADC_IRQHandler()
1782 uint32_t tmp_cr1 = hadc->Instance->CR1; in HAL_ADC_IRQHandler()
1785 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_IRQHandler()
1786 assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode)); in HAL_ADC_IRQHandler()
1787 assert_param(IS_ADC_REGULAR_NB_CONV(hadc->Init.NbrOfConversion)); in HAL_ADC_IRQHandler()
1796 if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL)) in HAL_ADC_IRQHandler()
1799 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); in HAL_ADC_IRQHandler()
1807 if(ADC_IS_SOFTWARE_START_REGULAR(hadc) && in HAL_ADC_IRQHandler()
1808 (hadc->Init.ContinuousConvMode == DISABLE) ) in HAL_ADC_IRQHandler()
1811 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC); in HAL_ADC_IRQHandler()
1814 CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); in HAL_ADC_IRQHandler()
1816 if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_INJ_BUSY)) in HAL_ADC_IRQHandler()
1818 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in HAL_ADC_IRQHandler()
1824 hadc->ConvCpltCallback(hadc); in HAL_ADC_IRQHandler()
1826 HAL_ADC_ConvCpltCallback(hadc); in HAL_ADC_IRQHandler()
1830 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_STRT | ADC_FLAG_EOC); in HAL_ADC_IRQHandler()
1840 if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL)) in HAL_ADC_IRQHandler()
1843 SET_BIT(hadc->State, HAL_ADC_STATE_INJ_EOC); in HAL_ADC_IRQHandler()
1853 if(ADC_IS_SOFTWARE_START_INJECTED(hadc) || in HAL_ADC_IRQHandler()
1854 (HAL_IS_BIT_CLR(hadc->Instance->CR1, ADC_CR1_JAUTO) && in HAL_ADC_IRQHandler()
1855 (ADC_IS_SOFTWARE_START_REGULAR(hadc) && in HAL_ADC_IRQHandler()
1856 (hadc->Init.ContinuousConvMode == DISABLE) ) ) ) in HAL_ADC_IRQHandler()
1859 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOC); in HAL_ADC_IRQHandler()
1862 CLEAR_BIT(hadc->State, HAL_ADC_STATE_INJ_BUSY); in HAL_ADC_IRQHandler()
1864 if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_REG_BUSY)) in HAL_ADC_IRQHandler()
1866 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in HAL_ADC_IRQHandler()
1872 hadc->InjectedConvCpltCallback(hadc); in HAL_ADC_IRQHandler()
1874 HAL_ADCEx_InjectedConvCpltCallback(hadc); in HAL_ADC_IRQHandler()
1878 __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_JSTRT | ADC_FLAG_JEOC)); in HAL_ADC_IRQHandler()
1888 SET_BIT(hadc->State, HAL_ADC_STATE_AWD1); in HAL_ADC_IRQHandler()
1892 hadc->LevelOutOfWindowCallback(hadc); in HAL_ADC_IRQHandler()
1894 HAL_ADC_LevelOutOfWindowCallback(hadc); in HAL_ADC_IRQHandler()
1898 __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD); in HAL_ADC_IRQHandler()
1909 __weak void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) in HAL_ADC_ConvCpltCallback() argument
1912 UNUSED(hadc); in HAL_ADC_ConvCpltCallback()
1923 __weak void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef* hadc) in HAL_ADC_ConvHalfCpltCallback() argument
1926 UNUSED(hadc); in HAL_ADC_ConvHalfCpltCallback()
1937 __weak void HAL_ADC_LevelOutOfWindowCallback(ADC_HandleTypeDef* hadc) in HAL_ADC_LevelOutOfWindowCallback() argument
1940 UNUSED(hadc); in HAL_ADC_LevelOutOfWindowCallback()
1952 __weak void HAL_ADC_ErrorCallback(ADC_HandleTypeDef *hadc) in HAL_ADC_ErrorCallback() argument
1955 UNUSED(hadc); in HAL_ADC_ErrorCallback()
2000 HAL_StatusTypeDef HAL_ADC_ConfigChannel(ADC_HandleTypeDef* hadc, ADC_ChannelConfTypeDef* sConfig) in HAL_ADC_ConfigChannel() argument
2006 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_ConfigChannel()
2012 __HAL_LOCK(hadc); in HAL_ADC_ConfigChannel()
2019 MODIFY_REG(hadc->Instance->SQR3 , in HAL_ADC_ConfigChannel()
2026 MODIFY_REG(hadc->Instance->SQR2 , in HAL_ADC_ConfigChannel()
2033 MODIFY_REG(hadc->Instance->SQR1 , in HAL_ADC_ConfigChannel()
2043 MODIFY_REG(hadc->Instance->SMPR1 , in HAL_ADC_ConfigChannel()
2049 MODIFY_REG(hadc->Instance->SMPR2 , in HAL_ADC_ConfigChannel()
2062 if (hadc->Instance == ADC1) in HAL_ADC_ConfigChannel()
2064 if (READ_BIT(hadc->Instance->CR2, ADC_CR2_TSVREFE) == RESET) in HAL_ADC_ConfigChannel()
2066 SET_BIT(hadc->Instance->CR2, ADC_CR2_TSVREFE); in HAL_ADC_ConfigChannel()
2083 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); in HAL_ADC_ConfigChannel()
2090 __HAL_UNLOCK(hadc); in HAL_ADC_ConfigChannel()
2110 HAL_StatusTypeDef HAL_ADC_AnalogWDGConfig(ADC_HandleTypeDef* hadc, ADC_AnalogWDGConfTypeDef* Analog… in HAL_ADC_AnalogWDGConfig() argument
2113 assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); in HAL_ADC_AnalogWDGConfig()
2127 __HAL_LOCK(hadc); in HAL_ADC_AnalogWDGConfig()
2135 __HAL_ADC_ENABLE_IT(hadc, ADC_IT_AWD); in HAL_ADC_AnalogWDGConfig()
2140 __HAL_ADC_DISABLE_IT(hadc, ADC_IT_AWD); in HAL_ADC_AnalogWDGConfig()
2148 MODIFY_REG(hadc->Instance->CR1 , in HAL_ADC_AnalogWDGConfig()
2157 WRITE_REG(hadc->Instance->HTR, AnalogWDGConfig->HighThreshold); in HAL_ADC_AnalogWDGConfig()
2160 WRITE_REG(hadc->Instance->LTR, AnalogWDGConfig->LowThreshold); in HAL_ADC_AnalogWDGConfig()
2163 __HAL_UNLOCK(hadc); in HAL_ADC_AnalogWDGConfig()
2197 uint32_t HAL_ADC_GetState(ADC_HandleTypeDef* hadc) in HAL_ADC_GetState() argument
2200 return hadc->State; in HAL_ADC_GetState()
2208 uint32_t HAL_ADC_GetError(ADC_HandleTypeDef *hadc) in HAL_ADC_GetError() argument
2210 return hadc->ErrorCode; in HAL_ADC_GetError()
2232 HAL_StatusTypeDef ADC_Enable(ADC_HandleTypeDef* hadc) in ADC_Enable() argument
2241 if (ADC_IS_ENABLE(hadc) == RESET) in ADC_Enable()
2244 __HAL_ADC_ENABLE(hadc); in ADC_Enable()
2258 while(ADC_IS_ENABLE(hadc) == RESET) in ADC_Enable()
2263 if(ADC_IS_ENABLE(hadc) == RESET) in ADC_Enable()
2266 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_Enable()
2269 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_Enable()
2272 __HAL_UNLOCK(hadc); in ADC_Enable()
2291 HAL_StatusTypeDef ADC_ConversionStop_Disable(ADC_HandleTypeDef* hadc) in ADC_ConversionStop_Disable() argument
2296 if (ADC_IS_ENABLE(hadc) != RESET) in ADC_ConversionStop_Disable()
2299 __HAL_ADC_DISABLE(hadc); in ADC_ConversionStop_Disable()
2305 while(ADC_IS_ENABLE(hadc) != RESET) in ADC_ConversionStop_Disable()
2310 if(ADC_IS_ENABLE(hadc) != RESET) in ADC_ConversionStop_Disable()
2313 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); in ADC_ConversionStop_Disable()
2316 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); in ADC_ConversionStop_Disable()
2336 ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; in ADC_DMAConvCplt() local
2339 if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL | HAL_ADC_STATE_ERROR_DMA)) in ADC_DMAConvCplt()
2342 SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); in ADC_DMAConvCplt()
2349 if(ADC_IS_SOFTWARE_START_REGULAR(hadc) && in ADC_DMAConvCplt()
2350 (hadc->Init.ContinuousConvMode == DISABLE) ) in ADC_DMAConvCplt()
2353 CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); in ADC_DMAConvCplt()
2355 if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_INJ_BUSY)) in ADC_DMAConvCplt()
2357 SET_BIT(hadc->State, HAL_ADC_STATE_READY); in ADC_DMAConvCplt()
2363 hadc->ConvCpltCallback(hadc); in ADC_DMAConvCplt()
2365 HAL_ADC_ConvCpltCallback(hadc); in ADC_DMAConvCplt()
2371 hadc->DMA_Handle->XferErrorCallback(hdma); in ADC_DMAConvCplt()
2383 ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; in ADC_DMAHalfConvCplt() local
2387 hadc->ConvHalfCpltCallback(hadc); in ADC_DMAHalfConvCplt()
2389 HAL_ADC_ConvHalfCpltCallback(hadc); in ADC_DMAHalfConvCplt()
2401 ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; in ADC_DMAError() local
2404 SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA); in ADC_DMAError()
2407 SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_DMA); in ADC_DMAError()
2411 hadc->ErrorCallback(hadc); in ADC_DMAError()
2413 HAL_ADC_ErrorCallback(hadc); in ADC_DMAError()