mirror of https://github.com/ARMmbed/mbed-os.git
Merge internal ADC channel changes from ST
Co-authored-by: jeromecoutant <jerome.coutant@st.com>pull/13601/head
parent
bbc15f65c0
commit
bbc7355df5
|
|
@ -96,11 +96,10 @@ MBED_WEAK const PinMap PinMap_ADC[] = {
|
|||
{NC, NC, 0}
|
||||
};
|
||||
|
||||
// !!! SECTION TO BE CHECKED WITH DEVICE REFERENCE MANUAL
|
||||
MBED_WEAK const PinMap PinMap_ADC_Internal[] = {
|
||||
{ADC_TEMP, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 16, 0)},
|
||||
{ADC_VREF, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 17, 0)},
|
||||
{ADC_VBAT, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 18, 0)},
|
||||
{ADC_TEMP, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 16, 0)}, // ADC1_IN16
|
||||
{ADC_VREF, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 18, 0)}, // ADC1_IN18
|
||||
{ADC_VBAT, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 17, 0)}, // ADC1_IN17
|
||||
{NC, NC, 0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -256,12 +256,27 @@ uint16_t adc_read(analogin_t *obj)
|
|||
break;
|
||||
case 16:
|
||||
sConfig.Channel = ADC_CHANNEL_16;
|
||||
|
||||
if ((ADCName)obj->handle.Instance == ADC_1) {
|
||||
sConfig.Channel = ADC_CHANNEL_TEMPSENSOR_ADC1;
|
||||
sConfig.SamplingTime = ADC_SAMPLETIME_640CYCLES_5;
|
||||
}
|
||||
break;
|
||||
case 17:
|
||||
sConfig.Channel = ADC_CHANNEL_17;
|
||||
|
||||
if ((ADCName)obj->handle.Instance == ADC_1) {
|
||||
sConfig.Channel = ADC_CHANNEL_VBAT;
|
||||
sConfig.SamplingTime = ADC_SAMPLETIME_640CYCLES_5;
|
||||
}
|
||||
break;
|
||||
case 18:
|
||||
sConfig.Channel = ADC_CHANNEL_18;
|
||||
|
||||
if ((ADCName)obj->handle.Instance == ADC_1) {
|
||||
sConfig.Channel = ADC_CHANNEL_VREFINT;
|
||||
sConfig.SamplingTime = ADC_SAMPLETIME_640CYCLES_5;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
return 0;
|
||||
|
|
@ -282,7 +297,9 @@ uint16_t adc_read(analogin_t *obj)
|
|||
} else {
|
||||
debug("HAL_ADC_PollForConversion issue\n");
|
||||
}
|
||||
|
||||
LL_ADC_SetCommonPathInternalCh(__LL_ADC_COMMON_INSTANCE((&obj->handle)->Instance), LL_ADC_PATH_INTERNAL_NONE);
|
||||
|
||||
if (HAL_ADC_Stop(&obj->handle) != HAL_OK) {
|
||||
debug("HAL_ADC_Stop issue\n");;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue