First Publish. Works fine.

Dependents:   unzen_sample_LPC4088_quickstart

Revision:
5:1cbfb7a9cd0c
Parent:
4:d89a1e2b4b03
Child:
6:df928d55613b
--- a/unzen.cpp	Wed May 04 01:56:03 2016 +0000
+++ b/unzen.cpp	Thu May 05 07:46:52 2016 +0000
@@ -295,228 +295,6 @@
      
      
      
-    umb_adau1361::umb_adau1361( I2C * controler, Fs_Type Fs, Addr_Type Addr )
-    {
-        i2c = controler;
-        fs = Fs;
-        addr = Addr;
-    } 
-        
-        
-        #define DATA 2  /* data payload of register */
-        #define ADDL 1  /* lower address of register */
-    void umb_adau1361::start(void)
-    {
-        char data[8];
-        
-            // **** Setup all ADAU-1361 register to reset state ****
-        
-        data[0] = 0x40; // Upper address of register
-
-
-            // then, start of configuration as register address order
-        data[ADDL] = 0x00; data[DATA] = 0x0F; i2c->write( addr, data, 3 );   // clock CTL. PLL input. Core clock enable.
-        
-        // set Fs ( clock in is 12MHz )
-        if ( fs == Fs_441 ) 
-        {
-            data[ADDL] = 0x02;
-            data[2] = 0x02;
-            data[3] = 0x71;
-            data[4] = 0x01;
-            data[5] = 0xDD;
-            data[6] = 0x19;
-            data[7] = 0x01;
-            i2c->write( addr, data, 8 );
-        }
-        else if ( fs == Fs_48 || fs == Fs_96 || fs == Fs_32 )
-        {        
-            data[ADDL] = 0x02;
-            data[2] = 0x00;
-            data[3] = 0x7D;
-            data[4] = 0x00;
-            data[5] = 0x0C;
-            data[6] = 0x21;
-            data[7] = 0x01;
-            i2c->write( addr, data, 8 );
-        }
-            
-        // Additional clock setting for 96kHz
-        if ( fs == Fs_48 || fs == Fs_441)
-        {
-            data[ADDL] = 0x17; data[DATA] = 0x00; 
-            i2c->write( addr, data, 3 );   // R17:Converter control, CONVSR = 0
-        }
-        else if ( fs == Fs_96 )
-        {
-            data[ADDL] = 0x17; data[DATA] = 0x06; 
-            i2c->write( addr, data, 3 );   // R17:Converter control, CONVSR = 6
-        }
-        else if ( fs == Fs_32 )
-        {
-            data[ADDL] = 0x17; data[DATA] = 0x05; 
-            i2c->write( addr, data, 3 );   // R17:Converter control, CONVSR = 5
-        }
-            
-
-            // Initialize all register as reset.
-        for ( int i=0x08; i<0x17; i++ ) 
-            data[ADDL] = i; data[DATA] = 0x00; i2c->write( addr, data, 3 );    // R2:Dig Mic ... R18:Converter 1
-            
-        for ( int i=0x18; i<0x19; i++ ) 
-            data[ADDL] = i; data[DATA] = 0x00; i2c->write( addr, data, 3 );    // R2:Dig Mic ... R18:Converter 1
-
-        data[ADDL] = 0x19; data[DATA] = 0x20; i2c->write( addr, data, 3 );   // R19:ADC Control. HPF on
-
-        for ( int i=0x1A; i<0x23; i++ ) 
-            data[ADDL] = i; data[DATA] = 0x00; i2c->write( addr, data, 3 );    // R20:Left digital vol ... R28: play mixer mono
-        
-        for ( int i=0x23; i<0x28; i++ ) 
-            data[ADDL] = i; data[DATA] = 0x02; i2c->write( addr, data, 3 );    // R29:Play HP left vol  ... R33: play mono vol
-
-        for ( int i=0x28; i<0x2d; i++ ) 
-            data[ADDL] = i; data[DATA] = 0x00; i2c->write( addr, data, 3 );    // R34:play pop surpress ... R38: Dac ctl2
-
-        data[ADDL] = 0x2d; data[DATA] = 0xaa; i2c->write( addr, data, 3 );   // R39:serial control pad
-        data[ADDL] = 0x2f; data[DATA] = 0xaa; i2c->write( addr, data, 3 );   // R40:control pad 1
-        data[ADDL] = 0x30; data[DATA] = 0x00; i2c->write( addr, data, 3 );   // R41:control pad 2
-        data[ADDL] = 0x31; data[DATA] = 0x08; i2c->write( addr, data, 3 );   // R42:jack detect
-        data[ADDL] = 0x36; data[DATA] = 0x03; i2c->write( addr, data, 3 );   // R67:dejitter
-
-        // **** Configuration for UMB-ADAU1361 ****
-
-
-        // set Master ( set clock and WS as output )
-        data[ADDL] = 0x15; data[DATA] = 0x01; i2c->write( addr, data, 3 );   // R15:Serial Port control, MS = 6
-        
-            // Enable ADC
-            // both channel ADC ON, HPF on
-        data[ADDL] = 0x19; data[DATA] = 0x23; i2c->write( addr, data, 3 );    // R19:ADC Control
-        
-            // Playback Power Management
-        data[ADDL] = 0x29; data[DATA] = 0x3; i2c->write( addr, data, 3 );    // R35:Left/Right Playback Enable
-
-            // Enable DAC
-            // bot channel DAC ON
-        data[ADDL] = 0x2a; data[DATA] = 0x03; i2c->write( addr, data, 3 );    // R36:DAC Control
-
-            // Left DAC mixer
-            // L DAC to L Mixer
-        data[ADDL] = 0x1C; data[DATA] = 0x21; i2c->write( addr, data, 3 );    // R22:MIXER 3
-
-            // Right DAC mixer
-            // R DAC to R Mixer
-        data[ADDL] = 0x1E; data[DATA] = 0x41; i2c->write( addr, data, 3 );    // R24:MIXER 4
-
-            // Left out mixer
-            // L out  MIX5G3 and enable
-        data[ADDL] = 0x20; data[DATA] = 0x03; i2c->write( addr, data, 3 );    // R26:MIXER 5
-
-            // Right out mixer
-            // R out MIX6G4 and enable
-        data[ADDL] = 0x21; data[DATA] = 0x09; i2c->write( addr, data, 3 );    // R27:MIXER 6
-
-
-
-            // set input gain
-        set_line_input_gain( 0, 0 );        // unmute
-        set_line_output_gain( 0, 0, true ); // mute
-        set_hp_output_gain( 0, 0, true );   // mute
-    }
-    
-#define SET_INPUT_GAIN( x ) ((x<<1)|1)
-
-    void umb_adau1361::set_line_input_gain(float left_gain, float right_gain, bool mute)
-    {
-        char data[3];
-        int left, right;
-        
-        
-        data[0] = 0x40; // Upper address of register
-
-        if ( mute )
-        {
-            data[ADDL] = 0x0a; data[DATA] = 0x01; i2c->write( addr, data, 3 );    // R4: mixer 1 enable
-            data[ADDL] = 0x0c; data[DATA] = 0x01; i2c->write( addr, data, 3 );    // R6: mixer 2 enable 
-        }
-        else 
-        {
-            
-                // set left gain
-            left = (left_gain+15)/3 ;   // See table 31 LINNG
-            left = max( left, 0 );
-            left = min( left, 7 );
-            data[DATA] = SET_INPUT_GAIN( left );
-            
-            data[ADDL] = 0x0a; i2c->write( addr, data, 3 );    // R4: mixer 1 enable
-
-                // set right gain
-            right = (right_gain+15)/3 ;   // See table 31 LINNG
-            right = max( right, 0 );
-            right = min( right, 7 );
-            data[DATA] = SET_INPUT_GAIN( right );
-            
-            data[ADDL] = 0x0c; i2c->write( addr, data, 3 );    // R4: mixer 1 enable
-            
-        }
-    }
-
-        
-#define SET_LO_GAIN( x ) ((x<<2)|2)
-
-    void umb_adau1361::set_line_output_gain(float left_gain, float right_gain, bool mute)
-    {
-        char data[3];        
-        int left, right;
-        
-        if ( mute )
-        {
-            data[ADDL] = 0x25; data[DATA] = 0x01; i2c->write( addr, data, 3 );    // R31: LOUTVOL
-            data[ADDL] = 0x26; data[DATA] = 0x01; i2c->write( addr, data, 3 );    // R32: LOUTVOL 
-        }
-        else 
-        {
-            left = left_gain+57;
-            left = max( left, 0 );
-            left = min( left, 63 );
-                            
-            right = right_gain+57;
-            right = max( right, 0 );
-            right = min( right, 63 );
-            
-            data[ADDL] = 0x25; data[DATA] = SET_LO_GAIN(left ); i2c->write( addr, data, 3 );    // R31: LOUTVOL
-            data[ADDL] = 0x26; data[DATA] = SET_LO_GAIN(right); i2c->write( addr, data, 3 );    // R32: LOUTVOL 
-
-        }
-    }
-
-#define SET_HP_GAIN( x ) ((x<<2)|3)
-
-    void umb_adau1361::set_hp_output_gain(float left_gain, float right_gain, bool mute)
-    {
-        char data[3];        
-        int left, right;
-        
-        if ( mute )
-        {
-            data[ADDL] = 0x23; data[DATA] = 0x01; i2c->write( addr, data, 3 );    // R29: LHPVOL
-            data[ADDL] = 0x24; data[DATA] = 0x01; i2c->write( addr, data, 3 );    // R30: LHPVOL 
-        }
-        else 
-        {
-            left = left_gain+57;
-            left = max( left, 0 );
-            left = min( left, 63 );
-                            
-            right = right_gain+57;
-            right = max( right, 0 );
-            right = min( right, 63 );
-            
-            data[ADDL] = 0x23; data[DATA] = SET_HP_GAIN(left ); i2c->write( addr, data, 3 );    // R29: LHPVOL
-            data[ADDL] = 0x24; data[DATA] = SET_HP_GAIN(right); i2c->write( addr, data, 3 );    // R30: LHPVOL
-
-        }
-    }
-
+ 
 }
     
\ No newline at end of file