Mini Project 10: Displaying stuff from day 7

Dependencies:   DmTouch_UniGraphic UniGraphic mbed

Revision:
13:b3637adeaa2a
Parent:
9:0f4c86e7218a
Child:
14:682bdfcff46a
--- a/acceler_sensor.cpp	Tue Jan 17 20:55:08 2017 +0000
+++ b/acceler_sensor.cpp	Tue Jan 17 23:34:00 2017 +0000
@@ -1,10 +1,11 @@
 #include "acceler_sensor.h"
 DigitalOut led3(LED3);
+const int address = 0xA6;
 
 void configure_acceleration(void){
     
-    const int address = 0x53 << 1; // set 'address' to    
-    /*i2c_port.start();
+  // set 'address' to    
+    i2c_port.start();
     i2c_port.write(address);
     i2c_port.write(0x1D);   //to set the Tap Threshold
     i2c_port.write(0x50 << 2); 
@@ -52,7 +53,7 @@
     i2c_port.write(0x2F);//set interupt map
     i2c_port.write(0x20|0x40); 
     i2c_port.stop();
-    wait(0.01);             all the above should confige tap functions for accel sensor, so it's unneccesary*/ 
+    wait(0.01);             //all the above should confige tap functions for accel sensor, so it's unneccesary
 
     i2c_port.start();
     i2c_port.write(address);
@@ -60,29 +61,31 @@
     i2c_port.write(0x2D);//power control register
     i2c_port.write(0x08);//measure mode 
     i2c_port.stop();
-    wait(0.01);
 }
 
-void getacceleration (void){
-    /*const int address = 0x53 << 1;
+void getacceleration (float* data){
     char buffer[6];
+    char idontknow[1];
+    idontknow[0] = 0x32;
         int16_t rawdata[3];
-        i2c_port.write(address);
+        i2c_port.write(address,idontknow,1);
+        i2c_port.read(address,buffer,6);
+        /*i2c_port.write(address);
         i2c_port.write(0x80|0x40|0x32);
           for(int i=0; i<= 5; i++)
             {
-                buffer[i]=12c.write(0x00);
+                buffer[i]=i2c_port.write(0x00);
                 //pc.printf("x = %+1.2fg\t", buffer[i]);
-            }
-        cs=1;
+            }*/
         rawdata[0] = buffer[1]<<8 | buffer[0];
         rawdata[1] = buffer[3]<<8 | buffer[2];
         rawdata[2] = buffer[5]<<8 | buffer[4];
-        data[0] = rawdata[0]; 
-        data[1] = rawdata[1];
-        float x = data[0];
-        float y = data[1];
-        pc.printf("x = %+1.2fg\t y = %+1.2fg\n\r", rawdata[0],rawdata[1]); //Just grabbed from SPI code. Not formatted right
-        i2c_port.stop();
-    */    
+        data[0] = rawdata[0]*0.004; 
+        data[1] = rawdata[1]*0.004;
+        //float x = 0.004*data[0];
+        //float y = 0.004*data[1];
+        
+        pc.printf("x = %+1.2fg\t y = %+1.2fg\n\r", data[0],data[1]); //Just grabbed from SPI code. Not formatted right
+        
+    
     }
\ No newline at end of file