hand held final version used for coolterm
Dependencies: mbed SoftSerial
flow.h@2:3de0589260d2, 2019-07-12 (annotated)
- Committer:
- mehrnaz
- Date:
- Fri Jul 12 15:59:34 2019 +0000
- Revision:
- 2:3de0589260d2
handheld final version used for coolterm
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mehrnaz | 2:3de0589260d2 | 1 | #include "mbed.h" |
mehrnaz | 2:3de0589260d2 | 2 | |
mehrnaz | 2:3de0589260d2 | 3 | AnalogIn flowIn(PA_0); |
mehrnaz | 2:3de0589260d2 | 4 | Serial co2(PC_10,PC_11); //USED IN MAIN |
mehrnaz | 2:3de0589260d2 | 5 | //Serial ttl(A1,A0); |
mehrnaz | 2:3de0589260d2 | 6 | |
mehrnaz | 2:3de0589260d2 | 7 | float finalflow; |
mehrnaz | 2:3de0589260d2 | 8 | float flowVal1; |
mehrnaz | 2:3de0589260d2 | 9 | float flowVal2; |
mehrnaz | 2:3de0589260d2 | 10 | float P1; |
mehrnaz | 2:3de0589260d2 | 11 | int flag=0; |
mehrnaz | 2:3de0589260d2 | 12 | int o=0; |
mehrnaz | 2:3de0589260d2 | 13 | float bpArray[10]; |
mehrnaz | 2:3de0589260d2 | 14 | float fp;float sp; |
mehrnaz | 2:3de0589260d2 | 15 | float FPressure; |
mehrnaz | 2:3de0589260d2 | 16 | int value; |
mehrnaz | 2:3de0589260d2 | 17 | // |
mehrnaz | 2:3de0589260d2 | 18 | float flow() |
mehrnaz | 2:3de0589260d2 | 19 | { |
mehrnaz | 2:3de0589260d2 | 20 | while(1) |
mehrnaz | 2:3de0589260d2 | 21 | { |
mehrnaz | 2:3de0589260d2 | 22 | wait(0.01); |
mehrnaz | 2:3de0589260d2 | 23 | flowVal1=3.3*flowIn; //Logic level 3.3 |
mehrnaz | 2:3de0589260d2 | 24 | flowVal2 = 1.5*flowVal1; //5v |
mehrnaz | 2:3de0589260d2 | 25 | P1 =(125*flowVal2)-62.5; |
mehrnaz | 2:3de0589260d2 | 26 | if(flag==0) |
mehrnaz | 2:3de0589260d2 | 27 | { |
mehrnaz | 2:3de0589260d2 | 28 | finalflow=0; |
mehrnaz | 2:3de0589260d2 | 29 | bpArray[o]=P1; |
mehrnaz | 2:3de0589260d2 | 30 | sp+=bpArray[o]; |
mehrnaz | 2:3de0589260d2 | 31 | o=o+1; |
mehrnaz | 2:3de0589260d2 | 32 | if (o=9) |
mehrnaz | 2:3de0589260d2 | 33 | { |
mehrnaz | 2:3de0589260d2 | 34 | fp=sp/10; |
mehrnaz | 2:3de0589260d2 | 35 | flag=1; |
mehrnaz | 2:3de0589260d2 | 36 | } |
mehrnaz | 2:3de0589260d2 | 37 | } |
mehrnaz | 2:3de0589260d2 | 38 | if (flag==1) |
mehrnaz | 2:3de0589260d2 | 39 | { |
mehrnaz | 2:3de0589260d2 | 40 | FPressure=P1-fp; |
mehrnaz | 2:3de0589260d2 | 41 | finalflow=(0.24*sqrt(FPressure)); //flow in litter per min |
mehrnaz | 2:3de0589260d2 | 42 | //ttl.printf("Flow: %f\n",finalflow); |
mehrnaz | 2:3de0589260d2 | 43 | return finalflow; |
mehrnaz | 2:3de0589260d2 | 44 | } |
mehrnaz | 2:3de0589260d2 | 45 | } |
mehrnaz | 2:3de0589260d2 | 46 | } |
mehrnaz | 2:3de0589260d2 | 47 | |
mehrnaz | 2:3de0589260d2 | 48 | |
mehrnaz | 2:3de0589260d2 | 49 | int carbon() |
mehrnaz | 2:3de0589260d2 | 50 | { |
mehrnaz | 2:3de0589260d2 | 51 | bool allow = false; |
mehrnaz | 2:3de0589260d2 | 52 | char c; |
mehrnaz | 2:3de0589260d2 | 53 | char co2_measure[5]; |
mehrnaz | 2:3de0589260d2 | 54 | int count=0; |
mehrnaz | 2:3de0589260d2 | 55 | |
mehrnaz | 2:3de0589260d2 | 56 | while(1) |
mehrnaz | 2:3de0589260d2 | 57 | { |
mehrnaz | 2:3de0589260d2 | 58 | c = co2.getc(); |
mehrnaz | 2:3de0589260d2 | 59 | if(c=='Z') { |
mehrnaz | 2:3de0589260d2 | 60 | allow = true; |
mehrnaz | 2:3de0589260d2 | 61 | } |
mehrnaz | 2:3de0589260d2 | 62 | |
mehrnaz | 2:3de0589260d2 | 63 | if(allow) { |
mehrnaz | 2:3de0589260d2 | 64 | if(c>=48 && c<=57) { |
mehrnaz | 2:3de0589260d2 | 65 | co2_measure[count]=c; |
mehrnaz | 2:3de0589260d2 | 66 | count++; |
mehrnaz | 2:3de0589260d2 | 67 | } |
mehrnaz | 2:3de0589260d2 | 68 | |
mehrnaz | 2:3de0589260d2 | 69 | if(count>=6) { //NOT SURE IF 5 OR 6 |
mehrnaz | 2:3de0589260d2 | 70 | value = ((co2_measure[0]-'0')*100000+co2_measure[1]-'0')*10000+(co2_measure[2]-'0')*1000+(co2_measure[3]-'0')*100; |
mehrnaz | 2:3de0589260d2 | 71 | //ttl.printf("CO2: %d\n",value); |
mehrnaz | 2:3de0589260d2 | 72 | count=0; |
mehrnaz | 2:3de0589260d2 | 73 | allow=false; |
mehrnaz | 2:3de0589260d2 | 74 | return value; |
mehrnaz | 2:3de0589260d2 | 75 | } |
mehrnaz | 2:3de0589260d2 | 76 | } |
mehrnaz | 2:3de0589260d2 | 77 | } |
mehrnaz | 2:3de0589260d2 | 78 | } |
mehrnaz | 2:3de0589260d2 | 79 |