Bosque1 by Pedro Guillem

Dependencies:   MPL3115A2 mbed

Committer:
pguillem
Date:
Fri Nov 16 17:33:01 2018 +0000
Revision:
2:f3601b79571d
Parent:
1:835b21f32a6e
first;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AswinSivakumar 1:835b21f32a6e 1 /*
AswinSivakumar 1:835b21f32a6e 2 * Copyright (c) 2015 - 2016, Freescale Semiconductor, Inc.
AswinSivakumar 1:835b21f32a6e 3 * Copyright 2016-2017 NXP
AswinSivakumar 1:835b21f32a6e 4 *
AswinSivakumar 1:835b21f32a6e 5 * Redistribution and use in source and binary forms, with or without modification,
AswinSivakumar 1:835b21f32a6e 6 * are permitted provided that the following conditions are met:
AswinSivakumar 1:835b21f32a6e 7 *
AswinSivakumar 1:835b21f32a6e 8 * o Redistributions of source code must retain the above copyright notice, this list
AswinSivakumar 1:835b21f32a6e 9 * of conditions and the following disclaimer.
AswinSivakumar 1:835b21f32a6e 10 *
AswinSivakumar 1:835b21f32a6e 11 * o Redistributions in binary form must reproduce the above copyright notice, this
AswinSivakumar 1:835b21f32a6e 12 * list of conditions and the following disclaimer in the documentation and/or
AswinSivakumar 1:835b21f32a6e 13 * other materials provided with the distribution.
AswinSivakumar 1:835b21f32a6e 14 *
AswinSivakumar 1:835b21f32a6e 15 * o Neither the name of the copyright holder nor the names of its
AswinSivakumar 1:835b21f32a6e 16 * contributors may be used to endorse or promote products derived from this
AswinSivakumar 1:835b21f32a6e 17 * software without specific prior written permission.
AswinSivakumar 1:835b21f32a6e 18 *
AswinSivakumar 1:835b21f32a6e 19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
AswinSivakumar 1:835b21f32a6e 20 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
AswinSivakumar 1:835b21f32a6e 21 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
AswinSivakumar 1:835b21f32a6e 22 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
AswinSivakumar 1:835b21f32a6e 23 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
AswinSivakumar 1:835b21f32a6e 24 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
AswinSivakumar 1:835b21f32a6e 25 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
AswinSivakumar 1:835b21f32a6e 26 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
AswinSivakumar 1:835b21f32a6e 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
AswinSivakumar 1:835b21f32a6e 28 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
AswinSivakumar 1:835b21f32a6e 29 */
AswinSivakumar 0:ac1207304de6 30 #include "FXAS21002.h"
AswinSivakumar 0:ac1207304de6 31 #include "FXOS8700.h"
AswinSivakumar 0:ac1207304de6 32 #include "MPL3115.h"
AswinSivakumar 0:ac1207304de6 33 #include "mbed.h"
AswinSivakumar 0:ac1207304de6 34
AswinSivakumar 0:ac1207304de6 35 // Initialize Serial port
AswinSivakumar 0:ac1207304de6 36 Serial pc(USBTX, USBRX);
AswinSivakumar 0:ac1207304de6 37
AswinSivakumar 0:ac1207304de6 38 // Initialize pins for I2C communication for sensors. Set jumpers J6,J7 in FRDM-STBC-AGM01 board accordingly.
AswinSivakumar 0:ac1207304de6 39 FXOS8700 accel(PTC2,PTC1);
AswinSivakumar 0:ac1207304de6 40 FXOS8700 mag(PTC2,PTC1);
AswinSivakumar 0:ac1207304de6 41 FXAS21002 gyro(PTC2,PTC1);
AswinSivakumar 0:ac1207304de6 42 MPL3115 mpl3115(PTC2,PTC1);
AswinSivakumar 0:ac1207304de6 43
AswinSivakumar 0:ac1207304de6 44
AswinSivakumar 0:ac1207304de6 45
AswinSivakumar 0:ac1207304de6 46 int main()
AswinSivakumar 0:ac1207304de6 47 {
AswinSivakumar 0:ac1207304de6 48
AswinSivakumar 0:ac1207304de6 49 // Configure Accelerometer FXOS8700, Magnetometer FXOS8700 & Gyroscope FXAS21002
AswinSivakumar 0:ac1207304de6 50 accel.accel_config();
AswinSivakumar 0:ac1207304de6 51 mag.mag_config();
AswinSivakumar 0:ac1207304de6 52 gyro.gyro_config();
AswinSivakumar 0:ac1207304de6 53 mpl3115.MPL3115_config();
AswinSivakumar 0:ac1207304de6 54
AswinSivakumar 0:ac1207304de6 55
AswinSivakumar 0:ac1207304de6 56 float accel_data[3]; float accel_rms=0.0;
AswinSivakumar 0:ac1207304de6 57 float mag_data[3]; float mag_rms=0.0;
AswinSivakumar 0:ac1207304de6 58 float gyro_data[3]; float gyro_rms=0.0;
AswinSivakumar 0:ac1207304de6 59 float alt_data[3]; float alt_rms=0.0;
AswinSivakumar 0:ac1207304de6 60
AswinSivakumar 0:ac1207304de6 61 printf("Begin Data Acquisition....\r\n\r\n");
AswinSivakumar 0:ac1207304de6 62 wait(0.5);
AswinSivakumar 0:ac1207304de6 63
AswinSivakumar 0:ac1207304de6 64 while(1)
AswinSivakumar 0:ac1207304de6 65 {
AswinSivakumar 0:ac1207304de6 66 accel.acquire_accel_data_g(accel_data);
AswinSivakumar 0:ac1207304de6 67 accel_rms = sqrt(((accel_data[0]*accel_data[0])+(accel_data[1]*accel_data[1])+(accel_data[2]*accel_data[2]))/3);
AswinSivakumar 0:ac1207304de6 68 printf("%4.2f,%4.2f,%4.2f,\t",accel_data[0],accel_data[1],accel_data[2]);
AswinSivakumar 0:ac1207304de6 69 wait(0.005);
AswinSivakumar 0:ac1207304de6 70
AswinSivakumar 0:ac1207304de6 71
AswinSivakumar 0:ac1207304de6 72 mag.acquire_mag_data_uT(mag_data);
AswinSivakumar 0:ac1207304de6 73 printf("%4.2f,%4.2f,%4.2f,\t",mag_data[0],mag_data[1],mag_data[2]);
AswinSivakumar 0:ac1207304de6 74 mag_rms = sqrt(((mag_data[0]*mag_data[0])+(mag_data[1]*mag_data[1])+(mag_data[2]*mag_data[2]))/3);
AswinSivakumar 0:ac1207304de6 75 wait(0.005);
AswinSivakumar 0:ac1207304de6 76
AswinSivakumar 0:ac1207304de6 77
AswinSivakumar 0:ac1207304de6 78 gyro.acquire_gyro_data_dps(gyro_data);
AswinSivakumar 0:ac1207304de6 79 printf("%4.2f,%4.2f,%4.2f,",gyro_data[0],gyro_data[1],gyro_data[2]);
AswinSivakumar 0:ac1207304de6 80 gyro_rms = sqrt(((gyro_data[0]*gyro_data[0])+(gyro_data[1]*gyro_data[1])+(gyro_data[2]*gyro_data[2]))/3);
AswinSivakumar 0:ac1207304de6 81 wait(0.005);
AswinSivakumar 0:ac1207304de6 82
AswinSivakumar 0:ac1207304de6 83 mpl3115.acquire_MPL3115_data_Altitude_in_m(alt_data);
AswinSivakumar 0:ac1207304de6 84 printf("\t%f",alt_data[0]);
AswinSivakumar 0:ac1207304de6 85 alt_rms = sqrt(((alt_data[0]*alt_data[0])+(alt_data[1]*alt_data[1])+(alt_data[2]*alt_data[2]))/3);
AswinSivakumar 0:ac1207304de6 86 wait(0.005);
pguillem 2:f3601b79571d 87
pguillem 2:f3601b79571d 88 wait(1);
AswinSivakumar 0:ac1207304de6 89 printf("\n\r");
AswinSivakumar 0:ac1207304de6 90
AswinSivakumar 0:ac1207304de6 91
AswinSivakumar 0:ac1207304de6 92 }
AswinSivakumar 0:ac1207304de6 93
AswinSivakumar 0:ac1207304de6 94 }