Example program for FXOS8700Q sensor

Dependencies:   FXOS8700Q mbed

Fork of Hello_FXOS8700Q by Freescale

Committer:
JimCarver
Date:
Fri Apr 25 16:47:00 2014 +0000
Revision:
6:02bfeec82bc1
Parent:
5:061ab9f2c002
Child:
7:518e61df67d7
Version 2.0, this version uses the FXOS8700Q library which implements the MotionSensor virtual class

Who changed what in which revision?

UserRevisionLine numberNew contents of line
JimCarver 0:748fe54f0947 1 #include "mbed.h"
JimCarver 0:748fe54f0947 2 #include "FXOS8700Q.h"
JimCarver 0:748fe54f0947 3
JimCarver 4:4b494ca218ff 4
JimCarver 6:02bfeec82bc1 5 //FXOS8700Q acc( A4, A5, FXOS8700CQ_SLAVE_ADDR0); // Proper Ports and I2C address for Freescale Multi Axis shield
JimCarver 6:02bfeec82bc1 6 //FXOS8700Q mag( A4, A5, FXOS8700CQ_SLAVE_ADDR0); // Proper Ports and I2C address for Freescale Multi Axis shield
JimCarver 4:4b494ca218ff 7 FXOS8700Q_acc acc( PTE25, PTE24, FXOS8700CQ_SLAVE_ADDR1); // Proper Ports and I2C Address for K64F Freedom board
JimCarver 4:4b494ca218ff 8 FXOS8700Q_mag mag( PTE25, PTE24, FXOS8700CQ_SLAVE_ADDR1); // Proper Ports and I2C Address for K64F Freedom board
JimCarver 4:4b494ca218ff 9
JimCarver 0:748fe54f0947 10 Serial pc(USBTX, USBRX);
JimCarver 0:748fe54f0947 11
JimCarver 5:061ab9f2c002 12 MotionSensorDataUnits mag_data;
JimCarver 5:061ab9f2c002 13 MotionSensorDataUnits acc_data;
JimCarver 5:061ab9f2c002 14
JimCarver 5:061ab9f2c002 15 MotionSensorDataCounts mag_raw;
JimCarver 5:061ab9f2c002 16 MotionSensorDataCounts acc_raw;
JimCarver 4:4b494ca218ff 17
JimCarver 0:748fe54f0947 18
JimCarver 0:748fe54f0947 19 int main() {
JimCarver 6:02bfeec82bc1 20 float faX, faY, faZ;
JimCarver 6:02bfeec82bc1 21 float fmX, fmY, fmZ;
JimCarver 6:02bfeec82bc1 22 int16_t raX, raY, raZ;
JimCarver 6:02bfeec82bc1 23 int16_t rmX, rmY, rmZ;
JimCarver 5:061ab9f2c002 24 acc.enable();
JimCarver 5:061ab9f2c002 25 printf("\r\n\nFXOS8700Q Who Am I= %X\r\n", acc.whoAmI());
JimCarver 0:748fe54f0947 26 while (true) {
JimCarver 5:061ab9f2c002 27 acc.getAxis(acc_data);
JimCarver 5:061ab9f2c002 28 mag.getAxis(mag_data);
JimCarver 5:061ab9f2c002 29 printf("FXOS8700Q ACC: X=%1.4f Y=%1.4f Z=%1.4f ", acc_data.x, acc_data.y, acc_data.z);
JimCarver 6:02bfeec82bc1 30 printf(" MAG: X=%4.1f Y=%4.1f Z=%4.1f\r\n", mag_data.x, mag_data.y, mag_data.z);
JimCarver 6:02bfeec82bc1 31 acc.getX(&faX);
JimCarver 6:02bfeec82bc1 32 acc.getY(&faY);
JimCarver 6:02bfeec82bc1 33 acc.getZ(&faZ);
JimCarver 6:02bfeec82bc1 34 mag.getX(&fmX);
JimCarver 6:02bfeec82bc1 35 mag.getY(&fmY);
JimCarver 6:02bfeec82bc1 36 mag.getZ(&fmZ);
JimCarver 6:02bfeec82bc1 37 printf("FXOS8700Q ACC: X=%1.4f Y=%1.4f Z=%1.4f ", faX, faY, faZ);
JimCarver 6:02bfeec82bc1 38 printf(" MAG: X=%4.1f Y=%4.1f Z=%4.1f\r\n", fmX, fmY, fmZ);
JimCarver 6:02bfeec82bc1 39 acc.getAxis(acc_raw);
JimCarver 6:02bfeec82bc1 40 mag.getAxis(mag_raw);
JimCarver 6:02bfeec82bc1 41 printf("FXOS8700Q ACC: X=%d Y=%d Z=%d ", acc_raw.x, acc_raw.y, acc_raw.z);
JimCarver 6:02bfeec82bc1 42 printf(" MAG: X=%d Y=%d Z=%d\r\n", mag_raw.x, mag_raw.y, mag_raw.z);
JimCarver 6:02bfeec82bc1 43 acc.getX(&raX);
JimCarver 6:02bfeec82bc1 44 acc.getY(&raY);
JimCarver 6:02bfeec82bc1 45 acc.getZ(&raZ);
JimCarver 6:02bfeec82bc1 46 mag.getX(&rmX);
JimCarver 6:02bfeec82bc1 47 mag.getY(&rmY);
JimCarver 6:02bfeec82bc1 48 mag.getZ(&rmZ);
JimCarver 6:02bfeec82bc1 49 printf("FXOS8700Q ACC: X=%d Y=%d Z=%d ", raX, raY, raZ);
JimCarver 6:02bfeec82bc1 50 printf(" MAG: X=%d Y=%d Z=%d\r\n\n", rmX, rmY, rmZ);
JimCarver 0:748fe54f0947 51 wait(1.0);
JimCarver 0:748fe54f0947 52 }
JimCarver 0:748fe54f0947 53 }