41 ES7210_ERROR_FAILED(this->
write_byte(ES7210_RESET_REG00, 0xff));
42 ES7210_ERROR_FAILED(this->
write_byte(ES7210_RESET_REG00, 0x32));
43 ES7210_ERROR_FAILED(this->
write_byte(ES7210_CLOCK_OFF_REG01, 0x3f));
46 ES7210_ERROR_FAILED(this->
write_byte(ES7210_TIME_CONTROL0_REG09, 0x30));
47 ES7210_ERROR_FAILED(this->
write_byte(ES7210_TIME_CONTROL1_REG0A, 0x30));
50 ES7210_ERROR_FAILED(this->
write_byte(ES7210_ADC12_HPF2_REG23, 0x2a));
51 ES7210_ERROR_FAILED(this->
write_byte(ES7210_ADC12_HPF1_REG22, 0x0a));
52 ES7210_ERROR_FAILED(this->
write_byte(ES7210_ADC34_HPF2_REG20, 0x0a));
53 ES7210_ERROR_FAILED(this->
write_byte(ES7210_ADC34_HPF1_REG21, 0x2a));
59 ES7210_ERROR_FAILED(this->
write_byte(ES7210_ANALOG_REG40, 0xC3));
62 ES7210_ERROR_FAILED(this->
write_byte(ES7210_MIC12_BIAS_REG41, 0x70));
63 ES7210_ERROR_FAILED(this->
write_byte(ES7210_MIC34_BIAS_REG42, 0x70));
71 ES7210_ERROR_FAILED(this->
write_byte(ES7210_MIC1_POWER_REG47, 0x08));
72 ES7210_ERROR_FAILED(this->
write_byte(ES7210_MIC2_POWER_REG48, 0x08));
73 ES7210_ERROR_FAILED(this->
write_byte(ES7210_MIC3_POWER_REG49, 0x08));
74 ES7210_ERROR_FAILED(this->
write_byte(ES7210_MIC4_POWER_REG4A, 0x08));
77 ES7210_ERROR_FAILED(this->
write_byte(ES7210_POWER_DOWN_REG06, 0x04));
80 ES7210_ERROR_FAILED(this->
write_byte(ES7210_MIC12_POWER_REG4B, 0x0F));
81 ES7210_ERROR_FAILED(this->
write_byte(ES7210_MIC34_POWER_REG4C, 0x0F));
84 ES7210_ERROR_FAILED(this->
write_byte(ES7210_RESET_REG00, 0x71));
85 ES7210_ERROR_FAILED(this->
write_byte(ES7210_RESET_REG00, 0x41));
102 for (
size_t i = 0; i < (
sizeof(ES7210_COEFFICIENTS) /
sizeof(ES7210_COEFFICIENTS[0])); ++i) {
103 if (ES7210_COEFFICIENTS[i].lrclk == this->
sample_rate_ && ES7210_COEFFICIENTS[i].mclk == mclk_fre)
104 coeff =
static_cast<int>(i);
110 ES7210_ERROR_CHECK(this->
read_byte(ES7210_MAINCLK_REG02, ®v));
112 regv |= ES7210_COEFFICIENTS[coeff].adc_div;
113 regv |= ES7210_COEFFICIENTS[coeff].doubler << 6;
114 regv |= ES7210_COEFFICIENTS[coeff].dll << 7;
116 ES7210_ERROR_CHECK(this->
write_byte(ES7210_MAINCLK_REG02, regv));
119 regv = ES7210_COEFFICIENTS[coeff].osr;
120 ES7210_ERROR_CHECK(this->
write_byte(ES7210_OSR_REG07, regv));
122 regv = ES7210_COEFFICIENTS[coeff].lrck_h;
123 ES7210_ERROR_CHECK(this->
write_byte(ES7210_LRCK_DIVH_REG04, regv));
124 regv = ES7210_COEFFICIENTS[coeff].lrck_l;
125 ES7210_ERROR_CHECK(this->
write_byte(ES7210_LRCK_DIVL_REG05, regv));
128 ESP_LOGE(TAG,
"Invalid sample rate");
137 for (uint8_t i = 0; i < 4; ++i) {
140 ES7210_ERROR_CHECK(this->
write_byte(ES7210_MIC12_POWER_REG4B, 0xff));
141 ES7210_ERROR_CHECK(this->
write_byte(ES7210_MIC34_POWER_REG4C, 0xff));
145 ES7210_ERROR_CHECK(this->
write_byte(ES7210_MIC12_POWER_REG4B, 0x00));
151 ES7210_ERROR_CHECK(this->
write_byte(ES7210_MIC12_POWER_REG4B, 0x00));
157 ES7210_ERROR_CHECK(this->
write_byte(ES7210_MIC34_POWER_REG4C, 0x00));
163 ES7210_ERROR_CHECK(this->
write_byte(ES7210_MIC34_POWER_REG4C, 0x00));