38 ES7210_ERROR_FAILED(this->
write_byte(ES7210_RESET_REG00, 0xff));
39 ES7210_ERROR_FAILED(this->
write_byte(ES7210_RESET_REG00, 0x32));
40 ES7210_ERROR_FAILED(this->
write_byte(ES7210_CLOCK_OFF_REG01, 0x3f));
43 ES7210_ERROR_FAILED(this->
write_byte(ES7210_TIME_CONTROL0_REG09, 0x30));
44 ES7210_ERROR_FAILED(this->
write_byte(ES7210_TIME_CONTROL1_REG0A, 0x30));
47 ES7210_ERROR_FAILED(this->
write_byte(ES7210_ADC12_HPF2_REG23, 0x2a));
48 ES7210_ERROR_FAILED(this->
write_byte(ES7210_ADC12_HPF1_REG22, 0x0a));
49 ES7210_ERROR_FAILED(this->
write_byte(ES7210_ADC34_HPF2_REG20, 0x0a));
50 ES7210_ERROR_FAILED(this->
write_byte(ES7210_ADC34_HPF1_REG21, 0x2a));
56 ES7210_ERROR_FAILED(this->
write_byte(ES7210_ANALOG_REG40, 0xC3));
59 ES7210_ERROR_FAILED(this->
write_byte(ES7210_MIC12_BIAS_REG41, 0x70));
60 ES7210_ERROR_FAILED(this->
write_byte(ES7210_MIC34_BIAS_REG42, 0x70));
68 ES7210_ERROR_FAILED(this->
write_byte(ES7210_MIC1_POWER_REG47, 0x08));
69 ES7210_ERROR_FAILED(this->
write_byte(ES7210_MIC2_POWER_REG48, 0x08));
70 ES7210_ERROR_FAILED(this->
write_byte(ES7210_MIC3_POWER_REG49, 0x08));
71 ES7210_ERROR_FAILED(this->
write_byte(ES7210_MIC4_POWER_REG4A, 0x08));
74 ES7210_ERROR_FAILED(this->
write_byte(ES7210_POWER_DOWN_REG06, 0x04));
77 ES7210_ERROR_FAILED(this->
write_byte(ES7210_MIC12_POWER_REG4B, 0x0F));
78 ES7210_ERROR_FAILED(this->
write_byte(ES7210_MIC34_POWER_REG4C, 0x0F));
81 ES7210_ERROR_FAILED(this->
write_byte(ES7210_RESET_REG00, 0x71));
82 ES7210_ERROR_FAILED(this->
write_byte(ES7210_RESET_REG00, 0x41));
109 for (
size_t i = 0; i < (
sizeof(ES7210_COEFFICIENTS) /
sizeof(ES7210_COEFFICIENTS[0])); ++i) {
110 if (ES7210_COEFFICIENTS[i].lrclk == this->
sample_rate_ && ES7210_COEFFICIENTS[i].mclk == mclk_fre)
111 coeff =
static_cast<int>(i);
117 ES7210_ERROR_CHECK(this->
read_byte(ES7210_MAINCLK_REG02, ®v));
119 regv |= ES7210_COEFFICIENTS[coeff].adc_div;
120 regv |= ES7210_COEFFICIENTS[coeff].doubler << 6;
121 regv |= ES7210_COEFFICIENTS[coeff].dll << 7;
123 ES7210_ERROR_CHECK(this->
write_byte(ES7210_MAINCLK_REG02, regv));
126 regv = ES7210_COEFFICIENTS[coeff].osr;
127 ES7210_ERROR_CHECK(this->
write_byte(ES7210_OSR_REG07, regv));
129 regv = ES7210_COEFFICIENTS[coeff].lrck_h;
130 ES7210_ERROR_CHECK(this->
write_byte(ES7210_LRCK_DIVH_REG04, regv));
131 regv = ES7210_COEFFICIENTS[coeff].lrck_l;
132 ES7210_ERROR_CHECK(this->
write_byte(ES7210_LRCK_DIVL_REG05, regv));
135 ESP_LOGE(TAG,
"Invalid sample rate");
143 for (uint8_t i = 0; i < 4; ++i) {
146 ES7210_ERROR_CHECK(this->
write_byte(ES7210_MIC12_POWER_REG4B, 0xff));
147 ES7210_ERROR_CHECK(this->
write_byte(ES7210_MIC34_POWER_REG4C, 0xff));
151 ES7210_ERROR_CHECK(this->
write_byte(ES7210_MIC12_POWER_REG4B, 0x00));
158 ES7210_ERROR_CHECK(this->
write_byte(ES7210_MIC12_POWER_REG4B, 0x00));
166 ES7210_ERROR_CHECK(this->
write_byte(ES7210_MIC34_POWER_REG4C, 0x00));
173 ES7210_ERROR_CHECK(this->
write_byte(ES7210_MIC34_POWER_REG4C, 0x00));