| [637] | 1 | #include "diabolo.h" | 
|---|
|  | 2 | #include "bolo.h" | 
|---|
|  | 3 | #include "acqui.h" | 
|---|
|  | 4 | #include "carte_acqui.h" | 
|---|
|  | 5 | #include "trace.h" | 
|---|
|  | 6 | #include "synchro.h" | 
|---|
|  | 7 |  | 
|---|
|  | 8 | //#define  scroll_courbe  0 | 
|---|
|  | 9 |  | 
|---|
|  | 10 |  | 
|---|
|  | 11 |  | 
|---|
|  | 12 |  | 
|---|
|  | 13 | //----------------------------------  fenetre : lit_fifo  ----------------------------------- | 
|---|
|  | 14 |  | 
|---|
|  | 15 |  | 
|---|
|  | 16 |  | 
|---|
|  | 17 |  | 
|---|
|  | 18 | void exec_trace_tout(int fen,int item,double valeur,...) | 
|---|
|  | 19 | { | 
|---|
|  | 20 | static double y[nb_max_bolo+1]; | 
|---|
|  | 21 | static double f1[nb_max_bolo+1]; | 
|---|
|  | 22 | static double f2[nb_max_bolo+1]; | 
|---|
|  | 23 | static double   fmin,fmax; | 
|---|
|  | 24 |  | 
|---|
|  | 25 | static int moyenne,ipas; | 
|---|
|  | 26 | static double fmini,fmaxi; | 
|---|
|  | 27 |  | 
|---|
|  | 28 |  | 
|---|
|  | 29 | int  j; | 
|---|
|  | 30 | double x,c1,c2; | 
|---|
|  | 31 |  | 
|---|
|  | 32 | switch(item) | 
|---|
|  | 33 | { | 
|---|
|  | 34 | case ouverture     :        gg->trace_ouvert=gg->trace_ouvert | 1 ; | 
|---|
|  | 35 | graph->ymin=-120; | 
|---|
|  | 36 | graph->ymax=120; | 
|---|
|  | 37 | graph->ypas=20; | 
|---|
|  | 38 | graph->xmax=500; | 
|---|
|  | 39 | graph->xpas=50; | 
|---|
|  | 40 | graph->taille_graduations=8; | 
|---|
|  | 41 | //                                              graph->sans_image=1; | 
|---|
|  | 42 | //                                              graph->flag_tracen=0; | 
|---|
|  | 43 | //                                              for(j=0;j<parametr.nb_bolo+1;j++)       graph->flag_tracen+=(1<<j); | 
|---|
|  | 44 | //                                                      moyenne=10;ipas=1; | 
|---|
|  | 45 | //                                                      ecritD(fen,t_moyenne,"%d",moyenne); | 
|---|
|  | 46 |  | 
|---|
|  | 47 | //                                                      fmini=0;ecritD(fen,t_fmini,"%g",fmini); | 
|---|
|  | 48 | //                                                      fmaxi=10;ecritD(fen,t_fmaxi,"%g",fmaxi); | 
|---|
|  | 49 | for(j=0;j<parametr.nb_bolo;j++)  f1[j]=0; | 
|---|
|  | 50 | for(j=0;j<parametr.nb_bolo;j++)  f2[j]=0; | 
|---|
|  | 51 | for(j=0;j<parametr.nb_bolo;j++)  y[j]=0; | 
|---|
|  | 52 |  | 
|---|
|  | 53 |  | 
|---|
|  | 54 | case t_moyenne              : | 
|---|
|  | 55 | case t_moyenne+1000 : | 
|---|
|  | 56 | case t_fmini                : | 
|---|
|  | 57 | case t_fmini+1000   : | 
|---|
|  | 58 | case t_fmaxi              : | 
|---|
|  | 59 | case t_fmaxi+1000   :       moyenne=litD(fen,t_moyenne,0L);if(moyenne<1) moyenne=1; | 
|---|
|  | 60 | fmini=litD(fen,t_fmini,0L); | 
|---|
|  | 61 | fmaxi=litD(fen,t_fmaxi,0L); | 
|---|
|  | 62 | for(j=0;j<parametr.nb_bolo;j++)  f1[j]=0; | 
|---|
|  | 63 |  | 
|---|
|  | 64 | c1=2*3.14*fmini*gg->periode_echantillonage;             c1=c1/(1+c1); | 
|---|
|  | 65 | c2=2*3.14*fmaxi*gg->periode_echantillonage;             c2=c2/(1+c2); | 
|---|
|  | 66 |  | 
|---|
|  | 67 | printf("c1=%g   c2=%g  \n",c1,c2); | 
|---|
|  | 68 | break; | 
|---|
|  | 69 |  | 
|---|
|  | 70 | case fermeture     :        gg->trace_ouvert=gg->trace_ouvert & (255-1);            // enleve le 1 | 
|---|
|  | 71 | break; | 
|---|
|  | 72 |  | 
|---|
|  | 73 |  | 
|---|
|  | 74 | case t_raz                  :       gg->temps_origine=gg->periode_echantillonage*(double)gg->temps_cntl;                            //break; | 
|---|
|  | 75 | case t_efface               :       efface(fen); | 
|---|
|  | 76 | break; | 
|---|
|  | 77 |  | 
|---|
|  | 78 |  | 
|---|
|  | 79 | case tache_de_fond          :       selectgra(fen); | 
|---|
|  | 80 |  | 
|---|
|  | 81 | c1=2*3.14*fmini*gg->periode_echantillonage;             c1=c1/(1+c1); | 
|---|
|  | 82 | c2=2*3.14*fmaxi*gg->periode_echantillonage;             c2=c2/(1+c2); | 
|---|
|  | 83 |  | 
|---|
|  | 84 | for(j=0;j<parametr.nb_bolo;j++) | 
|---|
|  | 85 | { | 
|---|
|  | 86 | f1[j]= (1-c1) * f1[j]   + c1 * xbol(j); | 
|---|
|  | 87 | f2[j]= (1-c2) * f2[j]   + c2 * xbol(j); | 
|---|
|  | 88 | y[j]+=f2[j]-f1[j]; | 
|---|
|  | 89 | } | 
|---|
|  | 90 | ipas--; | 
|---|
|  | 91 | if(ipas<=0) | 
|---|
|  | 92 | { | 
|---|
|  | 93 | ipas=moyenne; | 
|---|
|  | 94 | for(j=0;j<parametr.nb_bolo;j++) y[j]=y[j]/(double)moyenne; | 
|---|
|  | 95 |  | 
|---|
|  | 96 | //                                                              y[parametr.nb_bolo]=(0.95*graph->ymin+0.05*graph->ymax) + | 
|---|
|  | 97 | //                                                                      +  ( (gg->don.sync[sync_subscan]!=0) et (gg->don.sync[sync_scan]!=0) ) | 
|---|
|  | 98 | //                                                                              * 0.9 * (graph->ymax-graph->ymin); | 
|---|
|  | 99 |  | 
|---|
|  | 100 | x=gg->periode_echantillonage*(double)gg->temps_cntl-gg->temps_origine; | 
|---|
|  | 101 | //                                                              printf("x=%g  x0=%g  \n",x,x0); | 
|---|
|  | 102 | //if(x<0) {x0=gg->periode_echantillonage*(double)gg->temps_cntl;x=0;} | 
|---|
|  | 103 |  | 
|---|
|  | 104 | montracen(fen,parametr.nb_bolo,x,y);    // SANS LA SYNCHRO | 
|---|
|  | 105 | //                                                              montracen(fen,parametr.nb_bolo+1,x,y);  // avec la synchro | 
|---|
|  | 106 |  | 
|---|
|  | 107 | if(!(graph->scroll_courbe) && litD(fen,t_retour,0L) && | 
|---|
|  | 108 | ( (x<graph->xmin) ou (x>graph->xmax) )) | 
|---|
|  | 109 | { | 
|---|
|  | 110 | graph->xmax-=graph->xmin;graph->xmin=0; | 
|---|
|  | 111 | gg->temps_origine=gg->periode_echantillonage*(double)gg->temps_cntl; | 
|---|
|  | 112 | x=0; | 
|---|
|  | 113 | } | 
|---|
|  | 114 |  | 
|---|
|  | 115 | for(j=0;j<parametr.nb_bolo;j++) y[j]=0; | 
|---|
|  | 116 | } | 
|---|
|  | 117 |  | 
|---|
|  | 118 | default                      :   break; | 
|---|
|  | 119 | } | 
|---|
|  | 120 |  | 
|---|
|  | 121 | } | 
|---|
|  | 122 |  | 
|---|
|  | 123 |  | 
|---|