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