Vic Van Roie / Mbed 2 deprecated STEM_Nucleo_start

Dependencies:   mbed

Revision:
0:d6c40db60579
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/analyseer_pulstrein.h	Thu Feb 09 08:28:08 2017 +0000
@@ -0,0 +1,108 @@
+//---------------------------------------------------------------------------------------------------------------
+void analyseer_pulstrein()    //
+{
+    int min_dt=0,min_dt_L=0,min_dt_H=0;
+    int max_dt=0,max_dt_L=0,max_dt_H=0;
+    int DT_Lowlevel=0,DT_Highlevel=0;
+    const int TH_pulsduur_Low=2000,TH_pulsduur_High=2000; // Voor pulsduur registratie
+
+    int j=0;
+    char sL[30]=":DT_Low:";
+    char sH[30]=":DT_High:",ms[30]=":microsec";
+    char IRCFile[]=""; // eventueel de naam van een File op disk
+    int termlog = 0;  // terminal log default off
+    int Pulsduur=1;   // Pulstrein met pulsduur analyse
+    if (termlog) { //terminal logging is on
+        printf("\n---Start analyse pulstrein: %s \n\r",IRCFile);
+        printf("--------------------------------\n\r");
+    }
+    if (eHL_cnt>eLH_cnt) {
+        max_cnt =eHL_cnt;
+    } else {
+        max_cnt =eLH_cnt;
+    }
+    if (debug) {
+        printf("---Aantal pulsen Hoog: %5d :Laag:%5d : max_cnt: %5d\r\n",eHL_cnt,eLH_cnt,max_cnt);
+    }
+    for (int i=0; i < max_cnt+1; i++) { // 1: forloop start na de startpuls
+        if (Pulsduur) { // 2: de individuele tijden lezen als pulsduur
+            if (debug) {
+                printf( "%d %s %d %s %d %s \r\n", j,sL ,dt_Low[i],sH,dt_High[i],ms );
+            }
+            if (i==0) { // 3: hoofdloop uitzonderingen
+                DT_Lowlevel=0;      // DT_Lowlevel : Tel de Totale tijd hoog van de pulstrein
+                DT_Highlevel=0;    // DT_Highlevel : Tel de Totale tijd laag van de pulstrein
+            } else { // 4: subloop 1=< i =<
+
+                if (i==1) { // Init pulsduuren na lezen eerste puls
+                    min_dt_H = dt_High[1];  // Bepaal de min en maximale pulsduur van de bits na de startpuls :
+                    min_dt_L = dt_Low[1]; // Bepaal de kleinste pulsduur: PulsduurHoog of PulsduurLaag
+                    max_dt_H = dt_High[1];  // Bepaal de min en maximale pulsduur van de bits na de startpuls :
+                    max_dt_L = dt_Low[1]; // Bepaal de kleinste pulsduur: PulsduurHoog of PulsduurLaag
+                    min_dt =min_dt_H;
+                    if ( min_dt > min_dt_L) {
+                        min_dt = min_dt_L;
+                    }
+                } // close if init pulsduuren
+            } // 3: einde uitzonderingen i > 1 normaal behandelen
+
+            if ((dt_Low[i] > 0)and (dt_Low[i] < TH_pulsduur_High)) {
+                DT_Highlevel=DT_Highlevel+dt_Low[i];    // DT_Highlevel : Tel de Totale tijd laag van de pulstrein
+                if ( min_dt_L > dt_Low[i]) {
+                    min_dt_L = dt_Low[i];
+                }
+                if ( max_dt_L < dt_Low[i]) {
+                    max_dt_L = dt_Low[i];
+                }
+                if ( min_dt > dt_Low[i]) {
+                    min_dt = dt_Low[i];     // Bepaal de kleinste pulsduur: PulsduurHoog of PulsduurLaag
+                }
+            }
+
+            if ((dt_High[i] > 0)and (dt_High[i] < TH_pulsduur_Low)) {
+                DT_Lowlevel=DT_Lowlevel+dt_High[i];  // DT_Lowlevel : Tel de Totale tijd hoog van de pulstrein
+                if( min_dt_H > dt_High[i]) {
+                    min_dt_H = dt_High[i];
+                }
+                if( max_dt_H < dt_High[i]) {
+                    max_dt_H = dt_High[i];
+                }
+                if( min_dt > dt_High[i]) {
+                    min_dt = dt_High[i];
+                }
+            }
+        }     else { // 2: else pulsduur
+            if (debug) {
+                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] );
+            }
+        } //2: close pulsduur
+        
+        max_dt=max_dt_H;
+        if (max_dt<max_dt_L) {
+            max_dt =max_dt_L;
+        }
+    } // 1: close for loop
+
+    if ((termlog )and (max_cnt>1)) { //terminal logging is on, print analyseresultaat
+        printf("---Aantal pulsen Low   : %5d\r\n",eHL_cnt);
+        printf("---Aantal pulsen High  : %5d\r\n",eLH_cnt);
+        printf("---Aantal max_cnt      : %5d\r\n",max_cnt);
+        printf("---Startpuls duurtijd Low   : %5d\r\n",dt_Low[0]);
+        printf("---Startpuls duurtijd High  : %5d\r\n",dt_High[0]);
+        printf("------------------------------------\r\n" );
+        printf("---Minumum pulsduur Low     : %5d\r\n",min_dt_L);
+        printf("---Minimum pulsduur High    : %5d\r\n",min_dt_H);
+        printf("---minimum pulsduur         : %5d\r\n",min_dt);
+        printf("------------------------------------\r\n" );
+        printf("---Maximum pulsduur Low     : %5d\r\n",max_dt_L);
+        printf("---Maximum pulsduur High    : %5d\r\n",max_dt_H);
+        printf("---Maximum pulsduur         : %5d\r\n",max_dt);
+        printf("------------------------------------\r\n" );
+        printf("---minimum Bittijd binair 0 : %5d\r\n",min_dt_L + min_dt_H);
+        printf("---maximum Bittijd binair 1 : %5d\r\n",max_dt_H+max_dt_L);
+        printf("------------------------------------\r\n" );
+        printf("---Totale pulstreinduurtijd High   :%7d\r\n",DT_Highlevel);
+        printf("---Totale pulstreinduurtijd Low    :%7d\r\n",DT_Lowlevel);
+        printf("---Totale pulstreinduurtijd        :%7d\r\n",DT_Highlevel+DT_Lowlevel);
+    }
+} //0:
\ No newline at end of file