11
Dependencies: ADXL362 ATParser MPL3115A2 mbed
Fork of Lab7 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
