old demo that i want to try in mbed studio

Dependencies:   mbed SDFileSystem_Copy_of_mbed_version I2S

Revision:
0:e89d7a0bfa3b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wm8731_Config_setup.cpp	Sat Feb 16 17:19:43 2019 +0000
@@ -0,0 +1,144 @@
+#include "WOLFSON_config_consts.h"
+#include "mbed.h"
+I2C i2c(p9, p10);
+
+void wm8731_Config_setup(void)
+{
+    i2c.frequency(100000);
+    int addr = WM8731_REG_RESET;
+    int cmd = _WM8731_RESET;
+    addr = addr << 1;
+    addr = addr|((cmd >> 8 ))& 0x01;//mess around with order of operations
+    cmd = cmd&0xFF;
+    i2c.start();
+    i2c.write( WM8731_ADDRESS );
+    i2c.write( addr  );
+    i2c.write( cmd );
+    i2c.stop();
+
+    addr = WM8731_REG_LLINE_IN;
+    cmd = _WM8731_LEFT_LINEIN;
+    addr = addr << 1;
+    addr = addr|((cmd >> 8 )) & 0x01;
+    cmd = cmd&0xFF;
+    i2c.start();
+    i2c.write( WM8731_ADDRESS );//take Fergus' suggestion and declare these to known values EARLIER in program
+    i2c.write( addr );
+    i2c.write( cmd );
+    i2c.stop();
+    
+    
+    addr = WM8731_REG_RLINE_IN;
+    cmd = _WM8731_RIGHT_LINEIN;
+    addr = addr << 1;
+    addr = addr|((cmd >> 8 )) & 0x01;
+    cmd = cmd&0xFF;
+    i2c.start();
+    i2c.write( WM8731_ADDRESS );//take Fergus' suggestion and declare these to known values EARLIER in program
+    i2c.write( addr );
+    i2c.write( cmd );
+    i2c.stop();
+    
+       
+    //4
+    addr = WM8731_REG_LHPHONE_OUT;
+    cmd = _WM8731_LEFT_HP;
+    addr = addr << 1;
+    addr = addr|((cmd >> 8 )) & 0x01;
+    cmd = cmd&0xFF;
+    i2c.start();
+    i2c.write( WM8731_ADDRESS );
+    i2c.write( addr );//WM8731_REG_LHPHONE_OUT, _WM8731_LEFT_HP   
+    i2c.write(cmd);   
+    i2c.stop();
+      
+    //5
+    addr = WM8731_REG_RHPHONE_OUT;
+    cmd = _WM8731_RIGHT_HP;
+    addr = addr << 1;
+    addr = addr|((cmd >> 8 )) & 0x01;
+    cmd = cmd&0xFF;
+    i2c.start();
+    i2c.write( WM8731_ADDRESS );//WM8731_REG_RHPHONE_OUT, _WM8731_RIGHT_HP 
+    i2c.write( addr );
+    i2c.write( cmd );
+    i2c.stop();
+  
+    
+    //6
+    addr = WM8731_REG_ANALOG_PATH;
+    cmd = _WM8731_ANALOGAUDIO;
+    addr = addr << 1;
+    addr = addr|((cmd >> 8 )) & 0x01;
+    cmd = cmd&0xFF;
+    i2c.start();
+    i2c.write( WM8731_ADDRESS );//WM8731_REG_ANALOG_PATH, _WM8731_ANALOGAUDIO
+    i2c.write( addr );
+    i2c.write( cmd );
+    i2c.stop();
+    
+    //7
+    addr = WM8731_REG_DIGITAL_PATH;
+    cmd = _WM8731_DIGITALAUDIO;
+    addr = addr << 1;
+    addr = addr|((cmd >> 8 )) & 0x01;
+    cmd = cmd&0xFF;
+    i2c.start();
+    i2c.write( WM8731_ADDRESS );//WM8731_REG_DIGITAL_PATH, _WM8731_DIGITALAUDIO
+    i2c.write( addr  );
+    i2c.write( cmd );
+    i2c.stop();
+    
+    //8
+    addr = WM8731_REG_PDOWN_CTRL;
+    cmd = _WM8731_POWER;
+    addr = addr << 1;
+    addr = addr|((cmd >> 8 )) & 0x01;
+    cmd = cmd&0xFF;
+    i2c.start();
+    i2c.write( WM8731_ADDRESS );//WM8731_REG_PDOWN_CTRL, _WM8731_POWER)
+    i2c.write( addr  );
+    i2c.write( cmd );
+    i2c.stop();
+    
+    
+    //9
+    addr = WM8731_REG_DIGITAL_IF;
+    cmd = _WM8731_DAIF;
+    addr = addr << 1;
+    addr = addr|((cmd >> 8 )) & 0x01;
+    cmd = cmd&0xFF;
+    i2c.start();
+    i2c.write( WM8731_ADDRESS );
+    i2c.write( addr  );//WM8731_REG_DIGITAL_IF, _WM8731_DAIF
+    i2c.write( cmd );
+    i2c.stop();
+
+   
+    //10
+    addr = WM8731_REG_SAMPLING_CTRL;
+    cmd = _WM8731_SAMPLING;
+    addr = addr << 1;
+    addr = addr|((cmd >> 8 )) & 0x01;
+    cmd = cmd&0xFF;
+    i2c.start();
+    i2c.write( WM8731_ADDRESS );//WM8731_REG_SAMPLING_CTRL, _WM8731_SAMPLING
+    i2c.write( addr  );
+    i2c.write( cmd );
+    i2c.stop();
+    
+    
+   
+    
+    //11
+    addr = WM8731_REG_ACTIVE_CTRL;
+    cmd = _WM8731_ACTIVATE;
+    addr = addr << 1;
+    addr = addr|((cmd >> 8 )) & 0x01;
+    cmd = cmd&0xFF;    
+    i2c.start();
+    i2c.write( WM8731_ADDRESS );//WM8731_REG_SAMPLING_CTRL, _WM8731_SAMPLING
+    i2c.write( addr  );
+    i2c.write( cmd );//there is also a deactive version!!
+    i2c.stop(); 
+}
\ No newline at end of file