An i2c master interface connected to the specified pins

Dependencies:   FXAS21000 FXOS8700Q

Committer:
naqvis
Date:
Sun Feb 06 01:12:08 2022 +0000
Revision:
0:b0a4383f272b
ECE595

Who changed what in which revision?

UserRevisionLine numberNew contents of line
naqvis 0:b0a4383f272b 1 #include "mbed.h"
naqvis 0:b0a4383f272b 2 #include "FXOS8700Q.h"
naqvis 0:b0a4383f272b 3 I2C i2c(PTE25, PTE24);
naqvis 0:b0a4383f272b 4 Serial pc(USBTX,USBRX);
naqvis 0:b0a4383f272b 5 FXOS8700QAccelerometer acc(i2c, FXOS8700CQ_SLAVE_ADDR1); // Configured for the FRDM-K64F with onboard sensors
naqvis 0:b0a4383f272b 6 FXOS8700QMagnetometer mag(i2c, FXOS8700CQ_SLAVE_ADDR1);
naqvis 0:b0a4383f272b 7
naqvis 0:b0a4383f272b 8 int main(void)
naqvis 0:b0a4383f272b 9 {
naqvis 0:b0a4383f272b 10 motion_data_units_t acc_data, mag_data;
naqvis 0:b0a4383f272b 11 motion_data_counts_t acc_raw, mag_raw;
naqvis 0:b0a4383f272b 12 float faX, faY, faZ, fmX, fmY, fmZ, tmp_float;
naqvis 0:b0a4383f272b 13 int16_t raX, raY, raZ, rmX, rmY, rmZ, tmp_int;
naqvis 0:b0a4383f272b 14 acc.enable();
naqvis 0:b0a4383f272b 15 mag.enable();
naqvis 0:b0a4383f272b 16 while (true) {
naqvis 0:b0a4383f272b 17 // counts based results
naqvis 0:b0a4383f272b 18 acc.getAxis(acc_raw);
naqvis 0:b0a4383f272b 19 mag.getAxis(mag_raw);
naqvis 0:b0a4383f272b 20 acc.getX(raX);
naqvis 0:b0a4383f272b 21 acc.getY(raY);
naqvis 0:b0a4383f272b 22 acc.getZ(raZ);
naqvis 0:b0a4383f272b 23 mag.getX(rmX);
naqvis 0:b0a4383f272b 24 mag.getY(rmY);
naqvis 0:b0a4383f272b 25 mag.getZ(rmZ);
naqvis 0:b0a4383f272b 26 // unit based results
naqvis 0:b0a4383f272b 27 acc.getAxis(acc_data);
naqvis 0:b0a4383f272b 28 mag.getAxis(mag_data);
naqvis 0:b0a4383f272b 29 acc.getX(faX);
naqvis 0:b0a4383f272b 30 acc.getY(faY);
naqvis 0:b0a4383f272b 31 acc.getZ(faZ);
naqvis 0:b0a4383f272b 32 mag.getX(fmX);
naqvis 0:b0a4383f272b 33 mag.getY(fmY);
naqvis 0:b0a4383f272b 34 mag.getZ(fmZ);
naqvis 0:b0a4383f272b 35 pc.printf("FXOSQ8700Q ACC: X=%1.4fY=%1.4fZ=%1.4f", acc.getX(faX),acc.getY(faY),acc.getZ(faZ));
naqvis 0:b0a4383f272b 36 pc.printf(" MAG: X=%4.1fY=%4.1fZ=%4.1f\r\n", mag.getX(fmX),mag.getY(fmY), mag.getZ(fmZ));
naqvis 0:b0a4383f272b 37 wait(1.0f);
naqvis 0:b0a4383f272b 38 }
naqvis 0:b0a4383f272b 39 }