diff --git a/daq b/daq new file mode 100755 index 0000000..bc1781d Binary files /dev/null and b/daq differ diff --git a/daq.c b/daq.c new file mode 100644 index 0000000..d935834 --- /dev/null +++ b/daq.c @@ -0,0 +1,124 @@ +/* +*/ +#include "daq.h" + +//DEFINITIOS +#define data_file_path "./DATA/data.dat" + +int sensConf(unsigned char uartNumber, int baudRate, unsigned char mode[], unsigned char response[], int tries) +{ + int count; + + uartConf(uartNumber, baudRate); + while(tries){ + uartTransmit(uartNumber, mode); + tcdrain(uartFile[uartNumber]); //wait all data has been sent + printf("Command sended.\n"); + //usleep(100000); //give the sensor a chance to respond + count = uartReceive(uartNumber); + if (count == 0) printf("There was no data available to read!\n"); + else if (strcmp(receive[uartNumber], response) == 0) { + printf("Sensor configurated.\n"); + return 0; + } else { + printf("The following was read in [%d]: %s\n",count,receive[uartNumber]); + //char *c = receive[uartNumber]; + //while (*c != '\0'){ + // printf("%d = '%c'\n",*c, *c); + // c++; + //} + } + tries --; + } + printf("Sensor configuration failed.\n"); + return -1; +} + +int DAQ(int t_hrs, int sp_s) +{ + FILE* dfp; // create a file pointer + const char data_header[200] = + "t\tCO2\tCO2 f\tCO\tCO f\tO2\tO2\tT CO\tT O2\tP CO\tP O2\tRH\n"\ + "s\tppm\tppm\tppm\tppm\tppO2\t%\t°C*10\t°C\tmBar\tmBar\t%"; + char co2_uf[10]="", co2_f[10]="", + co_uf[10]="", co_f[10]="", + o2_ppm[10]="", o2_xcent[10]="", + co_temp[10]="", o2_temp[10]="", + co_press[10]="", o2_press[10]="", + co_relH[10]="", DATA[200]=""; //measurements varirables + time_t curtime; //current time (date) + clock_t start_t, end_t; //processing time measurements variables + time_t next_samp_time, t0; //time control variables + double iteration_time_ms = sp_s*1e6 - 0.2e6; //cicle iteration maximum time + double inactivity_time = 1; //time to sleep + + time(&curtime); //saving date in curtime + //registro datos de inicio + dfp = fopen(data_file_path, "w"); // open file for writing + // send the value to the file + fprintf(dfp, "Starting DAQ at %s\n", ctime(&curtime)); + fclose(dfp); // close the file using the file pointer + printf("%s", colums); //display variables colums + //ciclo + next_samp_time = time(NULL)+1; //setting next sampling time + t0 = next_samp_time; //saving initial time + for(time_t t = 0; t < (t_hrs*3600); t+=sp_s){ //cycle from 0 to adquisition time (seconds), incrementing sampling period + //checking inactivity time + if (inactivity_time <= 1){ + usleep((int)inactivity_time); //inactivity + } + else{ + printf("Ejecution time exceded.\n%s", colums); + next_samp_time = time(NULL)+1; //updating time values + t = next_samp_time-t0; + } + while(next_samp_time != time(NULL)); //synchronizing/waiting to start measurements + + start_t = clock(); //saving start time + uartTransmit(COAF, get_readigns); //transmiting commands to sensors + uartTransmit(LOX_O2, Readings_OX); + uartTransmit(SprintIR, get_readigns); + uartReceive(COAF); //receiving replys from + uartReceive(LOX_O2); + uartReceive(SprintIR); + //interpreting and spliting measurements in variables + memcpy(co2_uf, getMeasures(receive[SprintIR],'z', 5), 5); + memcpy(co2_f, getMeasures(receive[SprintIR],'Z', 5), 5); + memcpy(co_uf, getMeasures(receive[COAF], 'z', 5), 5); + memcpy(co_f, getMeasures(receive[COAF], 'Z', 5), 5); + memcpy(o2_ppm, getMeasures(receive[LOX_O2], 'O', 6), 6); + memcpy(o2_xcent, getMeasures(receive[LOX_O2], '%', 6), 6); + memcpy(co_temp, getMeasures(receive[COAF], 'T', 5), 5); + memcpy(o2_temp, getMeasures(receive[LOX_O2], 'T', 5), 5); + memcpy(co_press, getMeasures(receive[COAF], 'B', 5), 5); + memcpy(o2_press, getMeasures(receive[LOX_O2], 'P', 4), 4); + memcpy(co_relH, getMeasures(receive[COAF], 'H', 5), 5); + //saving formated measurements in string DATA + sprintf(DATA, + "%d\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s", + (int)t, co2_uf, co2_f, co_uf, co_f, o2_ppm, o2_xcent, + co_temp, o2_temp, co_press, o2_press, co_relH); + printf("\r%s", DATA); //showing measurements on display + + dfp = fopen(data_file_path, "a"); // open file for writing + fprintf(dfp, "%s\n", DATA); // saving measurements string to data file + fclose(dfp); // close the file using the file pointer + next_samp_time += sp_s; //adding sampling period to next_samp_time + end_t = clock(); //saving end time + //calculate time to sleep + inactivity_time = iteration_time_ms - ((double)(end_t - start_t)*1e6 / CLOCKS_PER_SEC); + } + + return 0; +} + +char *getMeasures(char src[], char fval, int nchar) +{ + char * ptr = &src[0]; + static char s[10]=""; + + while(*ptr != fval) ptr++; + ptr += 2; + memcpy(s, ptr, nchar); + return s; +} diff --git a/daq.h b/daq.h new file mode 100644 index 0000000..e9e26c1 --- /dev/null +++ b/daq.h @@ -0,0 +1,41 @@ + +#ifndef DAQ_H +#define DAQ_H + +//HEADERS +#include +#include +#include +#include +#include +#include +#include "uart.h" + +//DEFINITIONS +#define SprintIR 4 //co2 sensor +#define COAF 1 //co sensor +#define LOX_O2 2 //o2 + +//comands +#define Rep_Dev_ID "Y\r\n" +#define Pulling_Mode "K 2\r\n" +#define OX_P_Mode "M 1\r\n" +#define FILnUNFIL "M 6\r\n" +#define unf_gas_con "z\r\n" +#define fil_gas_con "Z\r\n" +#define Temperature "T\r\n" +#define get_readigns "Q\r\n" +#define percent_oxigen "%\r\n" +#define ppm_oxigen "O\r\n" +#define M_zZTHBD "M 14406\r\n" +#define M_zZTHB "M 12358\r\n" +#define Readings_OX "A\r\n" + +//FUNCTIONS +int sensConf(unsigned char uartNumber, int baudRate, unsigned char mode[], unsigned char response[], int tries); +int measure(unsigned char uartNumber, unsigned char command[], int multiplier, int excess); +char *getMeasures(char src[], char fval, int nchar); +int str2int(unsigned char *ptr); +int DAQ(int t_hrs, int sp_s); + +#endif diff --git a/data.dat b/data.dat new file mode 100644 index 0000000..0ebb9e0 --- /dev/null +++ b/data.dat @@ -0,0 +1,458 @@ +Fri Feb 28 17:05:16 2020 +Starting DAQ +time(s) CO2 unfil(ppm) CO2 fil(ppm) CO unfil(ppm) CO fil(ppm) O2(ppm) O2(%) Temperaure C02(ºC*10) Temperaure 02(ºC) Pressure C02(.mBar) Presure 02(mBar) Relative Humidity(.) +0 00243 00236 00000 00000 0165.1 020.36 01254 +24.8 00811 0811 00382 +1 00226 00238 00226 00000 0165.1 020.36 01254 +25.1 00811 0811 00382 +2 00240 00238 00001 00000 0165.2 020.36 01254 +25.0 00813 0811 00382 +3 00243 00236 00000 00000 0165.2 020.36 01254 +25.0 00814 0811 00382 +4 00227 00240 00002 00000 0165.1 020.37 01254 +25.2 00814 0811 00382 +5 00241 00242 00000 00000 0165.1 020.36 01254 +24.8 00814 0811 00382 +6 00235 00243 00000 00000 0165.1 020.36 01254 +25.2 00814 0811 00382 +7 00233 00239 00000 00000 0165.1 020.36 01254 +24.8 00813 0811 00381 +8 00231 00239 00000 00000 0165.1 020.36 01253 +25.1 00814 0811 00381 +9 00241 00237 00000 00000 0165.0 020.36 01253 +24.8 00813 0811 00381 +10 00241 00236 00000 00000 0165.0 020.35 01253 +25.1 00813 0811 00381 +11 00242 00238 00000 00000 0165.0 020.35 01253 +24.9 00813 0811 00381 +12 00227 00239 00000 00000 0165.0 020.35 01253 +24.9 00814 0811 00381 +13 00243 00240 00000 00000 0165.0 020.34 01253 +25.2 00814 0811 00380 +14 00238 00242 00001 00000 0165.0 020.34 01253 +24.9 00814 0811 00381 +15 00234 00240 00000 00000 0165.0 020.34 01253 +24.9 00813 0811 00381 +16 00241 00240 00000 00000 0165.0 020.34 01253 +24.9 00814 0811 00381 +17 00228 00240 00000 00000 0164.9 020.34 01253 +25.2 00813 0811 00382 +18 00243 00242 00000 00000 0164.9 020.34 01253 +24.9 00814 0811 00383 +19 00237 00242 00000 00000 0164.8 020.33 01253 +25.1 00814 0811 00383 +20 00243 00244 00000 00000 0164.8 020.33 01253 +25.1 00814 0811 00384 +21 00262 00254 00000 00000 0164.8 020.33 01253 +24.9 00813 0811 00384 +22 00269 00261 00000 00000 0164.8 020.33 01254 +25.0 00814 0811 00386 +23 00257 00261 00001 00000 0164.8 020.32 01254 +24.9 00814 0811 00387 +24 00257 00265 00000 00000 0164.8 020.32 01255 +24.8 00814 0811 00388 +25 00250 00266 00000 00000 0164.8 020.32 01255 +24.9 00814 0811 00387 +26 00269 00265 00000 00000 0164.7 020.32 01255 +25.2 00814 0811 00386 +27 00272 00268 00000 00000 0164.7 020.31 01255 +24.9 00814 0811 00385 +28 00267 00271 00000 00000 0164.7 020.32 01255 +24.9 00814 0811 00385 +29 00274 00280 00000 00000 0164.7 020.31 01255 +25.0 00814 0811 00385 +30 00272 00282 00000 00000 0164.7 020.31 01256 +24.8 00813 0811 00385 +31 00283 00280 00000 00000 0164.7 020.31 01256 +24.8 00814 0811 00385 +32 00278 00278 00000 00000 0164.7 020.31 01256 +25.1 00814 0811 00385 +33 00281 00281 00000 00000 0164.7 020.31 01257 +24.8 00814 0811 00384 +34 00282 00284 00000 00000 0164.7 020.31 01257 +25.1 00813 0811 00384 +35 00284 00286 00000 00000 0164.7 020.31 01257 +25.1 00813 0811 00383 +36 00272 00282 00000 00000 0164.7 020.30 01258 +24.9 00814 0811 00383 +37 00283 00281 00000 00000 0165.3 020.31 01258 +25.0 00814 0811 00383 +38 00271 00281 00000 00000 0165.3 020.38 01258 +25.0 00813 0811 00382 +39 00282 00284 00000 00000 0165.3 020.38 01259 +25.0 00814 0811 00382 +40 00285 00288 00000 00000 0165.2 020.38 01259 +24.8 00814 0811 00382 +41 00281 00285 00000 00000 0165.2 020.37 01259 +25.1 00813 0811 00381 +42 00293 00291 00000 00000 0165.2 020.37 01259 +25.0 00814 0811 00380 +43 00300 00301 00000 00000 0165.1 020.36 01259 +25.0 00811 0811 00380 +44 00337 00317 00000 00000 0165.1 020.36 01260 +25.0 00814 0811 00380 +45 00336 00335 00000 00000 0165.1 020.36 01260 +25.0 00813 0811 00380 +46 00362 00350 00000 00000 0165.1 020.36 01260 +24.8 00814 0811 00380 +47 00383 00365 00000 00000 0165.0 020.35 01261 +25.2 00814 0811 00381 +48 00384 00381 00000 00000 0165.0 020.35 01261 +25.2 00813 0811 00381 +49 00403 00396 00001 00000 0165.0 020.35 01262 +25.1 00814 0811 00383 +50 00428 00417 00002 00000 0164.9 020.34 01262 +25.0 00813 0811 00385 +51 00464 00442 00000 00000 0164.9 020.34 01263 +24.9 00813 0811 00387 +52 00484 00464 00000 00000 0164.8 020.33 01263 +24.9 00813 0811 00389 +53 00534 00494 00000 00001 0164.7 020.32 01264 +25.0 00814 0811 00391 +54 00546 00525 00002 00001 0164.7 020.31 01265 +25.0 00812 0811 00393 +55 00571 00550 00001 00001 0164.2 020.31 01266 +24.8 00815 0811 00396 +56 00581 00574 00001 00002 0164.1 020.25 01266 +25.2 00812 0811 00397 +57 00594 00596 00001 00002 0164.0 020.24 01267 +25.2 00813 0811 00400 +58 00639 00619 00002 00002 0164.0 020.23 01268 +24.9 00814 0811 00403 +59 00658 00645 00003 00002 0163.6 020.22 01269 +25.2 00813 0811 00406 +60 00680 00666 00003 00002 0163.5 020.17 01270 +25.1 00815 0811 00410 +61 00699 00689 00004 00003 0163.1 020.16 01270 +25.0 00812 0811 00413 +62 00730 00713 00004 00003 0163.1 020.11 01271 +25.0 00814 0811 00415 +63 00749 00735 00004 00003 0163.0 020.11 01271 +25.0 00812 0811 00417 +64 00765 00760 00005 00004 0162.6 020.10 01271 +25.2 00812 0811 00420 +65 00803 00788 00005 00004 0162.3 020.05 01272 +25.2 00813 0811 00423 +66 00829 00809 00004 00004 0162.2 020.01 01272 +25.2 00814 0811 00426 +67 00827 00824 00004 00004 0161.9 020.00 01273 +25.1 00814 0811 00430 +68 00860 00846 00004 00004 0161.8 019.96 01273 +25.2 00813 0811 00433 +69 00885 00871 00005 00005 0161.5 019.95 01274 +25.2 00812 0811 00437 +70 00908 00899 00006 00005 0161.4 019.91 01275 +25.2 00812 0811 00440 +71 00940 00922 00008 00006 0161.3 019.90 01276 +25.2 00813 0811 00445 +72 00958 00946 00006 00006 0161.2 019.89 01277 +25.2 00813 0811 00447 +73 00975 00962 00008 00006 0160.8 019.88 01277 +25.2 00813 0811 00451 +74 01013 00984 00009 00007 0160.4 019.83 01279 +25.1 00813 0811 00454 +75 01002 01005 00009 00007 0160.3 019.78 01279 +25.1 00813 0811 00457 +76 01031 01035 00008 00008 0159.9 019.77 01280 +25.4 00813 0811 00458 +77 01100 01060 00010 00009 0159.9 019.77 01281 +25.4 00813 0811 00460 +78 01068 01070 00006 00009 0159.9 019.72 01281 +25.1 00813 0811 00460 +79 01120 01090 00011 00009 0159.5 019.71 01281 +25.4 00813 0811 00462 +80 01129 01120 00009 00009 0159.1 019.67 01281 +25.2 00813 0811 00463 +81 01127 01135 00009 00010 0159.0 019.62 01282 +25.2 00814 0811 00465 +82 01167 01159 00010 00010 0158.6 019.61 01282 +25.2 00814 0811 00467 +83 01168 01181 00011 00010 0158.2 019.55 01283 +25.4 00813 0811 00468 +84 01204 01204 00010 00010 0157.8 019.51 01283 +25.4 00813 0811 00471 +85 01227 01216 00011 00010 0157.7 019.46 01284 +25.2 00813 0811 00474 +86 01246 01242 00011 00011 0157.4 019.45 01284 +25.3 00813 0811 00477 +87 01270 01261 00012 00011 0157.3 019.41 01284 +25.2 00813 0811 00480 +88 01297 01292 00013 00012 0157.3 019.40 01285 +25.2 00813 0811 00483 +89 01305 01313 00013 00012 0156.9 019.39 01285 +25.4 00813 0811 00485 +90 01349 01337 00013 00013 0156.6 019.35 01285 +25.5 00813 0811 00487 +91 01359 01351 00013 00013 0156.2 019.31 01285 +25.3 00814 0811 00490 +92 01371 01355 00014 00013 0156.2 019.27 01286 +25.4 00813 0811 00494 +93 01382 01378 00014 00013 0155.8 019.26 01286 +25.2 00814 0811 00497 +94 01438 01396 00014 00014 0155.8 019.22 01287 +25.4 00814 0811 00499 +95 01436 01413 00015 00014 0155.7 019.21 01288 +25.6 00814 0811 00501 +96 01423 01434 00015 00014 0155.3 019.20 01288 +25.4 00814 0811 00503 +97 01473 01450 00017 00015 0155.2 019.15 01288 +25.3 00814 0811 00504 +98 01488 01477 00016 00015 0154.8 019.14 01289 +25.7 00814 0811 00506 +99 01519 01491 00016 00016 0154.7 019.08 01289 +25.3 00814 0811 00507 +100 01523 01517 00018 00016 0154.3 019.07 01289 +25.5 00814 0811 00508 +101 01545 01526 00018 00017 0154.3 019.03 01289 +25.7 00813 0811 00509 +102 01589 01549 00017 00017 0153.9 019.02 01289 +25.7 00814 0811 00511 +103 01578 01573 00017 00017 0153.6 018.98 01289 +25.7 00814 0811 00514 +104 01606 01583 00018 00018 0153.5 018.94 01288 +25.7 00814 0811 00516 +105 01597 01597 00018 00018 0153.2 018.93 01289 +25.6 00814 0811 00519 +106 01628 01616 00017 00018 0152.8 018.89 01289 +25.5 00814 0811 00523 +107 01640 01632 00019 00018 0152.4 018.85 01289 +25.5 00813 0811 00528 +108 01665 01647 00018 00018 0152.0 018.79 01290 +25.4 00814 0811 00531 +109 01685 01662 00021 00020 0152.0 018.75 01291 +25.7 00813 0811 00537 +110 01712 01692 00021 00020 0151.6 018.74 01291 +25.4 00813 0811 00538 +111 01698 01700 00021 00021 0151.2 018.70 01291 +25.5 00813 0811 00540 +112 01701 01708 00023 00021 0150.9 018.65 01291 +25.6 00814 0811 00542 +113 01772 01728 00023 00022 0150.6 018.61 01291 +25.6 00814 0811 00544 +114 01761 01742 00023 00022 0150.6 018.57 01292 +25.7 00814 0811 00546 +115 01791 01767 00024 00023 0150.6 018.57 01292 +25.7 00814 0811 00549 +116 01797 01786 01797 00023 0150.5 018.57 01292 +25.7 00814 0811 00549 +117 01808 01811 00023 00023 0150.4 018.56 01292 +25.6 00813 0811 00552 +118 01809 01835 00024 00023 0150.4 018.55 01292 +25.8 00813 0811 00553 +119 01866 01862 00025 00024 0150.1 018.54 01293 +25.6 00813 0811 00555 +120 01887 01887 00026 00024 0150.0 018.51 01293 +25.6 00814 0811 00558 +121 01897 01890 00025 00025 0149.7 018.50 01294 +25.7 00813 0811 00562 +122 01918 01909 00025 00025 0149.3 018.46 01294 +25.6 00813 0811 00564 +123 01956 01924 00025 00026 0149.2 018.41 01295 +25.7 00812 0811 00564 +124 01937 01947 00025 00026 0148.9 018.40 01295 +25.7 00813 0811 00565 +125 02034 01983 00026 00026 0148.6 018.37 01295 +25.7 00813 0811 00567 +126 01981 01999 00027 00026 0148.5 018.32 01295 +25.9 00815 0811 00568 +127 01973 01997 00029 00027 0148.5 018.31 01295 +25.7 00813 0811 00569 +128 02029 02015 00029 00027 0148.0 018.31 01295 +26.0 00813 0811 00571 +129 02030 02036 00029 00028 0147.7 018.25 01295 +25.7 00813 0811 00573 +130 02068 02067 00028 00029 0147.3 018.21 01295 +25.8 00815 0811 00575 +131 02041 02071 00029 00029 0147.2 018.16 01295 +25.7 00813 0811 00577 +132 02085 02088 00030 00029 0146.9 018.16 01295 +25.7 00813 0811 00579 +133 02161 02099 00030 00030 0146.6 018.12 01295 +25.9 00814 0811 00581 +134 02106 02116 00032 00030 0146.3 018.07 01295 +25.7 00814 0811 00583 +135 02107 02123 00031 00030 0146.2 018.04 01295 +25.9 00813 0811 00585 +136 02149 02145 00032 00031 0146.1 018.03 01296 +25.7 00812 0811 00588 +137 02181 02170 00034 00032 0146.1 018.02 01296 +26.1 00813 0811 00590 +138 02206 02199 00033 00032 0145.8 018.01 01296 +25.7 00813 0811 00592 +139 02200 02217 00035 00033 0145.7 017.97 01296 +25.7 00813 0811 00595 +140 02239 02235 00034 00034 0145.3 017.97 01296 +26.0 00812 0811 00597 +141 02243 02239 00036 00034 0145.3 017.92 01296 +25.8 00813 0811 00599 +142 02244 02255 00035 00034 0144.9 017.92 01296 +25.9 00812 0811 00601 +143 02263 02273 00035 00035 0144.9 017.87 01296 +26.1 00813 0811 00603 +144 02304 02306 00036 00035 0144.6 017.87 01296 +25.8 00814 0811 00604 +145 02246 02322 00036 00035 0144.5 017.83 01296 +25.9 00814 0811 00607 +146 02348 02333 00038 00036 0144.4 017.82 01296 +26.1 00813 0811 00609 +147 02401 02352 00037 00037 0144.0 017.81 01296 +26.1 00812 0811 00612 +148 02345 02372 00038 00038 0143.7 017.75 01296 +26.1 00815 0811 00615 +149 02338 02376 00038 00038 0143.6 017.71 01296 +25.9 00814 0811 00619 +150 02353 02402 00039 00038 0143.3 017.71 01297 +26.0 00812 0811 00621 +151 02445 02428 00041 00039 0143.2 017.67 01297 +26.0 00814 0811 00623 +152 02425 02446 00041 00039 0143.2 017.66 01297 +26.1 00813 0811 00623 +153 02471 02450 00042 00040 0143.2 017.66 01297 +26.1 00813 0811 00625 +154 02524 02471 00038 00040 0142.9 017.66 01297 +26.1 00813 0811 00625 +155 02568 02485 00042 00041 0142.8 017.62 01298 +25.9 00814 0811 00627 +156 02494 02494 00042 00041 0142.5 017.61 01298 +26.0 00813 0811 00628 +157 02517 02512 00044 00042 0142.2 017.57 01298 +26.1 00813 0811 00630 +158 02597 02550 00042 00042 0141.9 017.53 01299 +26.1 00814 0811 00631 +159 02559 02559 00044 00043 0141.5 017.49 01299 +26.1 00813 0811 00632 +160 02588 02579 00044 00043 0141.5 017.45 01299 +26.2 00812 0811 00632 +161 02570 02579 00045 00043 0141.2 017.45 01299 +26.0 00814 0811 00633 +162 02561 02588 00044 00044 0141.1 017.41 01299 +26.0 00814 0811 00633 +163 02664 02603 00046 00044 0141.1 017.40 01299 +26.3 00814 0811 00634 +164 02632 02618 00044 00045 0141.0 017.40 01299 +26.0 00814 0811 00635 +165 02600 02650 00047 00045 0140.7 017.39 01298 +26.2 00813 0811 00636 +166 02720 02683 00047 00045 0140.7 017.36 01298 +26.1 00813 0811 00638 +167 02679 02679 00046 00046 0140.4 017.35 01298 +26.1 00814 0811 00640 +168 02707 02693 00047 00047 0140.4 017.31 01298 +26.1 00813 0811 00641 +169 02693 02721 00048 00047 0140.0 017.31 01298 +26.3 00813 0811 00642 +170 02703 02716 00048 00048 0140.0 017.27 01298 +26.1 00815 0811 00644 +171 02805 02731 00048 00048 0139.7 017.26 01297 +26.3 00814 0811 00645 +172 02694 02740 00050 00049 0139.6 017.22 01297 +26.3 00814 0811 00647 +173 02704 02745 00051 00049 0139.5 017.21 01297 +26.2 00813 0811 00649 +174 02732 02740 00051 00050 0139.5 017.21 01297 +26.2 00814 0811 00651 +175 02814 02769 00051 00050 0139.1 017.20 01297 +26.4 00814 0811 00653 +176 02838 02788 00052 00051 0139.1 017.15 01297 +26.1 00814 0811 00656 +177 02783 02801 00053 00052 0139.0 017.15 01297 +26.2 00812 0811 00658 +178 02779 02792 00051 00052 0139.0 017.14 01297 +26.1 00813 0811 00660 +179 02881 02797 00053 00052 0138.9 017.13 01297 +26.5 00814 0811 00661 +180 02821 02812 00054 00053 0138.6 017.13 01297 +26.4 00814 0811 00663 +181 02862 02825 00055 00053 0138.5 017.09 01297 +26.2 00814 0811 00665 +182 02844 02816 00057 00055 0138.1 017.08 01297 +26.3 00813 0811 00666 +183 02825 02816 00057 00056 0138.1 017.04 01298 +26.5 00813 0811 00668 +184 02830 02821 00059 00057 0138.1 017.03 01298 +26.2 00813 0811 00668 +185 02779 02812 00059 00058 0137.9 017.03 01298 +26.5 00813 0811 00668 +186 02848 02807 00061 00060 0137.8 017.00 01298 +26.3 00813 0811 00667 +187 02812 02807 00061 00060 0137.8 016.99 01298 +26.2 00813 0811 00666 +188 02728 02802 00061 00061 0137.7 016.99 01298 +26.2 00814 0811 00666 +189 02733 02779 00061 00061 0137.7 016.99 01297 +26.3 00813 0811 00666 +190 02815 02783 00061 00061 0137.7 016.99 01297 +26.2 00813 0811 00666 +191 02764 02774 00061 00061 0137.4 016.98 01297 +26.1 00813 0811 00666 +192 02783 02792 00062 00061 0137.4 016.98 01297 +26.1 00813 0811 00666 +193 02727 02788 00059 00061 0137.4 016.95 01297 +26.2 00813 0811 00666 +194 02823 02796 00061 00061 0137.4 016.95 01297 +26.6 00815 0811 00666 +195 02740 02800 00062 00061 0137.4 016.94 01296 +26.5 00814 0811 00666 +196 02777 02787 00061 00061 0137.3 016.94 01296 +26.2 00814 0811 00666 +197 02809 02790 00062 00061 0137.3 016.93 01296 +26.2 00813 0811 00667 +198 02776 02795 00060 00061 0137.3 016.93 01296 +26.4 00813 0811 00667 +199 02767 02767 00061 00061 0137.3 016.93 01295 +26.4 00813 0811 00667 +200 02812 02781 00061 00061 0137.2 016.93 01295 +26.6 00814 0811 00668 +201 02794 02794 00061 00061 0137.2 016.92 01295 +26.3 00813 0811 00668 +202 02789 02794 00062 00061 0137.2 016.92 01294 +26.4 00813 0811 00669 +203 02853 02793 00061 00062 0137.2 016.92 01294 +26.4 00814 0811 00669 +204 02760 02788 00061 00062 0137.2 016.92 01294 +26.5 00813 0811 00670 +205 02747 02774 00060 00062 0137.1 016.91 01294 +26.6 00812 0811 00670 +206 02769 02774 00061 00062 0137.1 016.91 01293 +26.5 00815 0811 00671 +207 02778 02769 00063 00062 0137.1 016.91 01293 +26.6 00813 0811 00671 +208 02709 02769 00063 00062 0137.0 016.91 01293 +26.6 00813 0811 00671 +209 02777 02773 00061 00063 0137.0 016.90 01293 +26.3 00813 0811 00672 +210 02708 02772 00062 00063 0137.0 016.90 01293 +26.4 00812 0811 00672 +211 02749 02776 00061 00062 0137.0 016.90 01292 +26.6 00812 0811 00673 +212 02799 02771 00062 00062 0137.0 016.90 01292 +26.4 00813 0811 00673 +213 02807 02771 00062 00062 0137.0 016.90 01292 +26.5 00813 0811 00674 +214 02780 02780 00062 00062 0137.0 016.90 01292 +26.4 00813 0811 00674 +215 02756 02756 00063 00062 0137.0 016.89 01291 +26.4 00815 0811 00675 +216 02820 02775 00062 00062 0136.9 016.89 01291 +26.6 00813 0811 00675 +217 02783 02788 00061 00062 0136.9 016.89 01291 +26.4 00813 0811 00676 +218 02792 02783 00061 00062 0136.9 016.88 01291 +26.5 00814 0811 00676 +219 02791 02787 00061 00062 0136.9 016.88 01291 +26.4 00813 0811 00676 +220 02819 02782 00063 00062 0136.9 016.89 01290 +26.6 00814 0811 00677 +221 02759 02773 00061 00062 0136.9 016.88 01290 +26.6 00813 0811 00677 +222 02740 02768 00062 00062 0136.9 016.88 01290 +26.6 00814 0811 00678 +223 02753 02763 00062 00062 0136.8 016.88 01290 +26.6 00813 0811 00678 +224 02780 02762 00062 00063 0136.8 016.87 01289 +26.5 00814 0811 00679 +225 02844 02762 00063 00063 0136.8 016.87 01289 +26.5 00812 0811 00679 +226 02688 02734 00063 00063 0136.8 016.87 01289 +26.4 00814 0811 00680 +227 02747 02752 00063 00063 0136.8 016.87 01289 +26.4 00813 0811 00680 +228 02751 02742 00063 00063 0136.8 016.87 01289 +26.5 00813 0811 00680 +229 02677 02728 00062 00063 0136.8 016.87 01288 +26.5 00814 0811 00681 +230 02691 02728 00065 00063 0136.8 016.87 01288 +26.5 00813 0811 00681 +231 02718 02732 02718 00063 0136.8 016.87 01288 +26.6 00813 0811 00681 +232 02745 02746 00063 00063 0136.8 016.87 01288 +26.5 00812 0811 00682 +233 02795 02749 00063 00063 0136.8 016.87 01288 +26.6 00813 0811 00682 +234 02726 02740 00062 00063 0136.8 016.87 01288 +26.5 00814 0811 00682 +235 02739 02749 00063 00062 0136.7 016.86 01288 +26.4 00814 0811 00683 +236 02812 02748 00063 00062 0136.7 016.86 01287 +26.5 00813 0811 00683 +237 02735 02744 00061 00062 0136.7 016.86 01287 +26.5 00813 0811 00683 +238 02720 02738 00061 00062 0136.7 016.86 01287 +26.5 00813 0811 00683 +239 02802 02756 00061 00062 0136.7 016.86 01287 +26.6 00813 0811 00684 +240 02719 02752 00062 00062 0136.7 016.86 01287 +26.6 00814 0811 00684 +241 02756 02751 00063 00062 0136.7 016.86 01287 +26.4 00813 0811 00685 +242 02751 02746 00063 00062 0136.7 016.86 01287 +26.4 00814 0811 00685 +243 02718 02737 00063 00063 0136.7 016.86 01286 +26.4 00811 0811 00685 +244 02722 02732 00061 00062 0136.7 016.86 01286 +26.4 00813 0811 00685 +245 02704 02736 00062 00063 0136.7 016.86 01286 +26.6 00814 0811 00685 +246 02781 02758 00062 00063 0136.6 016.85 01286 +26.5 00813 0811 00685 +247 02698 02744 00062 00062 0136.6 016.85 01286 +26.5 00814 0811 00686 +248 02758 02753 00062 00062 0136.6 016.85 01286 +26.4 00813 0811 00686 +249 02743 02734 00061 00062 0136.6 016.84 01285 +26.6 00813 0811 00686 +250 02688 02739 00062 00062 0136.6 016.84 01285 +26.7 00814 0811 00687 +251 02729 02734 00062 00062 0136.5 016.84 01285 +26.5 00812 0811 00687 +252 02682 02711 00063 00062 0136.5 016.84 01285 +26.4 00813 0811 00687 +253 02705 02715 00063 00062 0136.5 016.83 01285 +26.7 00813 0811 00687 +254 02682 02715 00061 00062 0136.5 016.83 01285 +26.6 00814 0811 00687 +255 02709 02732 00062 00062 0136.5 016.83 01285 +26.5 00813 0811 00688 +256 02741 02737 00062 00062 0136.5 016.83 01284 +26.5 00814 0811 00688 +257 02694 02722 00063 00062 0136.5 016.83 01284 +26.6 00813 0811 00688 +258 02708 02745 00062 00062 0136.5 016.83 01284 +26.7 00813 0811 00688 +259 02717 02727 00061 00062 0136.5 016.83 01284 +26.7 00814 0811 00688 +260 02699 02735 00062 00062 0136.5 016.83 01284 +26.6 00813 0811 00688 +261 02679 02712 00061 00062 0136.4 016.83 01284 +26.6 00813 0811 00688 +262 02730 02744 00061 00061 0136.4 016.82 01284 +26.7 00813 0811 00689 +263 02702 02748 00062 00061 0136.4 016.82 01284 +26.7 00814 0811 00689 +264 02770 02729 00064 00062 0136.4 016.82 01284 +26.4 00812 0811 00689 +265 02719 02725 00062 00062 0136.4 016.82 01283 +26.6 00813 0811 00689 +266 02724 02728 00064 00062 0136.4 016.82 01283 +26.5 00814 0811 00689 +267 02747 02728 00063 00062 0136.4 016.82 01283 +26.6 00812 0811 00689 +268 02677 02733 00061 00062 0136.1 016.82 01283 +26.5 00814 0811 00690 +269 02682 02718 00061 00062 0136.1 016.82 01283 +26.5 00813 0811 00690 +270 02677 02723 00062 00062 0136.1 016.78 01283 +26.6 00813 0811 00690 +271 02749 02723 00061 00061 0136.1 016.78 01283 +26.6 00814 0811 00690 +272 02718 02713 00061 00061 0136.1 016.78 01283 +26.6 00814 0811 00690 +273 02722 02713 00062 00061 0136.1 016.79 01283 +26.5 00814 0811 00690 +274 02740 02726 00062 00061 0136.1 016.79 01282 +26.5 00814 0811 00690 +275 02771 02726 00060 00061 0136.2 016.79 01282 +26.4 00814 0811 00690 +276 02689 02725 00061 00061 0136.2 016.79 01282 +26.5 00814 0811 00691 +277 02766 02730 00062 00061 0136.2 016.79 01282 +26.4 00812 0811 00691 +278 02693 02711 00061 00061 0136.2 016.79 01282 +26.6 00813 0811 00691 +279 02679 02715 00062 00061 0136.2 016.79 01282 +26.6 00812 0811 00691 +280 02701 02715 00063 00062 0136.2 016.79 01282 +26.4 00814 0811 00691 +281 02751 02710 00060 00062 0136.2 016.79 01282 +26.5 00813 0811 00691 +282 02696 02706 00060 00062 0136.2 016.79 01282 +26.6 00812 0811 00691 +283 02678 02719 00060 00061 0136.2 016.79 01281 +26.6 00813 0811 00691 +284 02677 02723 00062 00062 0136.2 016.79 01281 +26.5 00813 0811 00691 +285 02705 02719 00061 00062 0136.2 016.79 01281 +26.7 00814 0811 00691 +286 02668 02718 00062 00062 0136.1 016.79 01281 +26.6 00813 0811 00692 +287 02690 02709 00060 00062 0136.2 016.79 01281 +26.6 00814 0811 00692 +288 02718 02708 00061 00062 0136.2 016.79 01281 +26.5 00812 0811 00692 +289 02639 02726 00061 00062 0136.2 016.79 01281 +26.6 00812 0811 00692 +290 02703 02721 00060 00061 0136.1 016.79 01281 +26.4 00813 0811 00692 +291 02707 02717 00061 00061 0136.1 016.79 01281 +26.5 00814 0811 00692 +292 02726 02717 00061 00061 0136.1 016.79 01281 +26.7 00812 0811 00692 +293 02720 02716 00061 00061 0136.1 016.78 01281 +26.6 00812 0811 00692 +294 02747 02720 00061 00061 0136.2 016.79 01281 +26.6 00813 0811 00692 +295 02765 02720 00061 00061 0136.2 016.79 01281 +26.6 00812 0811 00692 +296 02742 02720 00060 00061 0136.2 016.79 01280 +26.6 00813 0811 00692 +297 02706 02701 00061 00061 0136.2 016.79 01280 +26.3 00813 0811 00692 +298 02637 02701 00062 00061 0136.2 016.79 01280 +26.5 00812 0811 00692 +299 02691 02701 00061 00061 0136.1 016.79 01280 +26.5 00812 0811 00692 +300 02718 02718 00061 00062 0136.1 016.79 01280 +26.3 00813 0811 00693 +301 02650 02700 00060 00062 0136.1 016.79 01280 +26.6 00813 0811 00693 +302 02681 02696 00061 00062 0136.1 016.78 01280 +26.6 00812 0811 00693 +303 02704 02700 00062 00061 0136.1 016.78 01280 +26.6 00813 0811 00693 +304 02658 02699 00062 00061 0136.1 016.78 01280 +26.5 00813 0811 00693 +305 02704 02695 00062 00061 0136.1 016.78 01280 +26.5 00812 0811 00693 +306 02713 02695 00062 00061 0136.1 016.78 01279 +26.3 00812 0811 00693 +307 02689 02694 00061 00061 0136.1 016.78 01279 +26.3 00815 0811 00693 +308 02698 02694 02698 00061 0136.1 016.78 01279 +26.3 00815 0811 00693 +309 02680 02698 00058 00061 0136.1 016.78 01279 +26.4 00812 0811 00692 +310 02491 02625 00053 00059 0136.4 016.78 01279 +26.4 00814 0811 00676 +311 02241 02447 00047 00056 0137.0 016.82 01278 +26.5 00813 0811 00647 +312 02016 02195 00044 00052 0139.3 016.90 01278 +26.3 00813 0811 00617 +313 01744 01952 00039 00047 0139.9 017.17 01278 +26.6 00814 0811 00592 +314 01614 01736 00036 00043 0142.1 017.26 01277 +26.4 00813 0811 00566 +315 01436 01572 00032 00038 0144.1 017.53 01276 +26.3 00813 0811 00542 +316 01332 01431 00028 00035 0146.1 017.77 01276 +26.5 00811 0811 00519 +317 01162 01285 00024 00031 0146.8 018.01 01276 +26.4 00813 0811 00499 +318 01083 01162 00023 00027 0149.1 018.10 01275 +26.2 00813 0811 00480 +319 00979 01045 00020 00024 0149.7 018.38 01275 +26.3 00814 0811 00464 +320 00888 00952 00017 00022 0150.4 018.46 01275 +26.3 00813 0811 00450 +321 00834 00879 00018 00020 0151.2 018.55 01274 +26.4 00813 0811 00437 +322 00760 00811 00015 00018 0153.1 018.64 01274 +26.3 00814 0811 00426 +323 00698 00747 00015 00016 0153.7 018.88 01273 +26.4 00814 0811 00416 +324 00646 00689 00013 00015 0154.4 018.95 01273 +26.4 00814 0811 00408 +325 00610 00645 00010 00014 0155.0 019.04 01273 +26.4 00813 0811 00401 +326 00554 00601 00009 00012 0155.7 019.11 01272 +26.4 00814 0811 00395 +327 00530 00561 00010 00011 0156.3 019.19 01272 +26.5 00814 0811 00389 +328 00507 00527 00008 00010 0157.0 019.27 01271 +26.2 00813 0811 00385 +329 00472 00493 00009 00010 0157.7 019.36 01271 +26.4 00814 0811 00381 +330 00472 00469 00008 00009 0158.3 019.44 01271 +26.1 00813 0811 00378 +331 00418 00445 00008 00008 0158.8 019.53 01271 +26.4 00814 0811 00375 +332 00427 00427 00008 00008 0159.3 019.59 01271 +26.3 00812 0811 00372 +333 00406 00410 00007 00007 0159.8 019.64 01270 +26.4 00814 0811 00370 +334 00380 00396 00008 00007 0160.2 019.70 01270 +26.2 00813 0811 00369 +335 00352 00374 00006 00007 0160.6 019.76 01270 +26.1 00814 0811 00367 +336 00356 00369 00006 00007 0161.1 019.80 01270 +26.2 00813 0811 00366 +337 00352 00362 00006 00006 0161.1 019.86 01270 +26.2 00814 0811 00365 +338 00347 00348 00006 00006 0161.5 019.87 01269 +26.3 00813 0811 00364 +339 00325 00342 00004 00006 0161.9 019.92 01269 +26.1 00814 0811 00363 +340 00322 00332 00004 00005 0162.0 019.96 01269 +26.1 00814 0811 00362 +341 00305 00322 00006 00005 0162.0 019.97 01268 +26.1 00813 0811 00362 +342 00316 00319 00006 00005 0162.1 019.98 01268 +26.1 00814 0811 00361 +343 00307 00314 00005 00005 0162.6 019.99 01268 +26.2 00813 0811 00361 +344 00289 00305 00005 00005 0163.1 020.05 01268 +26.2 00814 0811 00361 +345 00300 00298 00003 00005 0163.1 020.05 01268 +26.2 00813 0811 00361 +346 00287 00294 00003 00005 0163.1 020.11 01268 +26.4 00813 0811 00361 +347 00290 00294 00004 00004 0163.2 020.12 01267 +26.3 00814 0811 00360 +348 00272 00287 00003 00004 0163.2 020.12 01267 +26.1 00813 0811 00361 +349 00287 00289 00003 00004 0163.3 020.13 01267 +26.1 00813 0811 00360 +350 00267 00287 00004 00003 0163.4 020.14 01267 +26.2 00813 0811 00361 +351 00280 00281 00003 00003 0163.4 020.14 01267 +26.1 00813 0811 00361 +352 00285 00284 00002 00003 0163.5 020.15 01266 +26.1 00813 0811 00361 +353 00280 00282 00002 00003 0163.5 020.16 01266 +26.3 00813 0811 00361 +354 00286 00277 00003 00002 0163.6 020.17 01266 +26.1 00813 0811 00361 +355 00276 00276 00004 00003 0163.6 020.17 01266 +26.2 00813 0811 00361 +356 00282 00275 00002 00003 0163.7 020.18 01266 +26.3 00813 0811 00361 +357 00288 00277 00004 00003 0163.7 020.18 01266 +26.1 00813 0811 00361 +358 00270 00273 00003 00003 0163.8 020.19 01265 +26.3 00813 0811 00361 +359 00260 00269 00002 00003 0163.8 020.20 01265 +26.0 00813 0811 00362 +360 00261 00266 00003 00003 0163.9 020.20 01265 +26.2 00813 0811 00361 +361 00281 00271 00003 00003 0163.9 020.21 01265 +26.1 00813 0811 00361 +362 00266 00268 00003 00003 0163.9 020.21 01265 +26.3 00814 0811 00361 +363 00268 00268 00002 00002 0163.9 020.21 01265 +26.1 00813 0811 00362 +364 00261 00269 00003 00002 0164.0 020.21 01265 +26.0 00813 0811 00362 +365 00270 00269 00002 00002 0164.0 020.22 01265 +26.1 00814 0811 00362 +366 00281 00267 00003 00002 0164.1 020.23 01264 +26.0 00813 0811 00362 +367 00279 00266 00002 00003 0164.1 020.23 01264 +25.9 00813 0811 00362 +368 00263 00266 00003 00003 0164.1 020.24 01264 +26.1 00812 0811 00362 +369 00253 00263 00002 00003 0164.1 020.24 01264 +25.9 00813 0811 00363 +370 00262 00267 00003 00002 0164.2 020.24 01264 +26.1 00813 0811 00363 +371 00258 00263 00002 00002 0164.2 020.25 01264 +26.0 00813 0811 00363 +372 00269 00267 00002 00002 0164.3 020.25 01264 +26.1 00813 0811 00363 +373 00273 00267 00002 00002 0164.3 020.25 01264 +26.0 00813 0811 00363 +374 00268 00266 00001 00002 0164.3 020.26 01264 +26.1 00813 0811 00363 +375 00271 00263 00003 00002 0164.3 020.26 01264 +25.9 00813 0811 00363 +376 00261 00263 00002 00002 0164.4 020.26 01263 +26.0 00813 0811 00363 +377 00260 00262 00002 00002 0164.4 020.27 01263 +26.1 00813 0811 00363 +378 00268 00263 00001 00002 0164.4 020.27 01263 +26.1 00813 0811 00364 +379 00263 00261 00003 00002 0164.5 020.28 01263 +26.0 00813 0811 00364 +380 00252 00262 00003 00002 0164.5 020.28 01263 +26.0 00813 0811 00364 +381 00259 00263 00002 00002 0164.5 020.28 01263 +25.9 00814 0811 00364 +382 00262 00262 00003 00002 0164.9 020.28 01263 +25.9 00813 0811 00364 +383 00260 00264 00002 00002 0164.9 020.33 01263 +26.1 00813 0811 00364 +384 00258 00261 00002 00002 0164.9 020.33 01263 +26.1 00813 0811 00364 +385 00263 00264 00002 00002 0164.9 020.33 01263 +26.1 00813 0811 00364 +386 00255 00259 00002 00002 0164.8 020.33 01263 +26.1 00813 0811 00364 +387 00262 00259 00001 00002 0164.9 020.33 01263 +25.9 00813 0811 00364 +388 00275 00258 00000 00001 0164.9 020.33 01263 +25.9 00813 0811 00364 +389 00251 00253 00001 00001 0164.9 020.33 01263 +26.0 00813 0811 00364 +390 00259 00256 00001 00001 0164.9 020.33 01263 +25.8 00813 0811 00364 +391 00249 00256 00001 00001 0164.9 020.33 01262 +25.9 00813 0811 00365 +392 00257 00258 00002 00001 0164.9 020.33 01262 +26.1 00814 0811 00365 +393 00258 00258 00002 00001 0164.9 020.33 01262 +25.8 00813 0811 00365 +394 00257 00257 00001 00001 0164.9 020.33 01262 +26.0 00813 0811 00365 +395 00261 00257 00001 00001 0164.9 020.33 01262 +25.8 00813 0811 00365 +396 00255 00260 00000 00001 0164.9 020.33 01262 +26.0 00813 0811 00365 +397 00262 00260 00001 00001 0164.9 020.34 01262 +25.8 00813 0811 00365 +398 00256 00258 00003 00001 0164.9 020.34 01262 +25.7 00813 0811 00365 +399 00265 00260 00002 00001 0164.9 020.34 01262 +25.9 00813 0811 00365 +400 00253 00259 00001 00001 0164.9 020.34 01262 +25.7 00814 0811 00365 +401 00257 00262 00001 00002 0165.0 020.34 01262 +25.9 00813 0811 00365 +402 00243 00260 00001 00001 0165.0 020.34 01262 +25.8 00814 0811 00365 +403 00257 00260 00000 00001 0165.0 020.34 01262 +26.0 00813 0811 00365 +404 00260 00262 00000 00001 0165.0 020.34 01261 +25.7 00813 0811 00366 +405 00254 00258 00002 00001 0165.0 020.34 01261 +25.8 00814 0811 00366 +406 00250 00260 00001 00001 0165.0 020.34 01261 +25.7 00813 0811 00366 +407 00256 00261 00000 00001 0165.0 020.34 01261 +26.1 00813 0811 00366 +408 00276 00258 00002 00001 0165.0 020.34 01261 +25.7 00813 0811 00366 +409 00263 00260 00002 00001 0165.0 020.34 01261 +25.8 00813 0811 00366 +410 00258 00260 00001 00001 0165.0 020.35 01261 +25.7 00814 0811 00366 +411 00253 00260 00000 00001 0165.0 020.35 01261 +25.8 00812 0811 00366 +412 00252 00258 00000 00001 0165.1 020.35 01261 +25.7 00813 0811 00366 +413 00251 00257 00000 00000 0165.0 020.35 01261 +25.8 00814 0811 00366 +414 00261 00258 00000 00000 0165.1 020.35 01261 +25.7 00814 0811 00367 +415 00254 00256 00001 00001 0165.1 020.36 01261 +25.9 00813 0811 00367 +416 00255 00255 00001 00001 0165.1 020.35 01261 +25.8 00812 0811 00367 +417 00262 00256 00001 00001 0165.1 020.35 01261 +25.9 00813 0811 00367 +418 00265 00255 00000 00001 0165.1 020.36 01260 +25.7 00813 0811 00367 +419 00244 00256 00002 00001 0165.1 020.36 01260 +25.7 00814 0811 00368 +420 00272 00257 00001 00001 0165.1 020.35 01260 +25.8 00812 0811 00368 +421 00259 00257 00001 00001 0165.2 020.36 01260 +26.0 00813 0811 00368 +422 00256 00258 00000 00001 0165.2 020.36 01260 +26.0 00812 0811 00368 +423 00263 00257 00263 00001 0165.1 020.37 01260 +25.8 00812 0811 00368 +424 00245 00256 00001 00001 0165.2 020.36 01260 +25.7 00812 0811 00368 +425 00241 00252 00001 00001 0165.2 020.37 01260 +25.7 00814 0811 00368 +426 00257 00258 00000 00001 0165.2 020.37 01260 +25.7 00812 0811 00368 +427 00248 00255 00001 00001 0165.1 020.37 01260 +25.8 00813 0811 00368 +428 00241 00252 00001 00001 0165.1 020.36 01260 +25.7 00813 0811 00369 +429 00249 00253 00001 00001 0165.1 020.36 01260 +25.7 00812 0811 00369 +430 00245 00254 00001 00001 0165.1 020.36 01260 +25.7 00813 0811 00369 +431 00260 00258 00001 00000 0165.1 020.36 01260 +25.7 00813 0811 00369 +432 00249 00259 00000 00001 0165.1 020.36 01260 +25.9 00812 0811 00369 +433 00256 00257 00000 00001 0165.1 020.36 01260 +25.9 00813 0811 00369 +434 00255 00257 00001 00001 0165.1 020.36 01260 +25.8 00812 0811 00369 +435 00251 00254 00000 00000 0165.1 020.36 01260 +25.9 00812 0811 00369 +436 00249 00254 00001 00000 0165.1 020.36 01260 +25.7 00812 0811 00369 +437 00267 00255 00001 00001 0165.1 020.36 01260 +25.7 00813 0811 00369 +438 00251 00251 00000 00001 0165.1 020.36 01260 +25.7 00814 0811 00369 +439 00241 00251 00000 00001 0165.1 020.36 01259 +25.8 00813 0811 00369 +440 00264 00253 00000 00001 0165.1 020.36 01259 +25.7 00813 0811 00369 +441 00250 00256 00000 00000 0165.0 020.35 01259 +25.7 00812 0811 00369 +442 00251 00256 00000 00000 0165.0 020.35 01259 +25.8 00812 0811 00369 +443 00247 00256 00000 00000 0165.0 020.35 01259 +25.7 00813 0811 00369 +444 00263 00257 00000 00000 0165.0 020.35 01259 +25.6 00812 0811 00369 +445 00247 00255 00000 00000 0165.0 020.35 01259 +25.7 00813 0811 00369 +446 00257 00253 00001 00000 0165.0 020.35 01259 +25.7 00812 0811 00369 +447 00256 00255 00000 00000 0165.0 020.35 01259 +25.8 00812 0811 00370 +448 00253 00256 00000 00000 0165.0 020.35 01259 +25.7 00813 0811 00370 +449 00248 00251 00000 00000 0165.0 020.34 01259 +25.6 00812 0811 00370 +450 00246 00253 00000 00000 0165.0 020.34 01259 +25.8 00812 0811 00370 +451 00244 00252 00000 00000 0165.0 020.34 01259 +25.5 00813 0811 00369 +452 00249 00252 00000 00000 0165.0 020.34 01259 +25.5 00812 0811 00370 +453 00268 00254 00000 00000 0165.0 020.35 01259 +25.7 00812 0811 00370 +454 00252 00252 00000 00000 0165.0 020.35 01259 +25.5 00813 0811 00370 diff --git a/images/.gitkeep b/images/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/images/conexion_sensores.png b/images/conexion_sensores.png new file mode 100644 index 0000000..f2dda75 Binary files /dev/null and b/images/conexion_sensores.png differ diff --git a/main.c b/main.c new file mode 100644 index 0000000..ec49808 --- /dev/null +++ b/main.c @@ -0,0 +1,36 @@ +#include "daq.h" + +int main(int argc, char *argv[]){ + + int T_acq, t_samp; + + if(argc!=3){ + printf("Invalid number of arguments,\n"\ + "Usage: daq \nexiting!\n"); + return -2; + } + + // configuring sensors + printf("Configuring CO2 sensor\n"); + sensConf(SprintIR, B9600, Pulling_Mode, " K 00002\r\n", 5); + sensConf(SprintIR, B9600, FILnUNFIL, " M 00006\r\n", 5); + printf("Configuring CO sensor\n"); + sensConf(COAF, B9600, Pulling_Mode, "K 00002\r\n", 5); + sensConf(COAF, B9600, M_zZTHB, "M 14406\r\n", 5); + printf("Configuring O2 sensor\n"); + sensConf(LOX_O2, B9600, OX_P_Mode, "M 01\r\n", 5); + + // acquiring + T_acq = atoi(argv[1]);//str to int + t_samp = atoi(argv[2]); + printf("Starting data acquisition with duration of %dh every %ds\n", T_acq, t_samp); + DAQ(T_acq, t_samp); + + // deinit uart + uartClose(SprintIR); + uartClose(COAF); + uartClose(LOX_O2); + // finishing + printf("Exiting of the program...\n"); + return 0; +} diff --git a/resources/config-uart-pins.sh b/resources/config-uart-pins.sh new file mode 100755 index 0000000..d950f4b --- /dev/null +++ b/resources/config-uart-pins.sh @@ -0,0 +1,18 @@ +#!/bin/bash +#uart1 +config-pin P9_24 uart +config-pin -q P9_24 +config-pin P9_26 uart +config-pin -q P9_26 + +#uart2 +config-pin P9_21 uart +config-pin -q P9_21 +config-pin P9_22 uart +config-pin -q P9_22 + +#uart4 +config-pin P9_13 uart +config-pin -q P9_13 +config-pin P9_11 uart +config-pin -q P9_11 \ No newline at end of file diff --git a/resources/ebb-set-uart-pins.service b/resources/ebb-set-uart-pins.service new file mode 100644 index 0000000..230fe94 --- /dev/null +++ b/resources/ebb-set-uart-pins.service @@ -0,0 +1,11 @@ +Description=Enable the UART pins on boot +After=generic-board-startup.service + +[Service] +Type=simple +User=root +WorkingDirectory=/usr/bin +ExecStart=/usr/bin/config-uart-pins.sh + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/uart.c b/uart.c new file mode 100644 index 0000000..7d1ea47 --- /dev/null +++ b/uart.c @@ -0,0 +1,87 @@ +/* + comments +*/ +//libraries +#include "uart.h" + +//file paths and global variables +#define incomplet_uart_path "/dev/ttyO" +struct termios options; //The termios structure + +// *** FUNCTIONS *** + +int uartConf(unsigned char uartNumber, int baudRate) +{ + unsigned char fullFileName[11]; + + //completing uart file path + if ((uartNumber==1)||(uartNumber==2)||(uartNumber==4)||(uartNumber==5)) + sprintf(fullFileName, incomplet_uart_path "%d", uartNumber); + else{ + perror("Wrong UART number. " \ + "UART numbers availables 1, 2, 4 or 5.\n"); + return UART_NUMBER_INCORRECT; + } + //openign uart file + printf("Configuring UART%d.\n", uartNumber); + if ((uartFile[uartNumber] = open(fullFileName, O_RDWR | O_NOCTTY | O_NDELAY | O_NONBLOCK))<0){ + //if ((uartFile[uartNumber] = open(fullFileName, O_RDWR | O_NOCTTY | O_NDELAY))<0){ + //if ((uartFile[uartNumber] = open(fullFileName, O_RDWR | O_NOCTTY))<0){ + perror("UART: Failed to open the file.\n"); + return -1; + } + //Sets the parameters associated with file + tcgetattr(uartFile[uartNumber], &options); + //cleaning flags + options.c_ispeed = 0; + options.c_lflag = 0; + options.c_line = 0; + options.c_oflag = 0; + options.c_ospeed = 0; + // Set up the communications options: + // 8-bit, enable receiver, no modem control lines + options.c_cflag = baudRate | CS8 | CREAD | CLOCAL; + options.c_iflag = IGNPAR; //ignore partity errors, CR -> newline + //options.c_iflag = IGNPAR | ICRNL; //ignore partity errors, CR -> newline + //options.c_lflag = ICANON; + tcflush(uartFile[uartNumber], TCIOFLUSH); //discard file information not transmitted + tcsetattr(uartFile[uartNumber], TCSANOW, &options); //changes occur immmediately + printf("UART%d configurated.\n", uartNumber); + + return UART_FUNCTION_SUCCESSFUL; +} + +int uartClose(unsigned char uartNumber) +{ + printf("Closing UART%d.\n", uartNumber); + close(uartFile[uartNumber]); + return UART_FUNCTION_SUCCESSFUL; +} + +int uartTransmit(unsigned char uartNumber, unsigned char message[]) +{ + int count; + + //writing file + if ((count = write(uartFile[uartNumber], message, (strlen(message))))<0){ //send the string + perror("Failed to write to the output\n"); + return -1; + } + tcflush(uartFile[uartNumber], TCOFLUSH); + + return UART_FUNCTION_SUCCESSFUL; +} + +int uartReceive(unsigned char uartNumber) +{ + int count; + + /*if ((count = read(uartFile[uartNumber], (void*)receive[uartNumber], 100))<0){ //receive[uartNumber] the data + perror("Failed to read from the input\n"); + return -1; + }*/ + while((count = read(uartFile[uartNumber], (void*)receive[uartNumber], 100)) < 0); + tcflush(uartFile[uartNumber], TCIFLUSH); + + return count; +} diff --git a/uart.h b/uart.h new file mode 100644 index 0000000..b5bb2fa --- /dev/null +++ b/uart.h @@ -0,0 +1,35 @@ +// Guarding macro start +#ifndef UART_H +#define UART_H + +// Includes begin +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// Error codes and return values +#define UART_FUNCTION_SUCCESSFUL 0 +#define UART_NUMBER_INCORRECT 1 +/*#define UART_BAUDRATE_INCORRECT 2 +#define UART_FIFO_ERROR 3 +#define UART_INCORRECT_PATH 4*/ + +//VARIABLES +int uartFile[6]; //file descriptor +unsigned char receive[6][100]; //declare a buffer for receiving data + +// Function declarations +int uartConf(uint8_t uartNumber, int baudRate); +int uartClose(uint8_t uartNumber); +int uartTransmit(uint8_t uartNumber, unsigned char message[]); +int uartReceive(uint8_t uartNumber); + +// Guarding macro end +#endif // UART_H