groep 16 / Mbed 2 deprecated BioRobotics_Project_Total

Dependencies:   mbed QEI MODSERIAL

Committer:
samzijp
Date:
Mon Oct 14 10:01:30 2019 +0000
Revision:
0:05da2ae2ad90
Child:
1:675b67b2ae02
Child:
2:93dcfd18ccb4
Child:
3:77d3f0d0ecb3
Het begin van het einde

Who changed what in which revision?

UserRevisionLine numberNew contents of line
samzijp 0:05da2ae2ad90 1 /* FXOS8700Q Example Program
samzijp 0:05da2ae2ad90 2 * Copyright (c) 2014-2015 ARM Limited
samzijp 0:05da2ae2ad90 3 *
samzijp 0:05da2ae2ad90 4 * Licensed under the Apache License, Version 2.0 (the "License");
samzijp 0:05da2ae2ad90 5 * you may not use this file except in compliance with the License.
samzijp 0:05da2ae2ad90 6 * You may obtain a copy of the License at
samzijp 0:05da2ae2ad90 7 *
samzijp 0:05da2ae2ad90 8 * http://www.apache.org/licenses/LICENSE-2.0
samzijp 0:05da2ae2ad90 9 *
samzijp 0:05da2ae2ad90 10 * Unless required by applicable law or agreed to in writing, software
samzijp 0:05da2ae2ad90 11 * distributed under the License is distributed on an "AS IS" BASIS,
samzijp 0:05da2ae2ad90 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
samzijp 0:05da2ae2ad90 13 * See the License for the specific language governing permissions and
samzijp 0:05da2ae2ad90 14 * limitations under the License.
samzijp 0:05da2ae2ad90 15 */
samzijp 0:05da2ae2ad90 16
samzijp 0:05da2ae2ad90 17 #include "mbed.h"
samzijp 0:05da2ae2ad90 18 #include "FXOS8700Q.h"
samzijp 0:05da2ae2ad90 19
samzijp 0:05da2ae2ad90 20 Serial pc(USBTX, USBRX);
samzijp 0:05da2ae2ad90 21 I2C i2c(PTE25, PTE24);
samzijp 0:05da2ae2ad90 22 //FXOS8700Q fxos(i2c, FXOS8700CQ_SLAVE_ADDR1);
samzijp 0:05da2ae2ad90 23 FXOS8700QAccelerometer acc(i2c, FXOS8700CQ_SLAVE_ADDR1); // Configured for the FRDM-K64F with onboard sensors
samzijp 0:05da2ae2ad90 24 FXOS8700QMagnetometer mag(i2c, FXOS8700CQ_SLAVE_ADDR1);
samzijp 0:05da2ae2ad90 25 //FXOS8700QAccelerometer acc(i2c, FXOS8700CQ_SLAVE_ADDR0); // Configured for use with the FRDM-MULTI shield
samzijp 0:05da2ae2ad90 26 //FXOS8700QMagnetometer mag(i2c, FXOS8700CQ_SLAVE_ADDR0);
samzijp 0:05da2ae2ad90 27
samzijp 0:05da2ae2ad90 28
samzijp 0:05da2ae2ad90 29 int main(void)
samzijp 0:05da2ae2ad90 30 {
samzijp 0:05da2ae2ad90 31 motion_data_units_t acc_data, mag_data;
samzijp 0:05da2ae2ad90 32 motion_data_counts_t acc_raw, mag_raw;
samzijp 0:05da2ae2ad90 33 float faX, faY, faZ, fmX, fmY, fmZ, tmp_float;
samzijp 0:05da2ae2ad90 34 int16_t raX, raY, raZ, rmX, rmY, rmZ, tmp_int;
samzijp 0:05da2ae2ad90 35
samzijp 0:05da2ae2ad90 36 acc.enable();
samzijp 0:05da2ae2ad90 37 mag.enable();
samzijp 0:05da2ae2ad90 38 printf("FXOS8700QAccelerometer Who Am I= %X\r\n", acc.whoAmI());
samzijp 0:05da2ae2ad90 39 printf("FXOS8700QMagnetometer Who Am I= %X\r\n", acc.whoAmI());
samzijp 0:05da2ae2ad90 40 while (true) {
samzijp 0:05da2ae2ad90 41 // counts based results
samzijp 0:05da2ae2ad90 42 acc.getAxis(acc_raw);
samzijp 0:05da2ae2ad90 43 mag.getAxis(mag_raw);
samzijp 0:05da2ae2ad90 44 printf("ACC: X=%06dd Y=%06dd Z=%06dd \t MAG: X=%06dd Y=%06dd Z=%06dd\r\n", acc_raw.x, acc_raw.y, acc_raw.z, mag_raw.x, mag_raw.y, mag_raw.z);
samzijp 0:05da2ae2ad90 45 acc.getX(raX);
samzijp 0:05da2ae2ad90 46 acc.getY(raY);
samzijp 0:05da2ae2ad90 47 acc.getZ(raZ);
samzijp 0:05da2ae2ad90 48 mag.getX(rmX);
samzijp 0:05da2ae2ad90 49 mag.getY(rmY);
samzijp 0:05da2ae2ad90 50 mag.getZ(rmZ);
samzijp 0:05da2ae2ad90 51 printf("ACC: X=%06dd Y=%06dd Z=%06dd \t MAG: X=%06dd Y=%06dd Z=%06dd\r\n", raX, raY, raZ, rmX, rmY, rmZ);
samzijp 0:05da2ae2ad90 52 printf("ACC: X=%06dd Y=%06dd Z=%06dd \t MAG: X=%06dd Y=%06dd Z=%06dd\r\n", acc.getX(tmp_int), acc.getY(tmp_int), acc.getZ(tmp_int), mag.getX(tmp_int), mag.getY(tmp_int), mag.getZ(tmp_int));
samzijp 0:05da2ae2ad90 53 // unit based results
samzijp 0:05da2ae2ad90 54 acc.getAxis(acc_data);
samzijp 0:05da2ae2ad90 55 mag.getAxis(mag_data);
samzijp 0:05da2ae2ad90 56 printf("ACC: X=%1.4ff Y=%1.4ff Z=%1.4ff \t MAG: X=%4.1ff Y=%4.1ff Z=%4.1ff\r\n", acc_data.x, acc_data.y, acc_data.z, mag_data.x, mag_data.y, mag_data.z);
samzijp 0:05da2ae2ad90 57 acc.getX(faX);
samzijp 0:05da2ae2ad90 58 acc.getY(faY);
samzijp 0:05da2ae2ad90 59 acc.getZ(faZ);
samzijp 0:05da2ae2ad90 60 mag.getX(fmX);
samzijp 0:05da2ae2ad90 61 mag.getY(fmY);
samzijp 0:05da2ae2ad90 62 mag.getZ(fmZ);
samzijp 0:05da2ae2ad90 63 printf("ACC: X=%1.4ff Y=%1.4ff Z=%1.4ff \t MAG: X=%4.1ff Y=%4.1ff Z=%4.1ff\r\n", faX, faY, faZ, fmX, fmY, fmZ);
samzijp 0:05da2ae2ad90 64 printf("ACC: X=%1.4ff Y=%1.4ff Z=%1.4ff \t MAG: X=%4.1ff Y=%4.1ff Z=%4.1ff\r\n", acc.getX(tmp_float), acc.getY(tmp_float), acc.getZ(tmp_float), mag.getX(tmp_float), mag.getY(tmp_float), mag.getZ(tmp_float));
samzijp 0:05da2ae2ad90 65 puts("");
samzijp 0:05da2ae2ad90 66 wait(5.0f);
samzijp 0:05da2ae2ad90 67 }
samzijp 0:05da2ae2ad90 68 }