TLV320_RBSP class, defined on the I2C master bus.
Dependents: MovPlayer GR-PEACH_Audio_Playback_Sample GR-PEACH_Audio_Playback_7InchLCD_Sample RGA-MJPEG_VideoDemo ... more
Fork of TLV320_RBSP by
Diff: TLV320_RBSP.cpp
- Revision:
- 4:15487e571d9f
- Parent:
- 2:b1fab4a2b59d
--- a/TLV320_RBSP.cpp Tue Aug 18 04:34:26 2015 +0000 +++ b/TLV320_RBSP.cpp Wed Oct 21 06:58:35 2015 +0000 @@ -29,7 +29,7 @@ #undef MCLK_11_2896MHZ TLV320_RBSP::TLV320_RBSP(PinName cs, PinName sda, PinName scl, PinName sck, PinName ws, PinName tx, PinName rx, uint8_t int_level, int32_t max_write_num, int32_t max_read_num) - : mI2c_(sda, scl), mI2s_(sck, ws, tx, rx, int_level, max_write_num, max_read_num), audio_cs_(cs) { + : audio_cs_(cs), mI2c_(sda, scl), mI2s_(sck, ws, tx, rx, int_level, max_write_num, max_read_num) { audio_cs_ = 0; mAddr = 0x34; audio_path_control = 0; @@ -139,6 +139,22 @@ mI2c_.write(mAddr, cmd, 2); } +void TLV320_RBSP::micVolume(bool mute, bool boost) { + cmd[0] = ANALOG_AUDIO_PATH_CONTROL; + if (mute != false) { + audio_path_control |= (1 << 1); // MICM Muted + } else { + audio_path_control &= ~(1 << 1); // MICM Normal + } + if (boost != false) { + audio_path_control |= (1 << 0); // MICB 20dB + } else { + audio_path_control &= ~(1 << 0); // MICB 0dB + } + cmd[1] = audio_path_control; + mI2c_.write(mAddr, cmd, 2); +} + void TLV320_RBSP::mute(bool softMute) { cmd[0] = DIGITAL_AUDIO_PATH_CONTROL; if (softMute != false) {