Tisham Dhar / Mbed OS Hexi_GPSIMU_Hotshoe

Dependencies:   FXOS8700CQ FXAS21000 MBed_Adafruit-GPS-Library Hexi_OLED_SSD1351 Hexi_KW40Z Madgwick

Fork of Hexi_Blinky_Example by Hexiwear

Files at this revision

API Documentation at this revision

Comitter:
whatnick
Date:
Sat Aug 13 23:08:18 2016 +0000
Parent:
13:e702b6efb480
Child:
15:b5a3e22d706b
Commit message:
Read hexiwear ACC-MAG

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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/FXOS8700Q.lib	Sat Aug 13 23:08:18 2016 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/JimCarver/code/FXOS8700Q/#5553a64d0762
--- a/main.cpp	Fri Aug 12 18:36:42 2016 +0000
+++ b/main.cpp	Sat Aug 13 23:08:18 2016 +0000
@@ -1,12 +1,50 @@
 #include "mbed.h"
+#include "FXOS8700Q.h"
+
+DigitalOut myled(LED3);
+Serial gps(PTD3,PTD2);
+Serial pc(USBTX, USBRX);
 
-DigitalOut myled(LED1);
+FXOS8700Q_acc acc( PTC11, PTC10, FXOS8700CQ_SLAVE_ADDR0); // Proper Ports and I2C Address for Hexiwear
+FXOS8700Q_mag mag( PTC11, PTC10, FXOS8700CQ_SLAVE_ADDR0); // Proper Ports and I2C Address for Hexiwear
+MotionSensorDataUnits mag_data;
+MotionSensorDataUnits acc_data;
+
+MotionSensorDataCounts mag_raw;
+MotionSensorDataCounts acc_raw;
 
 int main() {
-    while(1) {
-        myled = 1;
-        wait(0.2);
-        myled = 0;
-        wait(0.2);
+float faX, faY, faZ;
+float fmX, fmY, fmZ;
+int16_t raX, raY, raZ;
+int16_t rmX, rmY, rmZ;
+acc.enable();
+pc.printf("\r\n\nFXOS8700Q Who Am I= %X\r\n", acc.whoAmI());
+    while (true) {
+        acc.getAxis(acc_data);
+        mag.getAxis(mag_data);
+        pc.printf("FXOS8700Q ACC: X=%1.4f Y=%1.4f Z=%1.4f  ", acc_data.x, acc_data.y, acc_data.z);
+        pc.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);
+        pc.printf("FXOS8700Q ACC: X=%1.4f Y=%1.4f Z=%1.4f  ", faX, faY, faZ);
+        pc.printf("    MAG: X=%4.1f Y=%4.1f Z=%4.1f\r\n", fmX, fmY, fmZ);
+        acc.getAxis(acc_raw);
+        mag.getAxis(mag_raw);
+        pc.printf("FXOS8700Q ACC: X=%d Y=%d Z=%d  ", acc_raw.x, acc_raw.y, acc_raw.z);
+        pc.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);                
+        pc.printf("FXOS8700Q ACC: X=%d Y=%d Z=%d  ", raX, raY, raZ);
+        pc.printf("    MAG: X=%d Y=%d Z=%d\r\n\n", rmX, rmY, rmZ);    
+        wait(1.0);
     }
 }