Vic Van Roie / Mbed 2 deprecated STEM_Nucleo_start

Dependencies:   mbed

Committer:
VicOnCampusGeel
Date:
Thu Feb 09 08:28:08 2017 +0000
Revision:
0:d6c40db60579
start;

Who changed what in which revision?

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