Demo program for the MPL3115A2 library.
Example program for MPL3115 sensor. Added code for data acquisition using Interrupt.
main.cpp@1:5ea71ebc0d82, 2013-05-23 (annotated)
- Committer:
- clemente
- Date:
- Thu May 23 12:44:46 2013 +0000
- Revision:
- 1:5ea71ebc0d82
- Parent:
- 0:5d92b48edaff
- Child:
- 2:0b726b8c8ab9
Minor correction.
Who changed what in which revision?
User | Revision | Line number | New 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 | 1:5ea71ebc0d82 | 32 | pc.printf("\tAltitude: %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 | } |