Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
analyseer_pulstrein.h@0:d6c40db60579, 2017-02-09 (annotated)
- Committer:
- VicOnCampusGeel
- Date:
- Thu Feb 09 08:28:08 2017 +0000
- Revision:
- 0:d6c40db60579
start;
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| VicOnCampusGeel | 0:d6c40db60579 | 1 | //--------------------------------------------------------------------------------------------------------------- |
| VicOnCampusGeel | 0:d6c40db60579 | 2 | void analyseer_pulstrein() // |
| VicOnCampusGeel | 0:d6c40db60579 | 3 | { |
| VicOnCampusGeel | 0:d6c40db60579 | 4 | int min_dt=0,min_dt_L=0,min_dt_H=0; |
| VicOnCampusGeel | 0:d6c40db60579 | 5 | int max_dt=0,max_dt_L=0,max_dt_H=0; |
| VicOnCampusGeel | 0:d6c40db60579 | 6 | int DT_Lowlevel=0,DT_Highlevel=0; |
| VicOnCampusGeel | 0:d6c40db60579 | 7 | const int TH_pulsduur_Low=2000,TH_pulsduur_High=2000; // Voor pulsduur registratie |
| VicOnCampusGeel | 0:d6c40db60579 | 8 | |
| VicOnCampusGeel | 0:d6c40db60579 | 9 | int j=0; |
| VicOnCampusGeel | 0:d6c40db60579 | 10 | char sL[30]=":DT_Low:"; |
| VicOnCampusGeel | 0:d6c40db60579 | 11 | char sH[30]=":DT_High:",ms[30]=":microsec"; |
| VicOnCampusGeel | 0:d6c40db60579 | 12 | char IRCFile[]=""; // eventueel de naam van een File op disk |
| VicOnCampusGeel | 0:d6c40db60579 | 13 | int termlog = 0; // terminal log default off |
| VicOnCampusGeel | 0:d6c40db60579 | 14 | int Pulsduur=1; // Pulstrein met pulsduur analyse |
| VicOnCampusGeel | 0:d6c40db60579 | 15 | if (termlog) { //terminal logging is on |
| VicOnCampusGeel | 0:d6c40db60579 | 16 | printf("\n---Start analyse pulstrein: %s \n\r",IRCFile); |
| VicOnCampusGeel | 0:d6c40db60579 | 17 | printf("--------------------------------\n\r"); |
| VicOnCampusGeel | 0:d6c40db60579 | 18 | } |
| VicOnCampusGeel | 0:d6c40db60579 | 19 | if (eHL_cnt>eLH_cnt) { |
| VicOnCampusGeel | 0:d6c40db60579 | 20 | max_cnt =eHL_cnt; |
| VicOnCampusGeel | 0:d6c40db60579 | 21 | } else { |
| VicOnCampusGeel | 0:d6c40db60579 | 22 | max_cnt =eLH_cnt; |
| VicOnCampusGeel | 0:d6c40db60579 | 23 | } |
| VicOnCampusGeel | 0:d6c40db60579 | 24 | if (debug) { |
| VicOnCampusGeel | 0:d6c40db60579 | 25 | printf("---Aantal pulsen Hoog: %5d :Laag:%5d : max_cnt: %5d\r\n",eHL_cnt,eLH_cnt,max_cnt); |
| VicOnCampusGeel | 0:d6c40db60579 | 26 | } |
| VicOnCampusGeel | 0:d6c40db60579 | 27 | for (int i=0; i < max_cnt+1; i++) { // 1: forloop start na de startpuls |
| VicOnCampusGeel | 0:d6c40db60579 | 28 | if (Pulsduur) { // 2: de individuele tijden lezen als pulsduur |
| VicOnCampusGeel | 0:d6c40db60579 | 29 | if (debug) { |
| VicOnCampusGeel | 0:d6c40db60579 | 30 | printf( "%d %s %d %s %d %s \r\n", j,sL ,dt_Low[i],sH,dt_High[i],ms ); |
| VicOnCampusGeel | 0:d6c40db60579 | 31 | } |
| VicOnCampusGeel | 0:d6c40db60579 | 32 | if (i==0) { // 3: hoofdloop uitzonderingen |
| VicOnCampusGeel | 0:d6c40db60579 | 33 | DT_Lowlevel=0; // DT_Lowlevel : Tel de Totale tijd hoog van de pulstrein |
| VicOnCampusGeel | 0:d6c40db60579 | 34 | DT_Highlevel=0; // DT_Highlevel : Tel de Totale tijd laag van de pulstrein |
| VicOnCampusGeel | 0:d6c40db60579 | 35 | } else { // 4: subloop 1=< i =< |
| VicOnCampusGeel | 0:d6c40db60579 | 36 | |
| VicOnCampusGeel | 0:d6c40db60579 | 37 | if (i==1) { // Init pulsduuren na lezen eerste puls |
| VicOnCampusGeel | 0:d6c40db60579 | 38 | min_dt_H = dt_High[1]; // Bepaal de min en maximale pulsduur van de bits na de startpuls : |
| VicOnCampusGeel | 0:d6c40db60579 | 39 | min_dt_L = dt_Low[1]; // Bepaal de kleinste pulsduur: PulsduurHoog of PulsduurLaag |
| VicOnCampusGeel | 0:d6c40db60579 | 40 | max_dt_H = dt_High[1]; // Bepaal de min en maximale pulsduur van de bits na de startpuls : |
| VicOnCampusGeel | 0:d6c40db60579 | 41 | max_dt_L = dt_Low[1]; // Bepaal de kleinste pulsduur: PulsduurHoog of PulsduurLaag |
| VicOnCampusGeel | 0:d6c40db60579 | 42 | min_dt =min_dt_H; |
| VicOnCampusGeel | 0:d6c40db60579 | 43 | if ( min_dt > min_dt_L) { |
| VicOnCampusGeel | 0:d6c40db60579 | 44 | min_dt = min_dt_L; |
| VicOnCampusGeel | 0:d6c40db60579 | 45 | } |
| VicOnCampusGeel | 0:d6c40db60579 | 46 | } // close if init pulsduuren |
| VicOnCampusGeel | 0:d6c40db60579 | 47 | } // 3: einde uitzonderingen i > 1 normaal behandelen |
| VicOnCampusGeel | 0:d6c40db60579 | 48 | |
| VicOnCampusGeel | 0:d6c40db60579 | 49 | if ((dt_Low[i] > 0)and (dt_Low[i] < TH_pulsduur_High)) { |
| VicOnCampusGeel | 0:d6c40db60579 | 50 | DT_Highlevel=DT_Highlevel+dt_Low[i]; // DT_Highlevel : Tel de Totale tijd laag van de pulstrein |
| VicOnCampusGeel | 0:d6c40db60579 | 51 | if ( min_dt_L > dt_Low[i]) { |
| VicOnCampusGeel | 0:d6c40db60579 | 52 | min_dt_L = dt_Low[i]; |
| VicOnCampusGeel | 0:d6c40db60579 | 53 | } |
| VicOnCampusGeel | 0:d6c40db60579 | 54 | if ( max_dt_L < dt_Low[i]) { |
| VicOnCampusGeel | 0:d6c40db60579 | 55 | max_dt_L = dt_Low[i]; |
| VicOnCampusGeel | 0:d6c40db60579 | 56 | } |
| VicOnCampusGeel | 0:d6c40db60579 | 57 | if ( min_dt > dt_Low[i]) { |
| VicOnCampusGeel | 0:d6c40db60579 | 58 | min_dt = dt_Low[i]; // Bepaal de kleinste pulsduur: PulsduurHoog of PulsduurLaag |
| VicOnCampusGeel | 0:d6c40db60579 | 59 | } |
| VicOnCampusGeel | 0:d6c40db60579 | 60 | } |
| VicOnCampusGeel | 0:d6c40db60579 | 61 | |
| VicOnCampusGeel | 0:d6c40db60579 | 62 | if ((dt_High[i] > 0)and (dt_High[i] < TH_pulsduur_Low)) { |
| VicOnCampusGeel | 0:d6c40db60579 | 63 | DT_Lowlevel=DT_Lowlevel+dt_High[i]; // DT_Lowlevel : Tel de Totale tijd hoog van de pulstrein |
| VicOnCampusGeel | 0:d6c40db60579 | 64 | if( min_dt_H > dt_High[i]) { |
| VicOnCampusGeel | 0:d6c40db60579 | 65 | min_dt_H = dt_High[i]; |
| VicOnCampusGeel | 0:d6c40db60579 | 66 | } |
| VicOnCampusGeel | 0:d6c40db60579 | 67 | if( max_dt_H < dt_High[i]) { |
| VicOnCampusGeel | 0:d6c40db60579 | 68 | max_dt_H = dt_High[i]; |
| VicOnCampusGeel | 0:d6c40db60579 | 69 | } |
| VicOnCampusGeel | 0:d6c40db60579 | 70 | if( min_dt > dt_High[i]) { |
| VicOnCampusGeel | 0:d6c40db60579 | 71 | min_dt = dt_High[i]; |
| VicOnCampusGeel | 0:d6c40db60579 | 72 | } |
| VicOnCampusGeel | 0:d6c40db60579 | 73 | } |
| VicOnCampusGeel | 0:d6c40db60579 | 74 | } else { // 2: else pulsduur |
| VicOnCampusGeel | 0:d6c40db60579 | 75 | if (debug) { |
| VicOnCampusGeel | 0:d6c40db60579 | 76 | printf("%d: Flank L-H :%d: Flank H-L:%d:us = pulsduur_H:%d\r\n", i,dt_High[i] ,dt_Low[i], dt_Low[i]-dt_High[i] ); |
| VicOnCampusGeel | 0:d6c40db60579 | 77 | } |
| VicOnCampusGeel | 0:d6c40db60579 | 78 | } //2: close pulsduur |
| VicOnCampusGeel | 0:d6c40db60579 | 79 | |
| VicOnCampusGeel | 0:d6c40db60579 | 80 | max_dt=max_dt_H; |
| VicOnCampusGeel | 0:d6c40db60579 | 81 | if (max_dt<max_dt_L) { |
| VicOnCampusGeel | 0:d6c40db60579 | 82 | max_dt =max_dt_L; |
| VicOnCampusGeel | 0:d6c40db60579 | 83 | } |
| VicOnCampusGeel | 0:d6c40db60579 | 84 | } // 1: close for loop |
| VicOnCampusGeel | 0:d6c40db60579 | 85 | |
| VicOnCampusGeel | 0:d6c40db60579 | 86 | if ((termlog )and (max_cnt>1)) { //terminal logging is on, print analyseresultaat |
| VicOnCampusGeel | 0:d6c40db60579 | 87 | printf("---Aantal pulsen Low : %5d\r\n",eHL_cnt); |
| VicOnCampusGeel | 0:d6c40db60579 | 88 | printf("---Aantal pulsen High : %5d\r\n",eLH_cnt); |
| VicOnCampusGeel | 0:d6c40db60579 | 89 | printf("---Aantal max_cnt : %5d\r\n",max_cnt); |
| VicOnCampusGeel | 0:d6c40db60579 | 90 | printf("---Startpuls duurtijd Low : %5d\r\n",dt_Low[0]); |
| VicOnCampusGeel | 0:d6c40db60579 | 91 | printf("---Startpuls duurtijd High : %5d\r\n",dt_High[0]); |
| VicOnCampusGeel | 0:d6c40db60579 | 92 | printf("------------------------------------\r\n" ); |
| VicOnCampusGeel | 0:d6c40db60579 | 93 | printf("---Minumum pulsduur Low : %5d\r\n",min_dt_L); |
| VicOnCampusGeel | 0:d6c40db60579 | 94 | printf("---Minimum pulsduur High : %5d\r\n",min_dt_H); |
| VicOnCampusGeel | 0:d6c40db60579 | 95 | printf("---minimum pulsduur : %5d\r\n",min_dt); |
| VicOnCampusGeel | 0:d6c40db60579 | 96 | printf("------------------------------------\r\n" ); |
| VicOnCampusGeel | 0:d6c40db60579 | 97 | printf("---Maximum pulsduur Low : %5d\r\n",max_dt_L); |
| VicOnCampusGeel | 0:d6c40db60579 | 98 | printf("---Maximum pulsduur High : %5d\r\n",max_dt_H); |
| VicOnCampusGeel | 0:d6c40db60579 | 99 | printf("---Maximum pulsduur : %5d\r\n",max_dt); |
| VicOnCampusGeel | 0:d6c40db60579 | 100 | printf("------------------------------------\r\n" ); |
| VicOnCampusGeel | 0:d6c40db60579 | 101 | printf("---minimum Bittijd binair 0 : %5d\r\n",min_dt_L + min_dt_H); |
| VicOnCampusGeel | 0:d6c40db60579 | 102 | printf("---maximum Bittijd binair 1 : %5d\r\n",max_dt_H+max_dt_L); |
| VicOnCampusGeel | 0:d6c40db60579 | 103 | printf("------------------------------------\r\n" ); |
| VicOnCampusGeel | 0:d6c40db60579 | 104 | printf("---Totale pulstreinduurtijd High :%7d\r\n",DT_Highlevel); |
| VicOnCampusGeel | 0:d6c40db60579 | 105 | printf("---Totale pulstreinduurtijd Low :%7d\r\n",DT_Lowlevel); |
| VicOnCampusGeel | 0:d6c40db60579 | 106 | printf("---Totale pulstreinduurtijd :%7d\r\n",DT_Highlevel+DT_Lowlevel); |
| VicOnCampusGeel | 0:d6c40db60579 | 107 | } |
| VicOnCampusGeel | 0:d6c40db60579 | 108 | } //0: |