First Publish. Works fine.

Dependents:   unzen_sample_lpcxpresso_4337_callbacks

Revision:
9:2da6ce640691
Parent:
8:63e098b779e9
Child:
10:45cbff9ee6e4
--- a/unzen.h	Sun May 08 02:15:29 2016 +0000
+++ b/unzen.h	Sun May 08 02:44:45 2016 +0000
@@ -198,207 +198,6 @@
         static void process_irq_handler();        
     };
 
-        // Sampling Frequency of the umb_adau1361
-    enum Fs_Type 
-    {
-        Fs_32, Fs_441, Fs_48, Fs_96
-    } ;
-
-
-/**
-* \brief abstract audio codec controller.
-* \details
-*   This class is template for all codec classes
-*/
-    class codec_class
-    {
-    public:
-            /**
-            * \brief constructor.
-            * \param controler Pass the I2C controler object.
-            * \param Fs Sampling frequency.
-            * \param Addr I2C device address. value range is from 0 to 127
-            * \details
-            *   initialize the internal variables.
-            */
-        codec_class( I2C * controler, Fs_Type Fs, unsigned int Addr );
-        
-            /**
-            * \brief Actual initializer. 
-            * \details
-            *   Initialize the codec itself and start the conversion process.
-            *   and configure for given parameter. 
-            *
-            *   Finally, set the input gain to 0dB.
-            */
-        virtual void start(void)=0;
-        
-            /**
-            * \brief Set the line input gain and enable the relevant mixer.
-            * \param left_gain Gain by dB. The gain value outside of the acceptable range will be saturated.
-            * \param right_gain Gain by dB. The gain value outside of the acceptable range will be saturated.
-            * \param mute set true to mute
-            */
-        virtual void set_line_input_gain(float left_gain, float right_gain, bool mute=false);
-            /**
-            * \brief Set the aux input gain and enable the relevant mixer.
-            * \param left_gain Gain by dB. The gain value outside of the acceptable range will be saturated.
-            * \param right_gain Gain by dB. The gain value outside of the acceptable range will be saturated.
-            * \param mute set true to mute
-            */
-        virtual void set_aux_input_gain(float left_gain, float right_gain, bool mute=false);
-            /**
-            * \brief Set the mic input gain and enable the relevant mixer.
-            * \param left_gain Gain by dB. The gain value outside of the acceptable range will be saturated.
-            * \param right_gain Gain by dB. The gain value outside of the acceptable range will be saturated.
-            * \param mute set true to mute
-            */
-        virtual void set_mic_input_gain(float left_gain, float right_gain, bool mute=false);
-            /**
-            * \brief Set the line output gain and enable the relevant mixer.
-            * \param left_gain Gain by dB. The gain value outside of the acceptable range will be saturated.
-            * \param right_gain Gain by dB. The gain value outside of the acceptable range will be saturated.
-            * \param mute set true to mute
-            */
-        virtual void set_line_output_gain(float left_gain, float right_gain, bool mute=false);
-            /**
-            * \brief Set the headphone output gain and enable the relevant mixer.
-            * \param left_gain Gain by dB. The gain value outside of the acceptable range will be saturated.
-            * \param right_gain Gain by dB. The gain value outside of the acceptable range will be saturated.
-            * \param mute set true to mute
-            */
-        virtual void set_hp_output_gain(float left_gain, float right_gain, bool mute=false);
-    protected:
-        I2C *i2c;
-        unsigned int addr;
-        Fs_Type fs;
-    };
-
-
-/**
-* \brief ADAU1361 audio codec controller.
-* \details
-*   This class sends a set of command to control an ADAU1361 codec.
-*   This class is template for all ADAU1361 based codec board.
-*/
-    class adau1361:public codec_class
-    {
-    public:
-            /**
-            * \brief constructor.
-            * \param controler Pass the I2C controler object.
-            * \param Fs Sampling frequency.
-            * \param Addr I2C device address. value range is from 0 to 127
-            * \details
-            *   initialize the internal variables.
-            */
-        adau1361( I2C * controler, Fs_Type Fs, unsigned int Addr ):
-            codec_class( controler, Fs, Addr ){};
-        virtual void start(void);
-            /**
-            * \brief Set the line input gain and enable the relevant mixer.
-            * \param left_gain Gain by dB. The gain value outside of the acceptable range will be saturated.
-            * \param right_gain Gain by dB. The gain value outside of the acceptable range will be saturated.
-            * \param mute set true to mute
-            */
-        virtual void set_line_input_gain(float left_gain, float right_gain, bool mute=false);
-            /**
-            * \brief Set the aux input gain and enable the relevant mixer.
-            * \param left_gain Gain by dB. The gain value outside of the acceptable range will be saturated.
-            * \param right_gain Gain by dB. The gain value outside of the acceptable range will be saturated.
-            * \param mute set true to mute
-            */
-        virtual void set_aux_input_gain(float left_gain, float right_gain, bool mute=false);
-            /**
-            * \brief Set the line output gain and enable the relevant mixer.
-            * \param left_gain Gain by dB. The gain value outside of the acceptable range will be saturated.
-            * \param right_gain Gain by dB. The gain value outside of the acceptable range will be saturated.
-            * \param mute set true to mute
-            */
-        virtual void set_line_output_gain(float left_gain, float right_gain, bool mute=false);
-            /**
-            * \brief Set the headphone output gain and enable the relevant mixer.
-            * \param left_gain Gain by dB. The gain value outside of the acceptable range will be saturated.
-            * \param right_gain Gain by dB. The gain value outside of the acceptable range will be saturated.
-            * \param mute set true to mute
-            */
-        virtual void set_hp_output_gain(float left_gain, float right_gain, bool mute=false);
-        
-    protected:
-        virtual void configure_pll(void)=0;
-        virtual void configure_board(void)=0;
-            /**
-            *  Service function for the ADAu1361 board implementer.
-            *
-            * \brief send one command to ADAU1361.
-            * \param command command data array. It have to have register addess of ADAU1361 in first two bytes. 
-            * \param size number of bytes in the command, including the regsiter address. 
-            * \details
-            *   Send one complete command to ADAU3161 by I2C.
-            */
-        virtual void send_command( const char command[], int size );
-            /**
-            * \brief send one command to ADAU1361.
-            * \param table command table. All commands are stored in one row. Each row has only 1 byte data after reg address.
-            * \param rows number of the rows in the table.
-            * \details
-            *   Service function for the ADAu1361 board implementer.
-            *
-            *   Send a list of command to ADAU1361. All commands has 3 bytes length. That mean, after two byte register
-            *   address, only 1 byte data payload is allowed. Commadns are sent by I2C
-            */
-        virtual void send_command_table( const char table[][3], int rows);
-        
-            /**
-            * \brief wait until PLL locks.
-            * \details
-            *   Service function for the ADAu1361 board implementer.
-            *
-            *   Read the PLL status and repeat it until the PLL locks. 
-            */
-        virtual void wait_pll_lock(void);
-    };
-
-/**
-* \brief UMB-ADAU1361-A audio codec board controller.
-* \details
-*   This class send a set of command to control an UMB-ADAU1361-A codec board.
-*
-*   The hardware desription is here. http://dsps.shop-pro.jp/?pid=82798273
-*/
-    class umb_adau1361a:public adau1361
-    {
-    public:
-            /**
-            * \brief constructor.
-            * \param controler Pass the I2C controler object.
-            * \param Fs Sampling frequency.
-            * \param Addr I2C device address. value range is from 0 to 127
-            * \details
-            *   initialize the internal variables.
-            */
-        umb_adau1361a( I2C * controler, Fs_Type Fs = unzen::Fs_48, unsigned int Addr=0x38 ):
-            adau1361( controler, Fs, Addr ){};
-    protected:
-            /**
-            * \brief configuration of the PLL for the desired Fs.
-            * \details
-            *   Configure the PLL based on the given Fs and hardware clock configuration. 
-            *   Fs is stored in fs member variable already. Hadrware clock have to be given
-            *   from the circuit designer. For the UMB-ADAU1361-A, the clock is external 
-            *   12MHz oscillator from the clock input. 
-            */
-        virtual void configure_pll(void);
-            /**
-            * \brief configuration of the the codec for UMB-ADAU1361-A
-            * \details
-            *   Configure Internal signal pass and parameters for UMB-ADAU1361.  
-            *   The all pass-through signals are shut off. All cross channel signals are shut off. 
-            *   Monoral output is disabled. 
-            */
-        virtual void configure_board(void);
-    };
-
 
 
 }