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/
main.cpp@3:cb51cc4a041d, 2014-06-18 (annotated)
- 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?
User | Revision | Line number | New 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 | } |