I am attempting to use an ADC1 channel as an audio input via the I2S system. I have it working, however I cannot seem to set the gain on the channel to anything other than 11dB (ADC_ATTEN_DB_11). I would like to set it to ADC_ATTEN_DB_6 to better match the input signal range.
I am using IDF v4.4.2. I looked at the source code and I think the way the IDF works is as follows after I call "i2s_adc_enable" to enable sampling on the input (the I2S driver has been initialized).
1. i2s_adc_enable (in i2s.c) calls "_i2s_adc_mode_recover()"
2. _i2s_adc_mode_recover (in i2s.c) calls "adc_i2s_mode_init()"
3. adc_i2s_mode_init (in adc_deprecated.c) sets the ADC channel attenuation to DIG_ADC_ATTEN_DEFUALT (which is ADC_ATTEN_DB_11).
I thought calling adc1_config_channel_atten() after calling i2s_adc_enable() with ADC_ATTEN_DB_6 would correctly set the ADC attenuation but it does not seem to work. Does anyone know why this doesn't work or how I should do this?
As a workaround my system works if I change the constant DIG_ADC_ATTEN_DEFUALT in adc_deprecated.c to ADC_ATTEN_DB_6. However I'd rather not have to go modifying the IDF to make this program work.
How to set ADC1 channel gain when using with I2S?
Jump to
- English Forum
- Explore
- News
- General Discussion
- FAQ
- Documentation
- Documentation
- Sample Code
- Discussion Forum
- ESP32-S31
- Hardware
- ESP-IDF
- ESP-BOX
- ESP-ADF
- ESP-MDF
- ESP-WHO
- ESP-SkaiNet
- ESP32 Arduino
- IDEs for ESP-IDF
- ESP-AT
- ESP IoT Solution
- ESP RainMaker
- Rust
- ESP8266
- Report Bugs
- Showcase
- Chinese Forum 中文社区
- 活动区
- 乐鑫活动专区
- 讨论区
- ESP32-S31 中文讨论版
- 喵伴 中文讨论版
- ESP-IDF 中文讨论版
- 《ESP32-C3 物联网工程开发实战》书籍讨论版
- 中文文档讨论版
- ESP-AT 中文讨论版
- ESP-BOX 中文讨论版
- ESP IoT Solution 中文讨论版
- ESP-ADF 中文讨论版
- ESP Mesh 中文讨论版
- ESP Cloud 中文讨论版
- ESP-WHO 中文讨论版
- ESP-SkaiNet 中文讨论版
- ESP 生产支持讨论版
- 硬件问题讨论
- 项目展示
Who is online
Users browsing this forum: Semrush [Bot] and 18 guests
- All times are UTC
- Top
- Delete cookies
About Us
Espressif Systems is a fabless semiconductor company providing cutting-edge low power WiFi SoCs and wireless solutions for wireless communications and Internet of Things applications. ESP8266EX and ESP32 are some of our products.
Information
Espressif ESP32 ... Available now!