![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
An i2c master interface connected to the specified pins
Dependencies: FXAS21000 FXOS8700Q
main.cpp@0:b0a4383f272b, 2022-02-06 (annotated)
- Committer:
- naqvis
- Date:
- Sun Feb 06 01:12:08 2022 +0000
- Revision:
- 0:b0a4383f272b
ECE595
Who changed what in which revision?
User | Revision | Line number | New 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 | } |