MCPcopy Create free account
hub / github.com/BruceDevices/firmware / _setup_codec_mic

Function _setup_codec_mic

boards/m5stack-cardputer/interface.cpp:492–522  ·  view source on GitHub ↗

** Function: _setup_codec_mic ** location: modules/others/mic.cpp ** Handles audio CODEC to enable/disable microphone **********************************************************************/

Source from the content-addressed store, hash-verified

490** Handles audio CODEC to enable/disable microphone
491**********************************************************************/
492void _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}

Callers

nothing calls this directly

Calls 1

i2c_bulk_writeFunction · 0.85

Tested by

no test coverage detected