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