This library controls a ST TDA7419 audio control IC. This is part of a project to implement an mbed controlled car stereo. The TDA7419 will take in stereo and output four channels of audio plus a subwoofer channel.

Dependents:   car_stereo

Revision:
1:69c37f1ab7df
Parent:
0:86ea14016b10
Child:
2:34a58356394c
--- a/PreampTDA7419.h	Sun Oct 19 04:30:22 2014 +0000
+++ b/PreampTDA7419.h	Mon Oct 20 05:54:52 2014 +0000
@@ -7,8 +7,8 @@
  
 #include "mbed.h"
 #include <inttypes.h>
- 
- ///////////////////////////
+
+///////////////////////////
 // Variables for TDA7419 // 
 ///////////////////////////
 // I2C address for TDA7419
@@ -44,12 +44,64 @@
      * 
      */
     void initialize();
-    int i2c_write(char command, char value);
-  
+    int i2c_write(int command, int value);
+    
+     /** Set up the TDA7419 to default values that will allow audio to pass through the device
+     * 
+     */
+    void setVolume  (int volume);
+    int  readVolume ();
+    int  increaseVolume();
+    int  decreaseVolume();
+    void setInput   (int input);
+    int  readInput  ();
+
+    int  increaseTreble();
+    int  decreaseTreble();
+    int  readTreble    ();
+
 private:
+    // Signals related to I2C communication
     I2C _device;
     uint8_t _address;
     uint8_t _Comdelay;
+    
+    ////////////////////////////////////
+    // register addresses for TDA7419 //
+    ////////////////////////////////////
+    int _volume;
+    int _input;
+
+    int _mute;
+    int _mix;
+
+    // for register 4 Treble Filter
+    int  _referenceInE;
+    int  _trebleCenterFreq;
+    int  _treble;
+
+    // for middle frequecy filter
+    int  _middleSoftStep;
+    int  _middleQ;
+    int  _middle;
+
+    // for bass frequecy filter
+    int  _bassSoftStep;
+    int  _bassQ;
+    int  _bass;
+
+    // for output attenuators
+    int _atten_lf;
+    int _atten_rf;
+    int _atten_lr;
+    int _atten_rr;
+    int _atten_mix;
+    int _atten_sub;
+
+    void writeToTDA7419     (int address, int value);
+    int  calcAttenuationReg (int attenuation);
+    int  calcToneAttenuationReg(int attenuation);
+    void updateTDA7419Reg();
 
 };