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