A data logger for the FRDM-K64F taking readings from the FXOS8700CQ accelerometer/magnometer at 200Hz.

Dependencies:   FXOS8700CQ SDFileSystem mbed

Fork of Hello_FXOS8700Q by Jim Carver

Files at this revision

API Documentation at this revision

Comitter:
JimCarver
Date:
Fri Apr 25 16:47:00 2014 +0000
Parent:
5:061ab9f2c002
Child:
7:169254b6eaf6
Commit message:
Version 2.0, this version uses the FXOS8700Q library which implements the MotionSensor virtual class

Changed in this revision

FXOS8700Q.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/FXOS8700Q.lib	Thu Apr 24 16:31:17 2014 +0000
+++ b/FXOS8700Q.lib	Fri Apr 25 16:47:00 2014 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/JimCarver/code/FXOS8700Q/#cdc362f08339
+http://mbed.org/users/JimCarver/code/FXOS8700Q/#c53dda05b8cf
--- a/main.cpp	Thu Apr 24 16:31:17 2014 +0000
+++ b/main.cpp	Fri Apr 25 16:47:00 2014 +0000
@@ -2,7 +2,8 @@
 #include "FXOS8700Q.h"
 
 
-//FXOS8700Q combo( A4, A5, FXOS8700CQ_SLAVE_ADDR0); // Proper Ports and I2C address for FReescale Multi Axis shield
+//FXOS8700Q acc( A4, A5, FXOS8700CQ_SLAVE_ADDR0); // Proper Ports and I2C address for Freescale Multi Axis shield
+//FXOS8700Q mag( A4, A5, FXOS8700CQ_SLAVE_ADDR0); // Proper Ports and I2C address for Freescale Multi Axis shield
 FXOS8700Q_acc acc( PTE25, PTE24, FXOS8700CQ_SLAVE_ADDR1); // Proper Ports and I2C Address for K64F Freedom board
 FXOS8700Q_mag mag( PTE25, PTE24, FXOS8700CQ_SLAVE_ADDR1); // Proper Ports and I2C Address for K64F Freedom board
 
@@ -14,51 +15,39 @@
 MotionSensorDataCounts mag_raw;
 MotionSensorDataCounts acc_raw;
 
-/*
-int main(void) {
-    MotionSensor sensor;
-
-    sensor.sampleRate(50);
-    sensor.enable();
-    while(1)
-    {
-        if(sensor.dataReady())
-        {
-            SensorDataUnits formatted_data;            
-            sensor.getAxis(&formatted_data);
-            printf(asdfadsf);
-        }
-        if(sensor.dataReady())
-        {
-            SensorDataCounts raw_data;            
-            sensor.getAxis(&raw_data);
-            printf(asdfasdf);
-        }
-        if(sensor.dataReady())
-        {
-            printf x(),y(),x());
-        }
-        if(sensor.dataReady())
-        {
-            printf(x(),y(),z());
-        }
-    }
-}
-
-*/
-
-
-
 
 int main() {
-
+float faX, faY, faZ;
+float fmX, fmY, fmZ;
+int16_t raX, raY, raZ;
+int16_t rmX, rmY, rmZ;
 acc.enable();
 printf("\r\n\nFXOS8700Q Who Am I= %X\r\n", acc.whoAmI());
     while (true) {
         acc.getAxis(acc_data);
         mag.getAxis(mag_data);
         printf("FXOS8700Q ACC: X=%1.4f Y=%1.4f Z=%1.4f  ", acc_data.x, acc_data.y, acc_data.z);
-        printf("    MAG: X=%4.1f Y=%4.1f Z=%4.1f\r\n\n", mag_data.x, mag_data.y, mag_data.z);
+        printf("    MAG: X=%4.1f Y=%4.1f Z=%4.1f\r\n", mag_data.x, mag_data.y, mag_data.z);
+        acc.getX(&faX);
+        acc.getY(&faY);
+        acc.getZ(&faZ);
+        mag.getX(&fmX);
+        mag.getY(&fmY);
+        mag.getZ(&fmZ);
+        printf("FXOS8700Q ACC: X=%1.4f Y=%1.4f Z=%1.4f  ", faX, faY, faZ);
+        printf("    MAG: X=%4.1f Y=%4.1f Z=%4.1f\r\n", fmX, fmY, fmZ);
+        acc.getAxis(acc_raw);
+        mag.getAxis(mag_raw);
+        printf("FXOS8700Q ACC: X=%d Y=%d Z=%d  ", acc_raw.x, acc_raw.y, acc_raw.z);
+        printf("    MAG: X=%d Y=%d Z=%d\r\n", mag_raw.x, mag_raw.y, mag_raw.z);
+        acc.getX(&raX);
+        acc.getY(&raY);
+        acc.getZ(&raZ);
+        mag.getX(&rmX);
+        mag.getY(&rmY);
+        mag.getZ(&rmZ);                
+        printf("FXOS8700Q ACC: X=%d Y=%d Z=%d  ", raX, raY, raZ);
+        printf("    MAG: X=%d Y=%d Z=%d\r\n\n", rmX, rmY, rmZ);    
         wait(1.0);
     }
 }
\ No newline at end of file