85 if (!mtb_wm8960_activate()) {
86 LOGE(
"mtb_wm8960_activate");
90 LOGE(
"configure_clocking");
107 mtb_wm8960_deactivate();
132 size_t write(
const uint8_t* data,
size_t size)
override {
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);
183 cfg.
features = WM8960_FEATURE_HEADPHONE | WM8960_FEATURE_SPEAKER;
186 cfg.
features = WM8960_FEATURE_MICROPHONE1 | WM8960_FEATURE_HEADPHONE |
187 WM8960_FEATURE_SPEAKER;
200 if (!mtb_wm8960_configure_clocking(
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;
long map(long x, long in_min, long in_max, long out_min, long out_max)
Maps input to output values.
Definition Arduino.h:182
#define LOGW(...)
Definition AudioLoggerIDF.h:29
#define TRACEI()
Definition AudioLoggerIDF.h:32
#define TRACED()
Definition AudioLoggerIDF.h:31
#define LOGE(...)
Definition AudioLoggerIDF.h:30
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