mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-02 12:14:32 +02:00
adc: fixed the issue adc_gpio_init doesn't support ADC_UNIT_BOTH
This commit is contained in:
@@ -215,18 +215,24 @@ static void adc_rtc_chan_init(adc_unit_t adc_unit)
|
|||||||
esp_err_t adc_gpio_init(adc_unit_t adc_unit, adc_channel_t channel)
|
esp_err_t adc_gpio_init(adc_unit_t adc_unit, adc_channel_t channel)
|
||||||
{
|
{
|
||||||
gpio_num_t gpio_num = 0;
|
gpio_num_t gpio_num = 0;
|
||||||
|
//If called with `ADC_UNIT_BOTH (ADC_UNIT_1 | ADC_UNIT_2)`, both if blocks will be run
|
||||||
if (adc_unit & ADC_UNIT_1) {
|
if (adc_unit & ADC_UNIT_1) {
|
||||||
ADC_CHANNEL_CHECK(ADC_NUM_1, channel);
|
ADC_CHANNEL_CHECK(ADC_NUM_1, channel);
|
||||||
gpio_num = ADC_GET_IO_NUM(ADC_NUM_1, channel);
|
gpio_num = ADC_GET_IO_NUM(ADC_NUM_1, channel);
|
||||||
|
ADC_CHECK_RET(rtc_gpio_init(gpio_num));
|
||||||
|
ADC_CHECK_RET(rtc_gpio_set_direction(gpio_num, RTC_GPIO_MODE_DISABLED));
|
||||||
|
ADC_CHECK_RET(rtc_gpio_pulldown_dis(gpio_num));
|
||||||
|
ADC_CHECK_RET(rtc_gpio_pullup_dis(gpio_num));
|
||||||
}
|
}
|
||||||
if (adc_unit & ADC_UNIT_2) {
|
if (adc_unit & ADC_UNIT_2) {
|
||||||
ADC_CHANNEL_CHECK(ADC_NUM_2, channel);
|
ADC_CHANNEL_CHECK(ADC_NUM_2, channel);
|
||||||
gpio_num = ADC_GET_IO_NUM(ADC_NUM_2, channel);
|
gpio_num = ADC_GET_IO_NUM(ADC_NUM_2, channel);
|
||||||
|
ADC_CHECK_RET(rtc_gpio_init(gpio_num));
|
||||||
|
ADC_CHECK_RET(rtc_gpio_set_direction(gpio_num, RTC_GPIO_MODE_DISABLED));
|
||||||
|
ADC_CHECK_RET(rtc_gpio_pulldown_dis(gpio_num));
|
||||||
|
ADC_CHECK_RET(rtc_gpio_pullup_dis(gpio_num));
|
||||||
}
|
}
|
||||||
ADC_CHECK_RET(rtc_gpio_init(gpio_num));
|
|
||||||
ADC_CHECK_RET(rtc_gpio_set_direction(gpio_num, RTC_GPIO_MODE_DISABLED));
|
|
||||||
ADC_CHECK_RET(rtc_gpio_pulldown_dis(gpio_num));
|
|
||||||
ADC_CHECK_RET(rtc_gpio_pullup_dis(gpio_num));
|
|
||||||
return ESP_OK;
|
return ESP_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user