Demo program for the MPL3115A2 library.

Dependencies:   MPL3115A2 mbed

Example program for MPL3115 sensor. Added code for data acquisition using Interrupt.

Committer:
clemente
Date:
Thu May 23 06:46:16 2013 +0000
Revision:
0:5d92b48edaff
Child:
1:5ea71ebc0d82
Demo program. First Release

Who changed what in which revision?

UserRevisionLine numberNew contents of line
clemente 0:5d92b48edaff 1 #include "mbed.h"
clemente 0:5d92b48edaff 2 #include "MPL3115A2.h"
clemente 0:5d92b48edaff 3
clemente 0:5d92b48edaff 4 #define MPL3115A2_I2C_ADDRESS (0x60<<1)
clemente 0:5d92b48edaff 5
clemente 0:5d92b48edaff 6 DigitalOut myled(LED1);
clemente 0:5d92b48edaff 7 MPL3115A2 wigo_sensor1( PTE0, PTE1, MPL3115A2_I2C_ADDRESS);
clemente 0:5d92b48edaff 8 Serial pc(USBTX, USBRX);
clemente 0:5d92b48edaff 9
clemente 0:5d92b48edaff 10 /* pos [0] = altimeter or pressure value */
clemente 0:5d92b48edaff 11 /* pos [1] = temperature value */
clemente 0:5d92b48edaff 12 float sensor_data[2];
clemente 0:5d92b48edaff 13
clemente 0:5d92b48edaff 14 int main() {
clemente 0:5d92b48edaff 15
clemente 0:5d92b48edaff 16 unsigned int mode=1;
clemente 0:5d92b48edaff 17
clemente 0:5d92b48edaff 18 pc.baud( 230400);
clemente 0:5d92b48edaff 19 pc.printf("MPL3115A2 Barometric mode. [%d]\r\n", wigo_sensor1.getDeviceID());
clemente 0:5d92b48edaff 20
clemente 0:5d92b48edaff 21 wigo_sensor1.Oversample_Ratio( OVERSAMPLE_RATIO_32);
clemente 0:5d92b48edaff 22 wigo_sensor1.Barometric_Mode();
clemente 0:5d92b48edaff 23
clemente 0:5d92b48edaff 24 while(1) {
clemente 0:5d92b48edaff 25 //
clemente 0:5d92b48edaff 26 if ( wigo_sensor1.isDataAvailable()) {
clemente 0:5d92b48edaff 27 wigo_sensor1.getAllData( &sensor_data[0]);
clemente 0:5d92b48edaff 28 if ( mode & 0x0001) {
clemente 0:5d92b48edaff 29 pc.printf("\tPressure: %f\tTemperature: %f\r\n", sensor_data[0], sensor_data[1]);
clemente 0:5d92b48edaff 30 wigo_sensor1.Altimeter_Mode();
clemente 0:5d92b48edaff 31 } else {
clemente 0:5d92b48edaff 32 pc.printf("\Altitude: %f\tTemperature: %f\r\n", sensor_data[0], sensor_data[1]);
clemente 0:5d92b48edaff 33 wigo_sensor1.Barometric_Mode();
clemente 0:5d92b48edaff 34 }
clemente 0:5d92b48edaff 35 mode++;
clemente 0:5d92b48edaff 36 }
clemente 0:5d92b48edaff 37 //
clemente 0:5d92b48edaff 38 wait( 0.001);
clemente 0:5d92b48edaff 39 }
clemente 0:5d92b48edaff 40 }