
92
Dependencies: ADXL362 ATParser MPL3115A2 TSL2561 mbed
Fork of Lab91 by
Revision 1:2630bf98c8fe, committed 2018-03-06
- Comitter:
- fanbsun
- Date:
- Tue Mar 06 15:59:43 2018 +0000
- Parent:
- 0:9a45e4f07b10
- Commit message:
- 1
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Fri Mar 02 17:49:50 2018 +0000 +++ b/main.cpp Tue Mar 06 15:59:43 2018 +0000 @@ -16,40 +16,76 @@ MPL3115A2 pressure_sensor(PB_7,PB_6,0x60); int main() { - int8_t a1, a2, a; + int8_t a; double p, t; double v = 0.0; int cnt = 0; myled = 0; powerpin = 0; + char buffer[32]; + int i; + char c; + char *strs[4]; + + pc.printf("Board is Running\n\r"); wait_ms(600); // we need to wait at least 500ms after ADXL362 reset ADXL362.set_mode(ADXL362::MEASUREMENT); - while(1) { - if(powerpin) - { - myled = 1; - a1=ADXL362.scanz_u8(); - p=pressure_sensor.getPressure(); - t=pressure_sensor.getTemperature(); + i = 0; + pc.printf("cps%% "); // print the line prefix + + while(1) + { + c = pc.getc(); // grab input from serial + pc.putc(c); + + if(c == 0x0d) // stop if return is pressed + { + break; + } + buffer[i] = c; // write the individual characters to buffer. + i++; + } + + strs[0] = strtok(buffer, " "); + strs[1] = strtok(NULL, " "); + strs[2] = strtok(NULL, " "); - pc.printf("temp_%d = %f C ; pressure_%d = %f \n\r Pa",cnt,t,cnt,p); - cnt++; - wait_ms(100); - a2=ADXL362.scanz_u8(); - a = a1 - a2; + if (strcmp(strs[0], "p") == 0) + { + + while(1) + { + if(powerpin) + { + myled = 1; + p=pressure_sensor.getPressure(); + t=pressure_sensor.getTemperature(); + + pc.printf("temp_%d = %f C ; pressure_%d = %f \n\r Pa",cnt,t,cnt,p); + cnt++; - v = v + double(a) * 0.1; - pc.printf(" velocity = %f \n\r",v); - } - else - { + wait_ms(100); + a=ADXL362.scanz_u8(); + + v = v + double(a-71) * 0.1; + pc.printf(" velocity = %f \n\r",v); + } + else + { myled = 0; - } + } + } + } + else + { + pc.printf("\n\rERR\n\r"); // Error message + } + } } \ No newline at end of file