Example Program for Accessing the Accelerometer/Magnetometer on the K22F Freedom Board
Fork of Hello_FXOS8700Q by
main.cpp@7:b500ce244853, 2015-02-13 (annotated)
- 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?
User | Revision | Line number | New 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 | } |