This program is for Cansat made with BreadBoard which have pressure sensor LPS331. This program is based on http://mbed.org/users/nyamfg/code/LPS331_HelloWorld/

Dependencies:   mbed

Committer:
ohtsuka
Date:
Wed Jun 18 10:35:42 2014 +0000
Revision:
3:cb51cc4a041d
Parent:
2:70ce034cfcfc
Child:
4:4c01d79dd741
initial version.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nyamfg 0:1a3c5ad01539 1 #include "mbed.h"
nyamfg 0:1a3c5ad01539 2 #include "LPS331_I2C.h"
nyamfg 0:1a3c5ad01539 3
nyamfg 0:1a3c5ad01539 4 Serial pc(USBTX, USBRX);
nyamfg 0:1a3c5ad01539 5 LPS331_I2C lps331(p9, p10, LPS331_I2C_SA0_HIGH);
nyamfg 0:1a3c5ad01539 6
ohtsuka 3:cb51cc4a041d 7 DigitalIn JP(p6);
ohtsuka 3:cb51cc4a041d 8 DigitalOut myled1(LED1);
ohtsuka 3:cb51cc4a041d 9 LocalFileSystem local("local");
ohtsuka 3:cb51cc4a041d 10 Timer t;
nyamfg 0:1a3c5ad01539 11
nyamfg 0:1a3c5ad01539 12 int main() {
ohtsuka 3:cb51cc4a041d 13
nyamfg 0:1a3c5ad01539 14 pc.printf("LPS331 Test Program.\r\n");
nyamfg 0:1a3c5ad01539 15
nyamfg 0:1a3c5ad01539 16 if(lps331.isAvailable()) {
nyamfg 0:1a3c5ad01539 17 pc.printf("LPS331 is available!\r\n");
nyamfg 0:1a3c5ad01539 18 } else {
nyamfg 0:1a3c5ad01539 19 pc.printf("LPS331 is unavailable!\r\n");
nyamfg 0:1a3c5ad01539 20 }
nyamfg 0:1a3c5ad01539 21
nyamfg 0:1a3c5ad01539 22 lps331.setResolution(LPS331_I2C_PRESSURE_AVG_512, LPS331_I2C_TEMP_AVG_128);
nyamfg 2:70ce034cfcfc 23 lps331.setDataRate(LPS331_I2C_DATARATE_7HZ);
nyamfg 0:1a3c5ad01539 24 lps331.setActive(true);
ohtsuka 3:cb51cc4a041d 25
ohtsuka 3:cb51cc4a041d 26 FILE *fp = fopen("/local/data.txt", "a");
ohtsuka 3:cb51cc4a041d 27 fprintf(fp,"**********\r\n");
ohtsuka 3:cb51cc4a041d 28 fclose(fp);
nyamfg 0:1a3c5ad01539 29
ohtsuka 3:cb51cc4a041d 30 t.start();
nyamfg 2:70ce034cfcfc 31
nyamfg 0:1a3c5ad01539 32 while(true) {
nyamfg 0:1a3c5ad01539 33 float pres, temp;
ohtsuka 3:cb51cc4a041d 34 int ms;
ohtsuka 3:cb51cc4a041d 35
ohtsuka 3:cb51cc4a041d 36 if(JP==0) {
ohtsuka 3:cb51cc4a041d 37 break;
ohtsuka 3:cb51cc4a041d 38 }
nyamfg 0:1a3c5ad01539 39
ohtsuka 3:cb51cc4a041d 40 FILE *fp = fopen("/local/data.txt", "a");
ohtsuka 3:cb51cc4a041d 41
nyamfg 0:1a3c5ad01539 42 pres = lps331.getPressure();
nyamfg 0:1a3c5ad01539 43 temp = lps331.getTemperature();
nyamfg 0:1a3c5ad01539 44
ohtsuka 3:cb51cc4a041d 45 ms = t.read_ms();
ohtsuka 3:cb51cc4a041d 46
ohtsuka 3:cb51cc4a041d 47 pc.printf( "%10d,%6.2f,%4.1f\r\n", ms, pres, temp);
ohtsuka 3:cb51cc4a041d 48 fprintf(fp, "%10d,%6.2f,%4.1f\r\n", ms, pres, temp);
ohtsuka 3:cb51cc4a041d 49
ohtsuka 3:cb51cc4a041d 50 fclose(fp);
nyamfg 0:1a3c5ad01539 51
ohtsuka 3:cb51cc4a041d 52 wait(0.05);
ohtsuka 3:cb51cc4a041d 53 myled1 = 1;
ohtsuka 3:cb51cc4a041d 54 wait(0.05);
ohtsuka 3:cb51cc4a041d 55 myled1 = 0;
nyamfg 0:1a3c5ad01539 56 }
nyamfg 0:1a3c5ad01539 57 }