Example Program for Accessing the Accelerometer/Magnetometer on the K22F Freedom Board

Dependencies:   FXOS8700Q mbed

Fork of Hello_FXOS8700Q by Jim Carver

Committer:
inmcm
Date:
Fri Feb 13 20:46:52 2015 +0000
Revision:
7:b500ce244853
Parent:
6:02bfeec82bc1
Modified Accelerometer/Magnetometer example program for K64F Freedom board to work with K22F board

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
inmcm 7:b500ce244853 4 FXOS8700Q_acc acc( PTB3, PTB2, FXOS8700CQ_SLAVE_ADDR2); // Proper Ports and I2C Address for K22F Freedom board
inmcm 7:b500ce244853 5 FXOS8700Q_mag mag( PTB3, PTB2, FXOS8700CQ_SLAVE_ADDR2); // Proper Ports and I2C Address for K22F Freedom board
JimCarver 4:4b494ca218ff 6
JimCarver 0:748fe54f0947 7 Serial pc(USBTX, USBRX);
JimCarver 0:748fe54f0947 8
JimCarver 5:061ab9f2c002 9 MotionSensorDataUnits mag_data;
JimCarver 5:061ab9f2c002 10 MotionSensorDataUnits acc_data;
JimCarver 5:061ab9f2c002 11
JimCarver 5:061ab9f2c002 12 MotionSensorDataCounts mag_raw;
JimCarver 5:061ab9f2c002 13 MotionSensorDataCounts acc_raw;
JimCarver 4:4b494ca218ff 14
JimCarver 0:748fe54f0947 15
JimCarver 0:748fe54f0947 16 int main() {
JimCarver 6:02bfeec82bc1 17 float faX, faY, faZ;
JimCarver 6:02bfeec82bc1 18 float fmX, fmY, fmZ;
JimCarver 6:02bfeec82bc1 19 int16_t raX, raY, raZ;
JimCarver 6:02bfeec82bc1 20 int16_t rmX, rmY, rmZ;
JimCarver 5:061ab9f2c002 21 acc.enable();
JimCarver 5:061ab9f2c002 22 printf("\r\n\nFXOS8700Q Who Am I= %X\r\n", acc.whoAmI());
JimCarver 0:748fe54f0947 23 while (true) {
JimCarver 5:061ab9f2c002 24 acc.getAxis(acc_data);
JimCarver 5:061ab9f2c002 25 mag.getAxis(mag_data);
JimCarver 5:061ab9f2c002 26 printf("FXOS8700Q ACC: X=%1.4f Y=%1.4f Z=%1.4f ", acc_data.x, acc_data.y, acc_data.z);
JimCarver 6:02bfeec82bc1 27 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 28 acc.getX(&faX);
JimCarver 6:02bfeec82bc1 29 acc.getY(&faY);
JimCarver 6:02bfeec82bc1 30 acc.getZ(&faZ);
JimCarver 6:02bfeec82bc1 31 mag.getX(&fmX);
JimCarver 6:02bfeec82bc1 32 mag.getY(&fmY);
JimCarver 6:02bfeec82bc1 33 mag.getZ(&fmZ);
JimCarver 6:02bfeec82bc1 34 printf("FXOS8700Q ACC: X=%1.4f Y=%1.4f Z=%1.4f ", faX, faY, faZ);
JimCarver 6:02bfeec82bc1 35 printf(" MAG: X=%4.1f Y=%4.1f Z=%4.1f\r\n", fmX, fmY, fmZ);
JimCarver 6:02bfeec82bc1 36 acc.getAxis(acc_raw);
JimCarver 6:02bfeec82bc1 37 mag.getAxis(mag_raw);
JimCarver 6:02bfeec82bc1 38 printf("FXOS8700Q ACC: X=%d Y=%d Z=%d ", acc_raw.x, acc_raw.y, acc_raw.z);
JimCarver 6:02bfeec82bc1 39 printf(" MAG: X=%d Y=%d Z=%d\r\n", mag_raw.x, mag_raw.y, mag_raw.z);
JimCarver 6:02bfeec82bc1 40 acc.getX(&raX);
JimCarver 6:02bfeec82bc1 41 acc.getY(&raY);
JimCarver 6:02bfeec82bc1 42 acc.getZ(&raZ);
JimCarver 6:02bfeec82bc1 43 mag.getX(&rmX);
JimCarver 6:02bfeec82bc1 44 mag.getY(&rmY);
JimCarver 6:02bfeec82bc1 45 mag.getZ(&rmZ);
JimCarver 6:02bfeec82bc1 46 printf("FXOS8700Q ACC: X=%d Y=%d Z=%d ", raX, raY, raZ);
JimCarver 6:02bfeec82bc1 47 printf(" MAG: X=%d Y=%d Z=%d\r\n\n", rmX, rmY, rmZ);
JimCarver 0:748fe54f0947 48 wait(1.0);
JimCarver 0:748fe54f0947 49 }
JimCarver 0:748fe54f0947 50 }