|
10 | 10 | */ |
11 | 11 | #include "adapter_gpio.hpp" |
12 | 12 | #include <driver/gpio.h> |
| 13 | +#include <esp_idf_version.h> |
13 | 14 |
|
14 | 15 | #if defined(M5_UNIT_UNIFIED_USING_RMT_V2) |
15 | 16 | #pragma message "Using RMT v2,Oneshot" |
|
19 | 20 | #include <driver/adc.h> |
20 | 21 | #endif |
21 | 22 |
|
| 23 | +// ADC_ATTEN_DB_12 was introduced in ESP-IDF v4.4.7 / v5.1.3 |
| 24 | +#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 1, 3) \ |
| 25 | + || (ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(4, 4, 7) && ESP_IDF_VERSION < ESP_IDF_VERSION_VAL(5, 0, 0)) |
| 26 | +#pragma message "Exists ADC_ATTEN_DB_12" |
| 27 | +constexpr auto M5_ADC_ATTEN_DB = ADC_ATTEN_DB_12; |
| 28 | +#else |
| 29 | +#pragma message "Not exists ADC_ATTEN_DB_12" |
| 30 | +constexpr auto M5_ADC_ATTEN_DB = ADC_ATTEN_DB_11; |
| 31 | +#endif |
| 32 | + |
22 | 33 | #if defined(SOC_DAC_SUPPORTED) && SOC_DAC_SUPPORTED |
23 | 34 | #pragma message "DAC supported" |
24 | 35 |
|
@@ -422,7 +433,7 @@ m5::hal::error::error_t AdapterGPIOBase::GPIOImpl::read_analog(uint16_t& value, |
422 | 433 | } |
423 | 434 |
|
424 | 435 | adc_oneshot_chan_cfg_t chan_config = { |
425 | | - .atten = ADC_ATTEN_DB_12, // 0~3.3V |
| 436 | + .atten = M5_ADC_ATTEN_DB, // 0~3.3V |
426 | 437 | .bitwidth = ADC_BITWIDTH_DEFAULT // 12bit |
427 | 438 | }; |
428 | 439 |
|
@@ -454,7 +465,7 @@ m5::hal::error::error_t AdapterGPIOBase::GPIOImpl::read_analog(uint16_t& value, |
454 | 465 | // ADC1 |
455 | 466 | adc1_channel_t channel = static_cast<adc1_channel_t>(ch); |
456 | 467 | adc1_config_width(ADC_WIDTH_BIT_12); |
457 | | - adc1_config_channel_atten(channel, ADC_ATTEN_DB_12); |
| 468 | + adc1_config_channel_atten(channel, M5_ADC_ATTEN_DB); |
458 | 469 | value = static_cast<uint16_t>(adc1_get_raw(channel)); |
459 | 470 | return m5::hal::error::error_t::OK; |
460 | 471 | #endif |
|
0 commit comments