College Project

Dependencies:   mbed MPU9250_SPI_Test MPU9250-XCLIN

Revision:
0:58f9d4556df7
Child:
1:7497c7952470
diff -r 000000000000 -r 58f9d4556df7 main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Jun 25 15:43:17 2014 +0000
@@ -0,0 +1,39 @@
+#include "mbed.h"
+#include "MPU9250.h"        //Include library
+ 
+DigitalOut myled(LED1);
+Serial pc(SERIAL_TX, SERIAL_RX);
+SPI spi(SPI_MOSI, SPI_MISO, SPI_SCK);
+mpu9250_spi imu(spi,SPI_CS);   //define the mpu9250 object
+int main(){
+    pc.baud(115200);
+    if(imu.init(1,BITS_DLPF_CFG_5HZ)){  //INIT the mpu9250
+        printf("\nCouldn't initialize MPU6000 via SPI!");
+    }    
+    wait(0.1);    
+    printf("\n\nWHOAMI=%u\n",imu.whoami()); //output the I2C address to know if SPI is working, it should be 104
+    wait(0.1);    
+    printf("\nGyro_scale=%u\n",imu.set_gyro_scale(BITS_FS_2000DPS));    //Set full scale range for gyros
+    wait(1);  
+    printf("\nAcc_scale=%u\n",imu.set_acc_scale(BITS_FS_16G));          //Set full scale range for accs
+    wait(0.1);    
+    while(1) {
+        //myled = 1;
+        wait(0.1);
+        imu.read_temp();
+        imu.read_acc();
+        imu.read_rot();
+        printf("%.3f,%.3f,%.3f,%.3f,%.3f,%.3f,%.3f\n", 
+            imu.Temperature,
+            imu.gyroscope_data[0],
+            imu.gyroscope_data[1],
+            imu.gyroscope_data[2],
+            imu.accelerometer_data[0],
+            imu.accelerometer_data[1],
+            imu.accelerometer_data[2]);
+        //myled = 0;
+        //wait(0.5);
+ 
+    }
+}
+ 
\ No newline at end of file