** Function: _setup_codec_mic ** location: modules/others/mic.cpp ** Handles audio CODEC to enable/disable microphone **********************************************************************/
| 490 | ** Handles audio CODEC to enable/disable microphone |
| 491 | **********************************************************************/ |
| 492 | void _setup_codec_mic(bool enable) { |
| 493 | if (!UseTCA8418) return; |
| 494 | // Set microfone pin for ADV |
| 495 | mic_bclk_pin = (gpio_num_t)41; |
| 496 | |
| 497 | static constexpr const uint8_t enabled_bulk_data[] = { |
| 498 | 2, 0x00, 0x80, // 0x00 RESET/ CSM POWER ON |
| 499 | 2, 0x01, 0xBA, // 0x01 CLOCK_MANAGER/ MCLK=BCLK |
| 500 | 2, 0x02, 0x18, // 0x02 CLOCK_MANAGER/ MULT_PRE=3 |
| 501 | 2, 0x0D, 0x01, // 0x0D SYSTEM/ Power up analog circuitry |
| 502 | 2, 0x0E, 0x02, // 0x0E SYSTEM/ : Enable analog PGA, enable ADC modulator |
| 503 | 2, 0x14, 0x10, // ES8311_ADC_REG14 : select Mic1p-Mic1n / PGA GAIN (minimum) |
| 504 | 2, 0x17, 0xBF, // ES8311_ADC_REG17 : ADC_VOLUME 0xBF == ± 0 dB |
| 505 | 2, 0x1C, 0x6A, // ES8311_ADC_REG1C : ADC Equalizer bypass, cancel DC offset in digital domain |
| 506 | 0 |
| 507 | }; |
| 508 | static constexpr const uint8_t disabled_bulk_data[] = { |
| 509 | 2, |
| 510 | 0x0D, |
| 511 | 0xFC, // 0x0D SYSTEM/ Power down analog circuitry |
| 512 | 2, |
| 513 | 0x0E, |
| 514 | 0x6A, // 0x0E SYSTEM |
| 515 | 2, |
| 516 | 0x00, |
| 517 | 0x00, // 0x00 RESET/ CSM POWER DOWN |
| 518 | 0 |
| 519 | }; |
| 520 | |
| 521 | i2c_bulk_write(&Wire1, ES8311_ADDR, enable ? enabled_bulk_data : disabled_bulk_data); |
| 522 | } |
nothing calls this directly
no test coverage detected