Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
PreampTDA7419.h
00001 /** TDA7419 PreAmp library, I2C 00002 * 00003 * @Author: Dan Cohen 00004 */ 00005 #ifndef DigoleSerialDisp_h 00006 #define DigoleSerialDisp_h 00007 00008 #include "mbed.h" 00009 #include <inttypes.h> 00010 00011 /////////////////////////// 00012 // Variables for TDA7419 // 00013 /////////////////////////// 00014 // I2C address for TDA7419 00015 #define TDA7419_ADDRESS 0x44 00016 00017 /** TDA7419 PreAmp library 00018 * 00019 * Includes the commands for volume, fader, subwoofer and tone controls 00020 * 00021 */ 00022 class PreampTDA7419 { 00023 public: 00024 00025 /** Create a new TDA7419 communication interface 00026 * 00027 * @param sda is the pin for I2C SDA 00028 * @param scl is the pin for I2C SCL 00029 */ 00030 PreampTDA7419(PinName sda, PinName scl); 00031 00032 /** Directly set the TDA7419 Master volume (0->11) 00033 * 00034 */ 00035 void setVolume (int volume); 00036 /** Read the the TDA7419 Master volume (0->11) 00037 * 00038 */ 00039 int readVolume (); 00040 /** Increase the current volume (if below 11) 00041 * 00042 */ 00043 int increaseVolume(); 00044 /** Decrease the current volume (if more than 0) 00045 * 00046 */ 00047 int decreaseVolume(); 00048 /** Select the input (1->4) 00049 * Stereo inputs are 1->3 00050 */ 00051 void setInput (int input); 00052 /** Read currently selected input 00053 * 00054 */ 00055 int readInput (); 00056 00057 /** Increase treble level (-5 -> 5) 00058 * 00059 */ 00060 int increaseTreble(); 00061 /** Decrease treble level (-5 -> 5) 00062 * 00063 */ 00064 int decreaseTreble(); 00065 /** Read currently set treble level 00066 * 00067 */ 00068 int readTreble (); 00069 00070 /** Increase middle level (-5 -> 5) 00071 * 00072 */ 00073 int increaseMiddle(); 00074 /** Decrease middle level (-5 -> 5) 00075 * 00076 */ 00077 int decreaseMiddle(); 00078 /** Read currently set middle level 00079 * 00080 */ 00081 int readMiddle (); 00082 00083 /** Increase Bass level (-5 -> 5) 00084 * 00085 */ 00086 int increaseBass(); 00087 /** Decrease bass level (-5 -> 5) 00088 * 00089 */ 00090 int decreaseBass(); 00091 /** Read currently set middle level 00092 * 00093 */ 00094 int readBass (); 00095 00096 /** Adjust the volume of each channel attenuator 00097 * 00098 * @param speakerNumber 00099 * 1 - left front, 00100 * 2 - right front, 00101 * 3 - back left, 00102 * 4 - back right, 00103 * 5 - subwoofer, 00104 * 6 - volume of mix channel 00105 */ 00106 int increaseSpeaker (int speakerNumber); 00107 /** Adjust the volume of each channel attenuator 00108 * 00109 * @param speakerNumber 00110 * 1 - left front, 00111 * 2 - right front, 00112 * 3 - back left, 00113 * 4 - back right, 00114 * 5 - subwoofer, 00115 * 6 - volume of mix channel 00116 */ 00117 int decreaseSpeaker (int speakerNumber); 00118 00119 /** Read the value that is currently set for each attenuator 00120 * @param speakerNumber match the increase and decrease parameter values 00121 */ 00122 int readSpeaker (int speakerNumber); 00123 00124 /** Enable the mix input (by default this mixes to the front two channels 00125 * @return The return is the state of the mix (1 = on, 0 = 0ff) after this call 00126 */ 00127 int toggleMix(); 00128 00129 /** Read if Mix is enabled or not 00130 * @return The return is the state of the mix (1 = on, 0 = 0ff) after this call 00131 */ 00132 int readMix(); 00133 00134 private: 00135 // Signals related to I2C communication 00136 I2C _device; 00137 00138 //////////////////////////////////// 00139 // register addresses for TDA7419 // 00140 //////////////////////////////////// 00141 int _volume; 00142 int _input; 00143 00144 int _mute; 00145 int _mix; 00146 00147 // for register 4 Treble Filter 00148 int _referenceInE; 00149 int _trebleCenterFreq; 00150 int _treble; 00151 00152 // for middle frequecy filter 00153 int _middleSoftStep; 00154 int _middleQ; 00155 int _middle; 00156 00157 // for bass frequecy filter 00158 int _bassSoftStep; 00159 int _bassQ; 00160 int _bass; 00161 00162 // for output attenuators 00163 int _atten_lf; 00164 int _atten_rf; 00165 int _atten_lr; 00166 int _atten_rr; 00167 int _atten_mix; 00168 int _atten_sub; 00169 00170 void writeToTDA7419 (int command, int value); 00171 void setAttenuationReg (int regAddr, int attenuation); 00172 int calcToneAttenuationReg(int attenuation); 00173 void updateTDA7419Reg(); 00174 00175 }; 00176 00177 #endif 00178 00179 00180 00181 00182 00183 00184 00185 00186 00187 00188 00189 00190 00191
Generated on Thu Jul 14 2022 04:32:30 by
1.7.2