Vic Van Roie / Mbed 2 deprecated STEM_Nucleo_start

Dependencies:   mbed

analyseer_pulstrein.h

Committer:
VicOnCampusGeel
Date:
2017-02-09
Revision:
0:d6c40db60579

File content as of revision 0:d6c40db60579:

//---------------------------------------------------------------------------------------------------------------
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: