85 if (!mtb_wm8960_activate()) {
86 LOGE(
"mtb_wm8960_activate");
90 LOGE(
"configure_clocking");
107 mtb_wm8960_deactivate();
129 return i2s.readBytes(data, size);
132 size_t write(
const uint8_t* data,
size_t size)
override {
133 return i2s.write(data, size);
146 }
else if (vol < 0.0f) {
153 mtb_wm8960_adjust_input_volume(vol_int);
160 }
else if (vol < 0.0f) {
168 mtb_wm8960_set_output_volume(vol_int);
172 mtb_wm8960_set_write_retry_count(
cfg.i2c_retry_count);
174 mtb_wm8960_set_wire(
cfg.wire);
177 if (
cfg.features == -1) {
180 cfg.features = WM8960_FEATURE_MICROPHONE1;
183 cfg.features = WM8960_FEATURE_HEADPHONE | WM8960_FEATURE_SPEAKER;
186 cfg.features = WM8960_FEATURE_MICROPHONE1 | WM8960_FEATURE_HEADPHONE |
187 WM8960_FEATURE_SPEAKER;
190 LOGW(
"Setup features: %d",
cfg.features);
192 return mtb_wm8960_init(
cfg.features);
196 if (
cfg.vs1053_mclk_hz == 0) {
198 cfg.vs1053_mclk_hz = 512 *
cfg.sample_rate;
200 if (!mtb_wm8960_configure_clocking(
201 cfg.vs1053_mclk_hz,
cfg.vs1053_enable_pll,
204 LOGE(
"mtb_wm8960_configure_clocking");
213 return WM8960_ADC_DAC_SAMPLE_RATE_48_KHZ;
215 return WM8960_ADC_DAC_SAMPLE_RATE_44_1_KHZ;
217 return WM8960_ADC_DAC_SAMPLE_RATE_32_KHZ;
219 return WM8960_ADC_DAC_SAMPLE_RATE_24_KHZ;
221 return WM8960_ADC_DAC_SAMPLE_RATE_22_05_KHZ;
223 return WM8960_ADC_DAC_SAMPLE_RATE_16_KHZ;
225 return WM8960_ADC_DAC_SAMPLE_RATE_12_KHZ;
227 return WM8960_ADC_DAC_SAMPLE_RATE_11_025_KHZ;
229 return WM8960_ADC_DAC_SAMPLE_RATE_8_018_KHZ;
231 return WM8960_ADC_DAC_SAMPLE_RATE_8_KHZ;
233 LOGE(
"Unsupported rate: %d", rate);
234 return WM8960_ADC_DAC_SAMPLE_RATE_44_1_KHZ;
241 return WM8960_WL_16BITS;
243 return WM8960_WL_20BITS;
245 return WM8960_WL_24BITS;
247 return WM8960_WL_32BITS;
249 LOGE(
"Unsupported bits: %d", bits);
250 return WM8960_WL_16BITS;
256 return microcontroller_is_master ? WM8960_MODE_SLAVE : WM8960_MODE_MASTER;
RxTxMode
The Microcontroller is the Audio Source (TX_MODE) or Audio Sink (RX_MODE). RXTX_MODE is Source and Si...
Definition AudioTypes.h:26
@ RXTX_MODE
Definition AudioTypes.h:26
@ TX_MODE
Definition AudioTypes.h:26
@ RX_MODE
Definition AudioTypes.h:26