FXOS8700Q E FXAS2100
Dependencies: FXAS21000 FXOS8700Q mbed
Fork of Hello_FXOS8700Q by
main.cpp@7:ce6861403c1b, 2015-11-14 (annotated)
- Committer:
- fernandosmartinelli
- Date:
- Sat Nov 14 13:54:44 2015 +0000
- Revision:
- 7:ce6861403c1b
- Parent:
- 6:02bfeec82bc1
OK
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" |
fernandosmartinelli | 7:ce6861403c1b | 3 | #include "FXAS21000.h" |
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 |
fernandosmartinelli | 7:ce6861403c1b | 9 | FXAS21000 gyro(D14, D15); |
JimCarver | 4:4b494ca218ff | 10 | |
JimCarver | 0:748fe54f0947 | 11 | Serial pc(USBTX, USBRX); |
JimCarver | 0:748fe54f0947 | 12 | |
JimCarver | 5:061ab9f2c002 | 13 | MotionSensorDataUnits mag_data; |
JimCarver | 5:061ab9f2c002 | 14 | MotionSensorDataUnits acc_data; |
JimCarver | 5:061ab9f2c002 | 15 | |
JimCarver | 5:061ab9f2c002 | 16 | MotionSensorDataCounts mag_raw; |
JimCarver | 5:061ab9f2c002 | 17 | MotionSensorDataCounts acc_raw; |
JimCarver | 4:4b494ca218ff | 18 | |
JimCarver | 0:748fe54f0947 | 19 | |
fernandosmartinelli | 7:ce6861403c1b | 20 | int main() |
fernandosmartinelli | 7:ce6861403c1b | 21 | { |
fernandosmartinelli | 7:ce6861403c1b | 22 | |
fernandosmartinelli | 7:ce6861403c1b | 23 | |
JimCarver | 6:02bfeec82bc1 | 24 | float faX, faY, faZ; |
JimCarver | 6:02bfeec82bc1 | 25 | float fmX, fmY, fmZ; |
JimCarver | 6:02bfeec82bc1 | 26 | int16_t raX, raY, raZ; |
JimCarver | 6:02bfeec82bc1 | 27 | int16_t rmX, rmY, rmZ; |
fernandosmartinelli | 7:ce6861403c1b | 28 | float gyro_data[3]; |
fernandosmartinelli | 7:ce6861403c1b | 29 | |
fernandosmartinelli | 7:ce6861403c1b | 30 | |
JimCarver | 5:061ab9f2c002 | 31 | acc.enable(); |
fernandosmartinelli | 7:ce6861403c1b | 32 | |
JimCarver | 5:061ab9f2c002 | 33 | printf("\r\n\nFXOS8700Q Who Am I= %X\r\n", acc.whoAmI()); |
fernandosmartinelli | 7:ce6861403c1b | 34 | printf("FXAS21000 Gyro = %X\r\n", gyro.getWhoAmI()); |
fernandosmartinelli | 7:ce6861403c1b | 35 | |
fernandosmartinelli | 7:ce6861403c1b | 36 | while (true){ |
fernandosmartinelli | 7:ce6861403c1b | 37 | |
JimCarver | 5:061ab9f2c002 | 38 | acc.getAxis(acc_data); |
JimCarver | 5:061ab9f2c002 | 39 | mag.getAxis(mag_data); |
fernandosmartinelli | 7:ce6861403c1b | 40 | printf("FXOS8700Q ACC: X=%1.4f Y=%1.4f Z=%1.4f ", acc_data.x, acc_data.y, acc_data.z); |
fernandosmartinelli | 7:ce6861403c1b | 41 | 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 | 42 | acc.getX(&faX); |
JimCarver | 6:02bfeec82bc1 | 43 | acc.getY(&faY); |
JimCarver | 6:02bfeec82bc1 | 44 | acc.getZ(&faZ); |
JimCarver | 6:02bfeec82bc1 | 45 | mag.getX(&fmX); |
JimCarver | 6:02bfeec82bc1 | 46 | mag.getY(&fmY); |
JimCarver | 6:02bfeec82bc1 | 47 | mag.getZ(&fmZ); |
JimCarver | 6:02bfeec82bc1 | 48 | printf("FXOS8700Q ACC: X=%1.4f Y=%1.4f Z=%1.4f ", faX, faY, faZ); |
JimCarver | 6:02bfeec82bc1 | 49 | printf(" MAG: X=%4.1f Y=%4.1f Z=%4.1f\r\n", fmX, fmY, fmZ); |
fernandosmartinelli | 7:ce6861403c1b | 50 | |
JimCarver | 6:02bfeec82bc1 | 51 | acc.getAxis(acc_raw); |
JimCarver | 6:02bfeec82bc1 | 52 | mag.getAxis(mag_raw); |
fernandosmartinelli | 7:ce6861403c1b | 53 | printf("FXOS8700Q ACC: X=%d Y=%d Z=%d ", acc_raw.x, acc_raw.y, acc_raw.z); |
fernandosmartinelli | 7:ce6861403c1b | 54 | printf(" MAG: X=%d Y=%d Z=%d\r\n", mag_raw.x, mag_raw.y, mag_raw.z); |
JimCarver | 6:02bfeec82bc1 | 55 | acc.getX(&raX); |
JimCarver | 6:02bfeec82bc1 | 56 | acc.getY(&raY); |
JimCarver | 6:02bfeec82bc1 | 57 | acc.getZ(&raZ); |
JimCarver | 6:02bfeec82bc1 | 58 | mag.getX(&rmX); |
JimCarver | 6:02bfeec82bc1 | 59 | mag.getY(&rmY); |
JimCarver | 6:02bfeec82bc1 | 60 | mag.getZ(&rmZ); |
fernandosmartinelli | 7:ce6861403c1b | 61 | //printf("FXOS8700Q ACC: X=%d Y=%d Z=%d ", raX, raY, raZ); |
fernandosmartinelli | 7:ce6861403c1b | 62 | //printf(" MAG: X=%d Y=%d Z=%d\r\n\n", rmX, rmY, rmZ); |
JimCarver | 0:748fe54f0947 | 63 | wait(1.0); |
fernandosmartinelli | 7:ce6861403c1b | 64 | |
fernandosmartinelli | 7:ce6861403c1b | 65 | gyro.ReadXYZ(gyro_data); |
fernandosmartinelli | 7:ce6861403c1b | 66 | printf("\n FXAS21000 Gyro: X:%6.2f Y:%6.2f Z:%6.2f\r\n", gyro_data[0], gyro_data[1], gyro_data[2]); |
fernandosmartinelli | 7:ce6861403c1b | 67 | |
fernandosmartinelli | 7:ce6861403c1b | 68 | |
fernandosmartinelli | 7:ce6861403c1b | 69 | } |
fernandosmartinelli | 7:ce6861403c1b | 70 | |
fernandosmartinelli | 7:ce6861403c1b | 71 | |
fernandosmartinelli | 7:ce6861403c1b | 72 | |
JimCarver | 0:748fe54f0947 | 73 | } |