annotate FXAnalyse.c @ 10:239f2fe67cc0

Fix slope cancelling following Hg cavity What we really want to do is to keep constant the frequency of the beat note between comb and 1062 nm light from the Hg cavity, acting on the repetition rate by stearing the frequency of the 1542 nm light from the local cavity to which we lock the comb.
author Daniele Nicolodi <daniele.nicolodi@obspm.fr>
date Wed, 04 Jul 2012 14:39:50 +0200
parents 5549a69e1cfa
children 783407954cdf
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1 #include <utility.h>
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2 #include <ansi_c.h>
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
3 #include <cvirte.h>
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
4 #include <userint.h>
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
5 #include <formatio.h>
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
6 #include <string.h>
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
7
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
8 #include "YLCStuff.h"
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
9 #include "FXAnalyse.h"
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
10 #include "Plot.h"
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
11 #include "Allan.h"
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
12 #include "DDSBes.h"
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
13 #include "DDS4xAD9912.h"
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
14 #include "DDS_Fox.h"
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
15 #include "muParserDLL.h"
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
16
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
17
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
18 #define FXLINELENGTH 123
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
19 #define DDSBESCLOCK (200.e6) // 200MHz de clock pour la DDS de Besancon...
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
20
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
21
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
22 #define LOGFILEPATH "C:\\Femto\\Software\\FXQE80"
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
23 #define FREP_NORMAL_FORMULA "(0-15M+DDS-Ch1/200)/12+2M/3"
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
24 #define NUOL_NORMAL_FORMULA "(N*250M-194400G)+N*Math1-8*DDS1"
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
25 #define NUHG_NORMAL_FORMULA "(N*250M-282143G)+N*Math1-(DDS1-Ch2)"
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
26 #define NUSR_NORMAL_FORMULA "(N*250M-429228G)+N*Math1+(DDS2-Ch3)"
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
27 #define NU813_NORMAL_FORMULA "(N*766M-368554G)+N*Math1+000.000M"
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
28 #define NU1064_NORMAL_FORMULA "(N*766M-281630G)+(DDS_1064-Ch4)"
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
29
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
30 #define FACTORDDSBES 36*(8/770000)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
31
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
32 //==============================================================================
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
33 // Static global variables
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
34
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
35 /* multi threading stuff */ // to be used when I will replace timer by thread for counder readout
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
36 //static int ghPool;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
37 //static volatile int vgExiting = 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
38
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
39 /* panel handling stuff */
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
40 static PanelHandle MainPanel ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
41 static PanelHandle CalcN1Panel ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
42 static PanelHandle CalcN2Panel ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
43 static PanelHandle CalcN3Panel ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
44
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
45 //==============================================================================
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
46 // Static functions
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
47
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
48 //static int CVICALLBACK ReadCounterThread(void *functionData); // to be used when I will replace timer by thread for counder readout
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
49
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
50 //==============================================================================
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
51 // Global variables
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
52
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
53 char * LogFileName ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
54 char ExtraMathFileName[MAX_PATHNAME_LEN] ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
55
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
56 double utc = 0 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
57 double mjd =0 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
58
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
59 double Ch1, Ch2, Ch3, Ch4 ; // le type long double est identique au double (8 octets) sous CVI !!!
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
60 double Math1, Math2, Math3, Math4, Math5; // N est en fait un entier en pratique...
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
61 double N1, N2, N3,N4 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
62
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
63 Plot_Data PlotCh1, PlotCh2, PlotCh3, PlotCh4, PlotMath1, PlotMath2, PlotMath3, PlotMath4, PlotMath5 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
64 Allan_Data AllanCh1, AllanCh2, AllanCh3, AllanCh4, AllanMath1, AllanMath2, AllanMath3, AllanMath4, AllanMath5 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
65
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
66 DDSBes_Data DDSBes ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
67 DDS4xAD9912_Data DDS4xAD9912 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
68
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
69 muParserHandle_t MathParser1, MathParser2, MathParser3, MathParser4, MathParser5 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
70
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
71 volatile bool Acquiring = FALSE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
72
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
73 long OldLogFilePtr = 0 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
74
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
75 double NuOpt=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
76 double Ndiv=8.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
77
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
78 ///////////////////
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
79 //Pour les calculs des N
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
80
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
81 volatile bool Measuring_1 = FALSE,Step1_1 = FALSE,Step2_1 = FALSE,Step3_1 = FALSE, Measuring_2 = FALSE,Step1_2 = FALSE,Step2_2 = FALSE,Step3_2 = FALSE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
82 volatile bool Measuring_3 = FALSE,Step1_3 = FALSE,Step2_3 = FALSE,Step3_3 = FALSE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
83 volatile bool TimetoBegin=FALSE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
84
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
85 double FrequDDS1=110000000.0,FrequDDS2=15300000.0,FrequDDS3=150400000.000000;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
86 double Slope_1=0.0,Slope_2=0.0,Slope_3=0.0,Beatslope_2=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
87 double SlopeTime1=60.0,SlopeTime2=60.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
88
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
89 double N_1=0.0,N_2=0.0,N_3=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
90 double DeltaT_1=8.0,DeltakHz_1=1800.0,t1_1=0.0,t2_1=0.0,t3_1=0.0, Frepplus_1=0.0, Frepminus_1=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
91 double DeltaT_2=8.0,DeltakHz_2=1500.0,t1_2=0.0,t2_2=0.0,t3_2=0.0, Frepplus_2=0.0, Frepminus_2=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
92 double DeltaT_3=20.0,DeltakHz_3=100.0,t1_3=0.0,t2_3=0.0,t3_3=0.0, Frepplus_3=0.0, Frepminus_3=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
93
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
94
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
95 int DeltaTMoy_1=3,n_1=0,DeltaTMoy_2=3,n_2=0,DeltaTMoy_3=3,n_3=0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
96 double Tmoy_1_1=0.0,Tmoy_2_1=0.0,Tmoy_1_2=0.0,Tmoy_2_2=0.0,Tmoy_1_3=0.0,Tmoy_2_3=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
97 double Frequ_slope_1=0.0,Moy_slope_1=0.0,Slope_slope_1=0.0,Frequ_slope_2=0.0,Moy_slope_2=0.0,Slope_slope_2=0.0,Frequ_slope_3=0.0,Moy_slope_3=0.0,Slope_slope_3=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
98 int N_slope_1=0,N_slope_2=0,N_slope_3=0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
99 double Beat_slope_2=0.0 ,Moy_Beatslope_2=0.0,Slope_Beatslope_2=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
100 double Ch4_slope=0.0,Moy_Ch4slope_1=0.0,Slope_Ch4slope_1=0.0,Ch4Slope=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
101
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
102 double FrequencyDDSBes=0.0,FrequencyDDSBesInit=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
103 double FrequencyDDS3=0.0,FrequencyDDS3Init=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
104 double DeltaFrep275=0.0,DeltaFrep10=0.0; ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
105 double DDSBesChanged1=FALSE,DDSBesChanged2=FALSE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
106
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
107 double DeltaDDS3=0.0,Delta10K_Plus=0.0,Delta10K_Minus=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
108 double Nu1=0.0, Nu2= 200000-147000+282143746.557455e6;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
109
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
110 double Step1=800000.0,Step2=800000.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
111
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
112 double Ch4Plus=0.0,Ch4Minus=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
113
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
114 int NDEJAPASSE=0, nDDSChange=0, nstabilization=0 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
115
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
116 //////
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
117 //Pour les signes de fb
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
118
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
119 double Frequencystep1=10000.0,tbegin1=0.0,Frepbefore1=0.0,Frequency1=0.0,Frequencystep2=10.0,tbegin2=0.0,Frepbefore2=0.0,Ch2before=0.0,Frequency2=0.0,Frequencystep3=100000.0,tbegin3=0.0,Frepbefore3=0.0,Frequency3=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
120 volatile bool Getsign1=FALSE,Getsign2=FALSE,Getsign3=FALSE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
121 double Signe1=1.0,Signe2=1.0,Signe3=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
122
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
123
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
124
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
125
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
126
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
127 /////////////////////////
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
128 // Slope Cancelling Variables
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
129
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
130 volatile bool SlopeMeasuring=FALSE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
131 volatile bool AutoStopSlopeCancellingIfDelock=TRUE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
132 volatile bool OnSlopeCancelling =FALSE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
133 double SlopeMath2=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
134 double TimetoSlope=60.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
135 double SlopeMeasuringTimeBegin=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
136 char * OnOffMessage="OFF" ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
137
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
138 char DDSFoxName[255] = "DDS Fox Control" ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
139 double DDSFoxClock=200000000;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
140 int DDSFoxSweepSign=0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
141 double DDSFoxFrequency=70000000.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
142 char DDSFoxip[255]="145.238.205.58";
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
143 int DDSFoxPort=6665 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
144 unsigned int DDSFoxProfil=7;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
145 double DDSFoxSweeprate=0.0;// numéro de profil de la DDS : single freq=0, sweep=7 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
146 double DDSFoxDeltaT=0.01;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
147
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
148 double Slope_Math2slope=0.0,Math2_slope=0.0,Moy_Math2slope=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
149 int N_Math2slope=0.0,nstabilisationSlopeMeasuring=0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
150
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
151 double LimitToDelock=5.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
152 double SlopeCorrection=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
153
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
154 int ratio=10; //Recentre la frequence tous les ratios
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
155
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
156 volatile bool FrequCorrec=FALSE,KeepFrequ=TRUE, KeepSlope=TRUE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
157 int Nratio=-1;
1
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
158 double MoyMath2 = 0.0, CenterFrequencyCh2 = 0.0;
0
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
159 volatile bool CenterFrequencyCh2ToDetermine=FALSE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
160
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
161 double limitotakoff=70.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
162
2
bd7501b65f56 Implement reference selection (microwave or Hg cavity) for slope cancelling
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 1
diff changeset
163 enum {
bd7501b65f56 Implement reference selection (microwave or Hg cavity) for slope cancelling
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 1
diff changeset
164 SLOPE_REFERENCE_MICROWAVE = 0,
bd7501b65f56 Implement reference selection (microwave or Hg cavity) for slope cancelling
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 1
diff changeset
165 SLOPE_REFERENCE_HG_CAVITY = 1,
bd7501b65f56 Implement reference selection (microwave or Hg cavity) for slope cancelling
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 1
diff changeset
166 };
0
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
167
2
bd7501b65f56 Implement reference selection (microwave or Hg cavity) for slope cancelling
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 1
diff changeset
168 int slopeReference = SLOPE_REFERENCE_MICROWAVE;
0
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
169
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
170 //////////////////////////////////
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
171 // Keep Centered Variables
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
172
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
173 volatile bool KeepCentering=FALSE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
174 double Timetorecenter275K=3600.0*10;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
175 double Timetorecenter10K=3600.0*3;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
176 double CenteringTimeBegin275K=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
177 double CenteringTimeBegin10K=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
178
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
179
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
180
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
181 //==============================================================================
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
182 // Functions
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
183 int LaunchDDSFOX (char *Name,char *ip,int Port,unsigned int Profil,double Clock,double DeltaT,double Frequency,double Sweeprate,int mode) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
184 double ReadDDSFOX (char *Name,char *ip,int Port,unsigned int Profil,double Clock,double DeltaT,double Frequency,double Sweeprate) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
185
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
186
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
187
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
188
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
189
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
190 void initMathParser(muParserHandle_t * pMathParser)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
191 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
192 (* pMathParser) = mupCreate() ; // Math parser number 1, normally used for frep
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
193 mupDefineOprtChars( * pMathParser, "abcdefghijklmnopqrstuvwxyzµ"
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
194 "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
195 "+-*^/?<>=#!$%&|~'_");
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
196 mupDefineVar( * pMathParser, "UTC", &utc);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
197 mupDefineVar( * pMathParser, "MJD", &mjd);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
198 mupDefineVar( * pMathParser, "Ch1", &Ch1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
199 mupDefineVar( * pMathParser, "Ch2", &Ch2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
200 mupDefineVar( * pMathParser, "Ch3", &Ch3);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
201 mupDefineVar( * pMathParser, "Ch4", &Ch4);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
202 mupDefineVar( * pMathParser, "DDS_Frep", &(DDSBes.Frequency));
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
203 mupDefineVar( * pMathParser, "DDS1", &(DDS4xAD9912.Frequency1));
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
204 mupDefineVar( * pMathParser, "DDS2", &(DDS4xAD9912.Frequency2));
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
205 mupDefineVar( * pMathParser, "DDS3", &(DDS4xAD9912.Frequency3));
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
206 mupDefineVar( * pMathParser, "DDS4", &(DDS4xAD9912.Frequency4));
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
207 mupDefineVar( * pMathParser, "N1", &N1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
208 mupDefineVar( * pMathParser, "N2", &N2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
209 mupDefineVar( * pMathParser, "N3", &N3);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
210 mupDefineVar( * pMathParser, "Nu1", &Nu1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
211 mupDefineVar( * pMathParser, "Nu2", &Nu2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
212 mupDefineVar( * pMathParser, "DeltaDDS3", &DeltaDDS3);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
213 mupDefineVar( * pMathParser, "Signe1", &Signe1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
214 mupDefineVar( * pMathParser, "Signe2", &Signe2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
215 mupDefineVar( * pMathParser, "Ndiv", &Ndiv);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
216 mupDefinePostfixOprt( * pMathParser, "P", &Peta , 1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
217 mupDefinePostfixOprt( * pMathParser, "T", &Tera , 1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
218 mupDefinePostfixOprt( * pMathParser, "G", &Giga , 1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
219 mupDefinePostfixOprt( * pMathParser, "M", &Mega , 1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
220 mupDefinePostfixOprt( * pMathParser, "k", &kilo , 1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
221 mupDefinePostfixOprt( * pMathParser, "m", &milli, 1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
222 mupDefinePostfixOprt( * pMathParser, "u", &micro, 1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
223 mupDefinePostfixOprt( * pMathParser, "µ", &micro, 1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
224 mupDefinePostfixOprt( * pMathParser, "n_1", &nano, 1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
225 mupDefinePostfixOprt( * pMathParser, "p", &pico, 1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
226 mupDefinePostfixOprt( * pMathParser, "f", &femto, 1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
227 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
228
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
229 int main (int argc, char *argv[])
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
230 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
231 //int ThreadId ; // to be used when I will replace timer by thread for counder readout
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
232
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
233 char FileNamePrototype[MAX_PATHNAME_LEN] ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
234 double initfreqDDS ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
235 char * MathString1 = " " ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
236 char * MathString2 = " " ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
237 char * MathString3 = " " ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
238 char * MathString4 = " " ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
239 char * MathString5 = " " ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
240
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
241 if (InitCVIRTE (0, argv, 0) == 0)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
242 return -1; /* out of memory */
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
243 if ((MainPanel = LoadPanel (0, "FXAnalyse.uir", PANEL)) < 0)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
244 return -1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
245 if ((CalcN1Panel = LoadPanel (0, "FXAnalyse.uir", CALCN1)) < 0)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
246 return -1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
247 if ((CalcN2Panel = LoadPanel (0, "FXAnalyse.uir", CALCN2)) < 0)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
248 return -1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
249 if ((CalcN3Panel = LoadPanel (0, "FXAnalyse.uir", CALCN3)) < 0)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
250 return -1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
251
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
252 DisplayPanel (MainPanel);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
253
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
254 // Initialize LogFileName pointer
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
255
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
256 LogFileName = FileNamePrototype ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
257
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
258 // Initialyze the DDS Besancon Output
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
259
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
260 DDSBes_Initialize(&DDSBes) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
261 DDSBes_SetClockFrequency(&DDSBes, DDSBESCLOCK) ; // Peut etre passer tout ca dans DDSBes-Initialize ?
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
262 DDSBes_SetAmplitude(&DDSBes, 4095) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
263 GetCtrlVal(MainPanel, PANEL_DDSFREPOUT,&initfreqDDS) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
264 DDSBes_SetFrequency(&DDSBes, initfreqDDS) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
265
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
266 // Initialize the quadruple AD9959 DDS (Fox board interface)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
267
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
268 DDS4xAD9912_Reset(&DDS4xAD9912) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
269 GetCtrlVal(MainPanel, PANEL_DDS1, &initfreqDDS) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
270 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 1, initfreqDDS) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
271 GetCtrlVal(MainPanel, PANEL_DDS2, &initfreqDDS) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
272 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 2, initfreqDDS) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
273 GetCtrlVal(MainPanel, PANEL_DDS3, &initfreqDDS) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
274 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 3, initfreqDDS) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
275 GetCtrlVal(MainPanel, PANEL_DDS4, &initfreqDDS) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
276 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 4, initfreqDDS) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
277
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
278
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
279 // Initialyze the DDSFOX Output
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
280 LaunchDDSFOX (DDSFoxName,DDSFoxip,DDSFoxPort,DDSFoxProfil,DDSFoxClock,DDSFoxDeltaT,DDSFoxFrequency,DDSFoxSweeprate,1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
281
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
282 // Initialize the 5 (separate) math parsers for frep, Nu_Hg, Nu_Sr, N3 and ExtraMath
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
283
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
284 Ch1=0.0 ; Ch2=0.0 ; Ch3=0.0 ; Ch4=0.0 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
285 GetCtrlVal(MainPanel, PANEL_N1CHOICE, &N1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
286 GetCtrlVal(MainPanel, PANEL_N2CHOICE, &N2) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
287
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
288 GetCtrlVal(MainPanel, PANEL_N3CHOICE, &N3) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
289
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
290 initMathParser(&MathParser1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
291 mupDefineVar(MathParser1, "DDS", &(DDSBes.Frequency));
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
292 GetCtrlVal(MainPanel, PANEL_MATHSTRING1, MathString1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
293 mupSetExpr(MathParser1, MathString1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
294
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
295 initMathParser(&MathParser2) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
296 mupDefineVar( MathParser2, "Math1", &Math1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
297 mupDefineVar( MathParser2, "DDS", &(DDS4xAD9912.Frequency1));
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
298 GetCtrlVal(MainPanel, PANEL_MATHSTRING2, MathString2) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
299 mupSetExpr(MathParser2, MathString2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
300
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
301 initMathParser(&MathParser3) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
302 mupDefineVar( MathParser3, "Math1", &Math1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
303 mupDefineVar( MathParser3, "Math2", &Math2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
304 mupDefineVar( MathParser3, "DDS", &(DDS4xAD9912.Frequency2));
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
305 GetCtrlVal(MainPanel, PANEL_MATHSTRING3, MathString3) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
306 mupSetExpr(MathParser3, MathString3);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
307
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
308 initMathParser(&MathParser4) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
309 mupDefineVar( MathParser4, "Math1", &Math1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
310 mupDefineVar( MathParser4, "Math2", &Math2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
311 mupDefineVar( MathParser4, "Math3", &Math3);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
312 GetCtrlVal(MainPanel, PANEL_MATHSTRING4, MathString4) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
313 mupSetExpr(MathParser4, MathString4);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
314
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
315 initMathParser(&MathParser5) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
316 mupDefineVar( MathParser5, "Math1", &Math1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
317 mupDefineVar( MathParser5, "Math2", &Math2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
318 mupDefineVar( MathParser5, "Math3", &Math3);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
319 mupDefineVar( MathParser5, "Math4", &Math4);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
320 GetCtrlVal(MainPanel, PANEL_MATHSTRING5, MathString5) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
321 mupSetExpr(MathParser5, MathString5);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
322
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
323
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
324 RunUserInterface ();
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
325
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
326 // Stops everything at the end
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
327
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
328 DiscardPanel (MainPanel);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
329 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
330 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
331
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
332
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
333 void OnCloseViewPanel(int panel){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
334
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
335 if (panel==PlotCh1.PlotPanel) { SetCtrlVal(MainPanel,PANEL_CHECKBOX_FREQ1PLOT, FALSE) ; } ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
336 if (panel==PlotCh2.PlotPanel) { SetCtrlVal(MainPanel,PANEL_CHECKBOX_FREQ2PLOT, FALSE) ; } ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
337 if (panel==PlotCh3.PlotPanel) { SetCtrlVal(MainPanel,PANEL_CHECKBOX_FREQ3PLOT, FALSE) ; } ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
338 if (panel==PlotCh4.PlotPanel) { SetCtrlVal(MainPanel,PANEL_CHECKBOX_FREQ4PLOT, FALSE) ; } ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
339 if (panel==PlotMath1.PlotPanel) { SetCtrlVal(MainPanel,PANEL_CHECKBOX_MATH1PLOT, FALSE) ; } ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
340 if (panel==PlotMath2.PlotPanel) { SetCtrlVal(MainPanel,PANEL_CHECKBOX_MATH2PLOT, FALSE) ; } ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
341 if (panel==PlotMath3.PlotPanel) { SetCtrlVal(MainPanel,PANEL_CHECKBOX_MATH3PLOT, FALSE) ; } ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
342 if (panel==PlotMath4.PlotPanel) { SetCtrlVal(MainPanel,PANEL_CHECKBOX_MATH4PLOT, FALSE) ; } ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
343 if (panel==PlotMath5.PlotPanel) { SetCtrlVal(MainPanel,PANEL_CHECKBOX_MATH5PLOT, FALSE) ; } ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
344
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
345 if (panel==AllanCh1.AllanPanel) { SetCtrlVal(MainPanel,PANEL_CHECKBOX_FREQ1ALLAN, FALSE) ; } ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
346 if (panel==AllanCh2.AllanPanel) { SetCtrlVal(MainPanel,PANEL_CHECKBOX_FREQ2ALLAN, FALSE) ; } ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
347 if (panel==AllanCh3.AllanPanel) { SetCtrlVal(MainPanel,PANEL_CHECKBOX_FREQ3ALLAN, FALSE) ; } ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
348 if (panel==AllanCh4.AllanPanel) { SetCtrlVal(MainPanel,PANEL_CHECKBOX_FREQ4ALLAN, FALSE) ; } ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
349 if (panel==AllanMath1.AllanPanel) { SetCtrlVal(MainPanel,PANEL_CHECKBOX_MATH1ALLAN, FALSE) ; } ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
350 if (panel==AllanMath2.AllanPanel) { SetCtrlVal(MainPanel,PANEL_CHECKBOX_MATH2ALLAN, FALSE) ; } ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
351 if (panel==AllanMath3.AllanPanel) { SetCtrlVal(MainPanel,PANEL_CHECKBOX_MATH3ALLAN, FALSE) ; } ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
352 if (panel==AllanMath4.AllanPanel) { SetCtrlVal(MainPanel,PANEL_CHECKBOX_MATH4ALLAN, FALSE) ; } ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
353 if (panel==AllanMath5.AllanPanel) { SetCtrlVal(MainPanel,PANEL_CHECKBOX_MATH5ALLAN, FALSE) ; } ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
354
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
355 return ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
356 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
357
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
358
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
359
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
360
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
361
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
362 int CVICALLBACK QuitCallback (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
363 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
364 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
365 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
366 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
367 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
368 QuitUserInterface (0);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
369 DDSBes_Close(&DDSBes);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
370 mupRelease(MathParser1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
371 mupRelease(MathParser2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
372 mupRelease(MathParser3);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
373 mupRelease(MathParser4);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
374 mupRelease(MathParser5);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
375 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
376 case EVENT_RIGHT_CLICK:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
377
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
378 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
379 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
380 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
381 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
382
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
383 int CVICALLBACK CB_OnEventMain(int panel, int event, void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
384 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
385 int VirtualKeyCode ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
386 int ActiveControl ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
387 int StepIndex ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
388 double Step ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
389
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
390 switch (event) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
391 case EVENT_CLOSE:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
392 QuitUserInterface (0);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
393 DDSBes_Close(&DDSBes);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
394 mupRelease(MathParser1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
395 mupRelease(MathParser2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
396 mupRelease(MathParser3);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
397 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
398 case EVENT_KEYPRESS:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
399 switch (eventData1) // ie the code of the key which has been stroke
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
400 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
401 case VAL_RIGHT_ARROW_VKEY :
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
402 ActiveControl = GetActiveCtrl(panel);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
403 if (ActiveControl==PANEL_DDSFREPOUT || ActiveControl==PANEL_DDSFREPSTEP) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
404 GetCtrlIndex(MainPanel, PANEL_DDSFREPSTEP, &StepIndex);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
405 if (StepIndex<14){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
406 SetCtrlIndex(MainPanel, PANEL_DDSFREPSTEP, ++StepIndex) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
407 GetCtrlVal(MainPanel, PANEL_DDSFREPSTEP, &Step);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
408 SetCtrlAttribute(MainPanel, PANEL_DDSFREPOUT, ATTR_INCR_VALUE, Step) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
409 };
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
410 };
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
411 if (ActiveControl==PANEL_DDS1 || ActiveControl==PANEL_DDS1STEP) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
412 GetCtrlIndex(MainPanel, PANEL_DDS1STEP, &StepIndex);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
413 if (StepIndex<14){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
414 SetCtrlIndex(MainPanel, PANEL_DDS1STEP, ++StepIndex) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
415 GetCtrlVal(MainPanel, PANEL_DDS1STEP, &Step);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
416 SetCtrlAttribute(MainPanel, PANEL_DDS1, ATTR_INCR_VALUE, Step) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
417 };
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
418 };
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
419 if (ActiveControl==PANEL_DDS2 || ActiveControl==PANEL_DDS2STEP) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
420 GetCtrlIndex(MainPanel, PANEL_DDS2STEP, &StepIndex);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
421 if (StepIndex<14){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
422 SetCtrlIndex(MainPanel, PANEL_DDS2STEP, ++StepIndex) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
423 GetCtrlVal(MainPanel, PANEL_DDS2STEP, &Step);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
424 SetCtrlAttribute(MainPanel, PANEL_DDS2, ATTR_INCR_VALUE, Step) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
425 };
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
426 };
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
427 if (ActiveControl==PANEL_DDS3|| ActiveControl==PANEL_DDS3STEP) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
428 GetCtrlIndex(MainPanel, PANEL_DDS3STEP, &StepIndex);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
429 if (StepIndex<14){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
430 SetCtrlIndex(MainPanel, PANEL_DDS3STEP, ++StepIndex) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
431 GetCtrlVal(MainPanel, PANEL_DDS3STEP, &Step);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
432 SetCtrlAttribute(MainPanel, PANEL_DDS3, ATTR_INCR_VALUE, Step) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
433 };
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
434 };
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
435 if (ActiveControl==PANEL_DDS4|| ActiveControl==PANEL_DDS4STEP) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
436 GetCtrlIndex(MainPanel, PANEL_DDS4STEP, &StepIndex);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
437 if (StepIndex<14){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
438 SetCtrlIndex(MainPanel, PANEL_DDS4STEP, ++StepIndex) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
439 GetCtrlVal(MainPanel, PANEL_DDS4STEP, &Step);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
440 SetCtrlAttribute(MainPanel, PANEL_DDS4, ATTR_INCR_VALUE, Step) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
441 };
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
442 };
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
443 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
444 case VAL_LEFT_ARROW_VKEY :
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
445 ActiveControl = GetActiveCtrl(panel);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
446 if (ActiveControl==PANEL_DDSFREPOUT || ActiveControl==PANEL_DDSFREPSTEP) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
447 GetCtrlIndex(MainPanel, PANEL_DDSFREPSTEP, &StepIndex);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
448 if (StepIndex>0){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
449 SetCtrlIndex(MainPanel, PANEL_DDSFREPSTEP, --StepIndex) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
450 GetCtrlVal(MainPanel, PANEL_DDSFREPSTEP, &Step);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
451 SetCtrlAttribute(MainPanel, PANEL_DDSFREPOUT, ATTR_INCR_VALUE, Step) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
452 };
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
453 };
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
454 if (ActiveControl==PANEL_DDS1 || ActiveControl==PANEL_DDS1STEP) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
455 GetCtrlIndex(MainPanel, PANEL_DDS1STEP, &StepIndex);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
456 if (StepIndex>0){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
457 SetCtrlIndex(MainPanel, PANEL_DDS1STEP, --StepIndex) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
458 GetCtrlVal(MainPanel, PANEL_DDS1STEP, &Step);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
459 SetCtrlAttribute(MainPanel, PANEL_DDS1, ATTR_INCR_VALUE, Step) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
460 };
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
461 };
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
462 if (ActiveControl==PANEL_DDS2 || ActiveControl==PANEL_DDS2STEP) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
463 GetCtrlIndex(MainPanel, PANEL_DDS2STEP, &StepIndex);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
464 if (StepIndex>0){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
465 SetCtrlIndex(MainPanel, PANEL_DDS2STEP, --StepIndex) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
466 GetCtrlVal(MainPanel, PANEL_DDS2STEP, &Step);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
467 SetCtrlAttribute(MainPanel, PANEL_DDS2, ATTR_INCR_VALUE, Step) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
468 };
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
469 };
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
470 if (ActiveControl==PANEL_DDS3 || ActiveControl==PANEL_DDS3STEP) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
471 GetCtrlIndex(MainPanel, PANEL_DDS3STEP, &StepIndex);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
472 if (StepIndex>0){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
473 SetCtrlIndex(MainPanel, PANEL_DDS3STEP, --StepIndex) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
474 GetCtrlVal(MainPanel, PANEL_DDS3STEP, &Step);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
475 SetCtrlAttribute(MainPanel, PANEL_DDS3, ATTR_INCR_VALUE, Step) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
476 };
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
477 };
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
478 if (ActiveControl==PANEL_DDS4 || ActiveControl==PANEL_DDS4STEP) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
479 GetCtrlIndex(MainPanel, PANEL_DDS4STEP, &StepIndex);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
480 if (StepIndex>0){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
481 SetCtrlIndex(MainPanel, PANEL_DDS4STEP, --StepIndex) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
482 GetCtrlVal(MainPanel, PANEL_DDS4STEP, &Step);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
483 SetCtrlAttribute(MainPanel, PANEL_DDS4, ATTR_INCR_VALUE, Step) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
484 };
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
485 };
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
486 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
487 case VAL_F1_VKEY :
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
488 SetActiveCtrl(MainPanel, PANEL_DDSFREPOUT);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
489 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
490 case VAL_F2_VKEY :
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
491 SetActiveCtrl(MainPanel, PANEL_DDS1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
492 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
493 case VAL_F3_VKEY :
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
494 SetActiveCtrl(MainPanel, PANEL_DDS2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
495 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
496 case VAL_F4_VKEY :
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
497 SetActiveCtrl(MainPanel, PANEL_DDS3);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
498 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
499 case VAL_F5_VKEY :
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
500 SetActiveCtrl(MainPanel, PANEL_DDS4);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
501 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
502 };
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
503 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
504
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
505 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
506 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
507 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
508
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
509 void FindCurrentFileName(void)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
510 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
511 char * date, day[3], month[3], year[3]; // DD ; MM ; 20YY plus one space for NULL termination character
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
512
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
513 date = DateStr();
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
514 Scan(date, "%s>%s[w2]-%s[w2]-20%s[w2]", month, day, year);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
515 Fmt(LogFileName, "%s<%s\\%s%s%s_Frequ.txt", LOGFILEPATH, year, month, day);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
516 return ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
517 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
518
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
519
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
520
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
521 int CVICALLBACK CB_OnStart (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
522 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
523 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
524 int LogFile ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
525 char CharacterBuffer[]="\r" ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
526 char LineBuffer[FXLINELENGTH+10] = "\r\n_1 ";
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
527
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
528
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
529 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
530 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
531 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
532 if (Acquiring) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
533 PlotCh1.IndexPoint = 0 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
534 PlotCh2.IndexPoint = 0 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
535 PlotCh3.IndexPoint = 0 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
536 PlotCh4.IndexPoint = 0 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
537 PlotMath1.IndexPoint = 0 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
538 PlotMath2.IndexPoint = 0 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
539 PlotMath3.IndexPoint = 0 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
540 PlotMath4.IndexPoint = 0 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
541 PlotMath5.IndexPoint = 0 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
542 Allan_Reset(&AllanCh1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
543 Allan_Reset(&AllanCh2) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
544 Allan_Reset(&AllanCh3) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
545 Allan_Reset(&AllanCh4) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
546 Allan_Reset(&AllanMath1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
547 Allan_Reset(&AllanMath2) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
548 Allan_Reset(&AllanMath3) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
549 Allan_Reset(&AllanMath4) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
550 Allan_Reset(&AllanMath5) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
551 } ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
552 Acquiring = TRUE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
553 SetCtrlAttribute(MainPanel, PANEL_STARTBUTTON, ATTR_LABEL_TEXT, "__RESET");
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
554
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
555 FindCurrentFileName() ; // LogFileName is the one corresponding to the date of today...
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
556 GetFileInfo(LogFileName, &OldLogFilePtr) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
557 OldLogFilePtr -= OldLogFilePtr%FXLINELENGTH + FXLINELENGTH - 2;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
558 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
559 case EVENT_RIGHT_CLICK:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
560
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
561 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
562 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
563 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
564 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
565
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
566 int CVICALLBACK CB_OnStop (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
567 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
568 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
569 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
570 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
571 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
572 Acquiring = FALSE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
573 SetCtrlAttribute(MainPanel, PANEL_STARTBUTTON, ATTR_LABEL_TEXT, "__START");
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
574 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
575 case EVENT_RIGHT_CLICK:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
576
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
577 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
578 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
579 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
580 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
581
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
582 int CVICALLBACK CB_OnTimer (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
583 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
584 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
585 int LogFile, FileOpt, FileHg, FileSr, FileExtraMath ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
586 long LogFileSize ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
587 char CharacterBuffer[]="\r" ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
588 char LineBuffer[FXLINELENGTH+10] = "\r\n_1 ";
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
589
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
590 char * dateNow, * timeNow, day[4], month[4], year[4] ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
591 char TimeTag[] = "100103 000000.000" ; // K+K time tag meaning here 2010 january the 3rd at 00:00:00.000
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
592 char Date[] = "03/01/2010" ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
593 char Time[] = "00:00:00.000" ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
594 char Year[] = "2010";
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
595 char ShortYear[] = "10"; // the last 2 digits of calendar year only
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
596 char Month[] = "01";
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
597 char Day[] = "03";
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
598 char Hour[] = "00";
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
599 char Min[] = "00" ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
600 char Sec[] = "00.000";
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
601 struct tm LocalTime ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
602 time_t utcTime ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
603 char * ReportString = "dd.mm.yy\t00:00:00\t3481610838.000\t0000000000000.00000000" ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
604
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
605 int NotCare = 0 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
606 bool BoxChecked = FALSE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
607
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
608 double Target, NCalc ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
609
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
610 double FoxFrequ=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
611 int Div = 1 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
612
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
613 double FrequencyToChange=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
614 double DeltaCh2=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
615 double DeltaCh4=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
616
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
617 double ActualFrequ=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
618 double ActualSlope=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
619
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
620 double DDS3Bize ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
621 double DDS2Bize ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
622 int N2Bize ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
623 int Signe2Bize;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
624 double Math3Bize;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
625 double Math1Bize;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
626
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
627
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
628
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
629 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
630 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
631 case EVENT_TIMER_TICK:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
632 switch(Acquiring)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
633 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
634 case TRUE:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
635
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
636 GetFileInfo(LogFileName, &LogFileSize) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
637
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
638 if (LogFileSize > OldLogFilePtr+2*FXLINELENGTH-2) { // if a complete newline has been written
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
639
2
bd7501b65f56 Implement reference selection (microwave or Hg cavity) for slope cancelling
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 1
diff changeset
640 SuspendTimerCallbacks() ;
0
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
641
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
642 // Open Log file and get to the beginning of newly completed line
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
643 LogFile = OpenFile(LogFileName, VAL_READ_ONLY, VAL_OPEN_AS_IS, VAL_ASCII) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
644 OldLogFilePtr += FXLINELENGTH;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
645 SetFilePtr(LogFile, OldLogFilePtr, 0) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
646
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
647 // return the last complete string from the log file and scan it for date and time information
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
648
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
649 // first, the time tag, and store it in various formats
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
650 ReadFile(LogFile, TimeTag, 17);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
651
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
652 CopyBytes(Date,0,TimeTag,4,2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
653 CopyBytes(Date,3,TimeTag,2,2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
654 CopyBytes(Date,8,TimeTag,0,2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
655 CopyBytes(Time,0,TimeTag,7,2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
656 CopyBytes(Time,3,TimeTag,9,2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
657 CopyBytes(Time,6,TimeTag,11,6);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
658 SetCtrlVal(MainPanel, PANEL_DATE, Date) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
659 SetCtrlVal(MainPanel, PANEL_TIME, Time) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
660
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
661 CopyBytes(Year,2,TimeTag,0,2); // first 2 bytes of year string remains "20"
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
662 CopyBytes(ShortYear,0,TimeTag,0,2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
663 CopyBytes(Month,0,TimeTag,2,2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
664 CopyBytes(Day,0,TimeTag,4,2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
665 CopyBytes(Hour,0,TimeTag,7,2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
666 CopyBytes(Min,0,TimeTag,9,2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
667 CopyBytes(Sec,0,TimeTag,11,6);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
668 Fmt(&LocalTime.tm_year, "%d<%s", Year);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
669 Fmt(&LocalTime.tm_mon, "%d<%s", Month);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
670 Fmt(&LocalTime.tm_mday, "%d<%s", Day);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
671 Fmt(&LocalTime.tm_hour, "%d<%s", Hour);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
672 Fmt(&LocalTime.tm_min, "%d<%s", Min);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
673 Fmt(&LocalTime.tm_sec, "%d<%s", "00"); // special case to handle non integer number of UTC seconds
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
674 LocalTime.tm_hour += 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
675 LocalTime.tm_min -= 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
676 LocalTime.tm_sec -= 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
677 LocalTime.tm_mon -= 1 ; // january is month 0 for tm struct
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
678 LocalTime.tm_year -= 1900 ; // year is number of years since 1900 for tm struct
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
679 LocalTime.tm_isdst = -1; // daylight saving flag MUST be set to -1 (unallocated is bugging and +1 is making 1 hour error in summer)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
680 utcTime = mktime (&LocalTime);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
681 utc = (double) utcTime + strtod(Sec,NULL) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
682 mjd=utc/86400.; //nb de jours depuis l'origine d'UTC (01/01/1900 à 00h00 GMT)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
683 mjd+=15020; //date MJD de la date origine d'UTC
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
684 SetCtrlVal(MainPanel, PANEL_UTC, utc);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
685 SetCtrlVal(MainPanel, PANEL_MJD, mjd);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
686
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
687 // scan the line for counters's channels information
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
688
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
689 ReadLine(LogFile, LineBuffer, FXLINELENGTH+9) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
690 CloseFile(LogFile);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
691
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
692 Scan(LineBuffer, "%f%f%f%f", &Ch1, &Ch2, &Ch3, &Ch4) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
693 Ch1 = 1000*Ch1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
694 Ch2 = 1000*Ch2;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
695 Ch3 = 1000*Ch3;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
696 Ch4 = 1000*Ch4;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
697
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
698 NuOpt=N1*(250000000+Math1)-Signe1*8*FrequDDS1 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
699
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
700 SetCtrlVal(MainPanel, PANEL_FREQ1, Ch1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
701 SetCtrlVal(MainPanel, PANEL_FREQ2, Ch2) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
702 SetCtrlVal(MainPanel, PANEL_FREQ3, Ch3) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
703 SetCtrlVal(MainPanel, PANEL_FREQ4, Ch4) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
704 SetCtrlVal(MainPanel, PANEL_SIGN1, Signe1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
705 SetCtrlVal(MainPanel, PANEL_SIGN2, Signe2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
706 SetCtrlVal(MainPanel, PANEL_SIGN3, Signe3);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
707 SetCtrlVal(CalcN1Panel, CALCN1_N_1, N_1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
708 SetCtrlVal(CalcN1Panel, CALCN1_SLOPE, Slope_1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
709 SetCtrlVal(CalcN2Panel, CALCN2_N_2, N_2) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
710 SetCtrlVal(CalcN2Panel, CALCN2_SLOPE, Beatslope_2) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
711 SetCtrlVal(CalcN3Panel, CALCN3_N_3, N_3) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
712 SetCtrlVal(CalcN3Panel, CALCN3_SLOPE, Slope_3) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
713 SetCtrlVal(MainPanel, PANEL_SLOPETOCANCEL, SlopeMath2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
714 /*SetCtrlVal(MainPanel, PANEL_SLOPECANCELONOFF, OnOffMessage); */
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
715 SetCtrlVal(MainPanel, PANEL_CENTERFREQUENCY, CenterFrequencyCh2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
716 SetCtrlVal(MainPanel, PANEL_LED1, SlopeMeasuring);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
717 SetCtrlVal(MainPanel, PANEL_LED2, OnSlopeCancelling);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
718 // Treat data
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
719
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
720 Math1 = mupEval(MathParser1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
721 SetCtrlVal(MainPanel,PANEL_MATH1, Math1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
722
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
723 Math2 = mupEval(MathParser2) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
724 //Math2=NuOpt;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
725 SetCtrlVal(MainPanel,PANEL_MATH2, Math2) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
726
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
727 Math3 = mupEval(MathParser3) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
728 SetCtrlVal(MainPanel,PANEL_MATH3, Math3) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
729
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
730 Math4 = mupEval(MathParser4) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
731 SetCtrlVal(MainPanel,PANEL_MATH4, Math4) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
732
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
733 Math5 = mupEval(MathParser5) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
734 SetCtrlVal(MainPanel,PANEL_MATH5, Math5) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
735
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
736 // Plot Data and calculus if required
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
737
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
738 GetCtrlVal(MainPanel, PANEL_CHECKBOX_FREQ1PLOT, &BoxChecked) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
739 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
740 Plot_AddFrequency(&PlotCh1, Ch1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
741 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
742 GetCtrlVal(MainPanel, PANEL_CHECKBOX_FREQ1ALLAN, &BoxChecked) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
743 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
744 Allan_AddFrequency(&AllanCh1, Ch1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
745 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
746
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
747 GetCtrlVal(MainPanel, PANEL_CHECKBOX_FREQ2PLOT, &BoxChecked) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
748 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
749 Plot_AddFrequency(&PlotCh2, Ch2) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
750 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
751 GetCtrlVal(MainPanel, PANEL_CHECKBOX_FREQ2ALLAN, &BoxChecked) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
752 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
753 Allan_AddFrequency(&AllanCh2, Ch2) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
754 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
755
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
756 GetCtrlVal(MainPanel, PANEL_CHECKBOX_FREQ3PLOT, &BoxChecked) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
757 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
758 Plot_AddFrequency(&PlotCh3, Ch3) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
759 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
760 GetCtrlVal(MainPanel, PANEL_CHECKBOX_FREQ3ALLAN, &BoxChecked) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
761 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
762 Allan_AddFrequency(&AllanCh3, Ch3) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
763 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
764
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
765 GetCtrlVal(MainPanel, PANEL_CHECKBOX_FREQ4PLOT, &BoxChecked) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
766 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
767 Plot_AddFrequency(&PlotCh4, Ch4) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
768 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
769 GetCtrlVal(MainPanel, PANEL_CHECKBOX_FREQ4ALLAN, &BoxChecked) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
770 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
771 Allan_AddFrequency(&AllanCh4, Ch4) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
772 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
773
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
774 GetCtrlVal(MainPanel, PANEL_CHECKBOX_MATH1PLOT, &BoxChecked) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
775 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
776 Plot_AddFrequency(&PlotMath1, Math1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
777 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
778 GetCtrlVal(MainPanel, PANEL_CHECKBOX_MATH1ALLAN, &BoxChecked) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
779 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
780 Allan_AddFrequency(&AllanMath1, Math1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
781 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
782
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
783 GetCtrlVal(MainPanel, PANEL_CHECKBOX_MATH2PLOT, &BoxChecked) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
784 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
785 Plot_AddFrequency(&PlotMath2, Math2) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
786 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
787 GetCtrlVal(MainPanel, PANEL_CHECKBOX_MATH2ALLAN, &BoxChecked) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
788 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
789 Allan_AddFrequency(&AllanMath2, Math2) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
790 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
791
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
792 GetCtrlVal(MainPanel, PANEL_CHECKBOX_MATH3PLOT, &BoxChecked) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
793 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
794 Plot_AddFrequency(&PlotMath3, Math3) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
795 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
796 GetCtrlVal(MainPanel, PANEL_CHECKBOX_MATH3ALLAN, &BoxChecked) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
797 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
798 Allan_AddFrequency(&AllanMath3, Math3) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
799 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
800
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
801 GetCtrlVal(MainPanel, PANEL_CHECKBOX_MATH4PLOT, &BoxChecked) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
802 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
803 Plot_AddFrequency(&PlotMath4, Math4) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
804 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
805 GetCtrlVal(MainPanel, PANEL_CHECKBOX_MATH4ALLAN, &BoxChecked) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
806 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
807 Allan_AddFrequency(&AllanMath4, Math4) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
808 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
809
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
810 GetCtrlVal(MainPanel, PANEL_CHECKBOX_MATH5PLOT, &BoxChecked) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
811 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
812 Plot_AddFrequency(&PlotMath5, Math5) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
813 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
814 GetCtrlVal(MainPanel, PANEL_CHECKBOX_MATH5ALLAN, &BoxChecked) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
815 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
816 Allan_AddFrequency(&AllanMath5, Math5) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
817 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
818 // Calcul de N
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
819
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
820 if (Measuring_1==TRUE)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
821 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
822 if (Step1_1==FALSE) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
823 SetCtrlVal(MainPanel, PANEL_DDS1, FrequDDS1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
824 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 1, FrequDDS1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
825
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
826 GetCtrlVal(MainPanel, PANEL_DDS2, &FrequencyDDSBesInit) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
827 t1_1=utc;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
828 Frequ_slope_1=Math1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
829 Moy_slope_1= Frequ_slope_1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
830 Ch4_slope=Ch4;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
831 Moy_Ch4slope_1= Ch4_slope;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
832 N_slope_1=1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
833 Step1_1=TRUE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
834 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
835 else {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
836 if(Step2_1==FALSE){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
837 N_slope_1=N_slope_1+1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
838 Frequ_slope_1=Math1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
839 Ch4_slope=Ch4;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
840 Moy_slope_1=((N_slope_1-1)*Moy_slope_1 + Frequ_slope_1)/N_slope_1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
841 Moy_Ch4slope_1=((N_slope_1-1)*Moy_Ch4slope_1 + Ch4_slope)/N_slope_1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
842 Slope_slope_1 = (Slope_slope_1*(N_slope_1-2) + 6*(Frequ_slope_1-Moy_slope_1)/N_slope_1)/(N_slope_1+1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
843 Slope_Ch4slope_1 = (Slope_Ch4slope_1*(N_slope_1-2) + 6*(Ch4_slope-Moy_Ch4slope_1)/N_slope_1)/(N_slope_1+1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
844 if (utc-t1_1>SlopeTime1) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
845 Slope_1 = Slope_slope_1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
846 Ch4Slope = Slope_Ch4slope_1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
847 Step2_1=TRUE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
848 N_slope_1=0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
849 Frequ_slope_1=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
850 Moy_slope_1=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
851 Slope_slope_1 =0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
852 Ch4_slope=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
853 Moy_Ch4slope_1=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
854 Slope_Ch4slope_1=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
855
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
856 DDS4xAD9912_FrequencyRampe (&DDS4xAD9912,1, FrequDDS1,(FrequDDS1+DeltakHz_1*1000), Step1/Ndiv ) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
857 SetCtrlVal(MainPanel, PANEL_DDS1, (FrequDDS1+DeltakHz_1*1000)) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
858 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 1, (FrequDDS1+DeltakHz_1*1000));
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
859
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
860 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
861 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
862 else {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
863 if (DDSBesChanged1==FALSE){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
864
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
865 if (nDDSChange<3)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
866 { nDDSChange=nDDSChange+1;}
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
867
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
868 else
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
869 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
870 nDDSChange=0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
871
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
872 DeltaFrep275=275000-Ch4;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
873 FrequencyDDSBes=FrequencyDDSBesInit+(DeltaFrep275);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
874 SetCtrlVal(MainPanel, PANEL_DDS2, FrequencyDDSBes) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
875 DDS4xAD9912_SetFrequency(&DDS4xAD9912,2,FrequencyDDSBes);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
876 DDSBesChanged1=TRUE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
877 t2_1=utc;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
878
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
879 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
880
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
881 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
882 else{
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
883
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
884 if(Step3_1==FALSE){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
885 if (nstabilization<3)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
886 {nstabilization= nstabilization+1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
887 TimetoBegin=TRUE;}
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
888 else
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
889 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
890 if (utc-t2_1<DeltaT_1) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
891 if (TimetoBegin==TRUE)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
892 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
893 t2_1=utc;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
894 TimetoBegin=FALSE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
895 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
896 Frepplus_1=Frepplus_1 +Math1-Slope_1*(utc-t2_1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
897 Ch4Plus=Ch4Plus + Ch4 -Ch4Slope*(utc-t2_1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
898 n_1=n_1+1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
899 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
900 else{
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
901 Frepplus_1=Frepplus_1/n_1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
902 Ch4Plus=Ch4Plus/n_1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
903 n_1=0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
904 Step3_1=TRUE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
905 nstabilization=0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
906 DDS4xAD9912_FrequencyRampe ( &DDS4xAD9912,1, (FrequDDS1+DeltakHz_1*1000),(FrequDDS1-DeltakHz_1*1000), Step1/Ndiv ) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
907 SetCtrlVal(MainPanel, PANEL_DDS1, (FrequDDS1-DeltakHz_1*1000)) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
908 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 1, (FrequDDS1-DeltakHz_1*1000));
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
909 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
910 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
911 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
912
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
913 else {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
914 if (DDSBesChanged2==FALSE){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
915
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
916 if (nDDSChange<3)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
917 { nDDSChange=nDDSChange+1;}
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
918
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
919 else
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
920 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
921 nDDSChange=0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
922
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
923
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
924 DeltaFrep275=275000-Ch4;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
925 FrequencyDDSBes=FrequencyDDSBes+(DeltaFrep275) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
926 SetCtrlVal(MainPanel, PANEL_DDS2, FrequencyDDSBes) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
927 DDS4xAD9912_SetFrequency(&DDS4xAD9912,2,FrequencyDDSBes);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
928 DDSBesChanged2=TRUE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
929 t3_1=utc;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
930
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
931
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
932 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
933 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
934
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
935 else{
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
936 if (nstabilization<3)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
937 { nstabilization=nstabilization+1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
938 TimetoBegin=TRUE;}
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
939 else
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
940 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
941 if (utc-t3_1<DeltaT_1) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
942 if (TimetoBegin==TRUE)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
943 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
944 t3_1=utc;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
945 TimetoBegin=FALSE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
946 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
947
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
948 Frepminus_1=Frepminus_1 +Math1-Slope_1*(utc-t3_1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
949 Ch4Minus=Ch4Minus+Ch4-Ch4Slope*(utc-t3_1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
950 n_1=n_1+1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
951 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
952 else{
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
953 Frepminus_1=Frepminus_1/(n_1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
954 Ch4Minus=Ch4Minus/(n_1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
955 N_1 = Signe1*(2*Ndiv*DeltakHz_1*1000 /*-(Ch4Plus-Ch4Minus)-Ch4Slope*(t3_1-t2_1)*/)/(Frepminus_1-Frepplus_1-Slope_1*(t3_1-t2_1));
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
956 n_1=0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
957 Frepminus_1=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
958 Frepplus_1=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
959 DDS4xAD9912_FrequencyRampe (&DDS4xAD9912, 1, FrequDDS1-DeltakHz_1*1000,FrequDDS1, Step1/Ndiv ) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
960 SetCtrlVal(MainPanel, PANEL_DDS1, FrequDDS1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
961 DDS4xAD9912_SetFrequency(&DDS4xAD9912,1,FrequDDS1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
962 DDS4xAD9912_SetFrequency(&DDS4xAD9912,2,FrequencyDDSBesInit);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
963 SetCtrlVal(MainPanel, PANEL_DDS2, FrequencyDDSBesInit) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
964 Measuring_1=FALSE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
965 Step1_1=FALSE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
966 Step2_1=FALSE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
967 Step3_1=FALSE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
968 t1_1=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
969 t2_1=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
970 t3_1=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
971 DDSBesChanged1=FALSE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
972 DDSBesChanged2=FALSE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
973 FrequencyDDSBes=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
974 nstabilization=0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
975
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
976 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
977 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
978 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
979 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
980 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
981 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
982 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
983 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
984
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
985
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
986
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
987
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
988
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
989
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
990 if (Measuring_2==TRUE)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
991 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
992 if (Step1_2==FALSE) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
993 SetCtrlVal(MainPanel, PANEL_DDS1, FrequDDS1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
994 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 1, FrequDDS1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
995
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
996 GetCtrlVal(MainPanel, PANEL_DDS2, &FrequencyDDSBesInit) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
997 GetCtrlVal(MainPanel, PANEL_DDS3, &FrequencyDDS3Init) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
998 t1_2=utc;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
999 Frequ_slope_2=Math1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1000 Beat_slope_2=Ch2;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1001 Moy_slope_2= Frequ_slope_2;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1002 Moy_Beatslope_2= Beat_slope_2;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1003 N_slope_2=1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1004 Step1_2=TRUE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1005 Nu1=(250000000+Math1)*N1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1006 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1007 else {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1008 if(Step2_2==FALSE){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1009 N_slope_2=N_slope_2+1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1010 Frequ_slope_2=Math1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1011 Beat_slope_2=Ch2;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1012 Moy_slope_2=((N_slope_2-1)*Moy_slope_2 + Frequ_slope_2)/N_slope_2;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1013 Moy_Beatslope_2=((N_slope_2-1)*Moy_Beatslope_2 + Beat_slope_2)/N_slope_2;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1014 Slope_slope_2 = (Slope_slope_2*(N_slope_2-2) + 6*(Frequ_slope_2-Moy_slope_2)/N_slope_2)/(N_slope_2+1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1015 Slope_Beatslope_2 = (Slope_Beatslope_2*(N_slope_2-2) + 6*(Beat_slope_2-Moy_Beatslope_2)/N_slope_2)/(N_slope_2+1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1016 if (utc-t1_2>SlopeTime2) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1017 Slope_2 = Slope_slope_2;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1018 Beatslope_2 = Slope_Beatslope_2;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1019 Step2_2=TRUE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1020 N_slope_2=0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1021 Frequ_slope_2=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1022 Moy_slope_2=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1023 Slope_slope_2 =0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1024 Moy_Beatslope_2=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1025 Slope_Beatslope_2 =0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1026 Beat_slope_2=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1027
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1028 DDS4xAD9912_FrequencyRampe (&DDS4xAD9912,1, FrequDDS1,(FrequDDS1+DeltakHz_2*1000), Step2/Ndiv ) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1029 SetCtrlVal(MainPanel, PANEL_DDS1, (FrequDDS1+DeltakHz_2*1000)) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1030 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 1, (FrequDDS1+DeltakHz_2*1000));
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1031 Delay(0.1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1032 DeltaDDS3 = -DeltakHz_2*1000*(-Signe1/Signe2)*Ndiv*(Nu2)/(Nu1) - Beatslope_2*(utc-t1_2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1033 SetCtrlVal(MainPanel, PANEL_DDS3, (FrequencyDDS3Init+DeltaDDS3)) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1034 DDS4xAD9912_SetFrequency (&DDS4xAD9912,3,(FrequencyDDS3Init+DeltaDDS3)) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1035
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1036 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1037 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1038 else {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1039 if (DDSBesChanged1==FALSE){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1040
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1041 if (nDDSChange<3)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1042 { nDDSChange=nDDSChange+1;}
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1043
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1044 else
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1045 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1046 nDDSChange=0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1047
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1048 DeltaFrep275=275000-Ch4;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1049 DeltaFrep10=10000-Ch2;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1050 DeltaDDS3= DeltaDDS3 +(DeltaFrep10);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1051 FrequencyDDSBes=FrequencyDDSBesInit+(DeltaFrep275);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1052 FrequencyDDS3=FrequencyDDS3Init+DeltaDDS3;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1053
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1054 SetCtrlVal(MainPanel, PANEL_DDS2, FrequencyDDSBes) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1055 DDS4xAD9912_SetFrequency(&DDS4xAD9912,2,FrequencyDDSBes);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1056
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1057 Delay(0.1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1058 SetCtrlVal(MainPanel, PANEL_DDS3, FrequencyDDS3) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1059 DDS4xAD9912_SetFrequency(&DDS4xAD9912,3,FrequencyDDS3);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1060
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1061 DDSBesChanged1=TRUE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1062 t2_2=utc;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1063
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1064 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1065
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1066 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1067 else{
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1068
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1069 if(Step3_2==FALSE){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1070 if (nstabilization<3)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1071 {nstabilization= nstabilization+1;}
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1072 else
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1073 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1074 if (utc-t2_2<DeltaT_2) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1075 Frepplus_2=Frepplus_2 +Math1+250000000-Slope_2*(utc-t2_2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1076 Delta10K_Plus= Delta10K_Plus + 10000 - (Ch2 -Beatslope_2*(utc-t2_2));
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1077 n_2=n_2+1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1078 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1079 else{
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1080 Frepplus_2=Frepplus_2/n_2;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1081 Delta10K_Plus=Delta10K_Plus/n_2;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1082 n_2=0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1083 Step3_2=TRUE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1084 nstabilization=0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1085 DDS4xAD9912_FrequencyRampe ( &DDS4xAD9912,1, (FrequDDS1+DeltakHz_2*1000),(FrequDDS1-DeltakHz_2*1000), Step2/Ndiv ) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1086 SetCtrlVal(MainPanel, PANEL_DDS1, (FrequDDS1-DeltakHz_2*1000)) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1087 DDS4xAD9912_SetFrequency (&DDS4xAD9912,1, (FrequDDS1-DeltakHz_2*1000) ) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1088
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1089 Delay(0.1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1090 DeltaDDS3 = (FrequencyDDS3Init+DeltakHz_2*1000*(-Signe1/Signe2)*Ndiv*(Nu2)/(Nu1)) - FrequencyDDS3;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1091 SetCtrlVal(MainPanel, PANEL_DDS3, FrequencyDDS3+DeltaDDS3) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1092 DDS4xAD9912_SetFrequency (&DDS4xAD9912,3, FrequencyDDS3+DeltaDDS3 ) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1093
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1094 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1095 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1096 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1097
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1098 else {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1099 if (DDSBesChanged2==FALSE){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1100
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1101 if (nDDSChange<3)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1102 { nDDSChange=nDDSChange+1;}
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1103
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1104 else
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1105 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1106 nDDSChange=0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1107
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1108
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1109 DeltaFrep275=275000-Ch4;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1110 DeltaFrep10=10000-Ch2;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1111 DeltaDDS3 = DeltaDDS3+(DeltaFrep10) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1112 FrequencyDDSBes=FrequencyDDSBes+(DeltaFrep275) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1113 FrequencyDDS3=FrequencyDDS3+DeltaDDS3 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1114 DDS4xAD9912_SetFrequency(&DDS4xAD9912,2,FrequencyDDSBes);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1115 SetCtrlVal(MainPanel, PANEL_DDS2, FrequencyDDSBes);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1116
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1117 Delay(0.1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1118 SetCtrlVal(MainPanel, PANEL_DDS3, FrequencyDDS3) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1119 DDS4xAD9912_SetFrequency(&DDS4xAD9912,3,FrequencyDDS3);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1120
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1121 DDSBesChanged2=TRUE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1122 t3_2=utc;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1123
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1124
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1125 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1126 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1127
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1128 else{
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1129 if (nstabilization<3)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1130 { nstabilization=nstabilization+1;}
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1131 else
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1132 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1133 if (utc-t3_2<DeltaT_2) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1134 Frepminus_2=Frepminus_2 +Math1+250000000-Slope_2*(utc-t3_2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1135 Delta10K_Minus= Delta10K_Minus +10000 - ( Ch2 -Beatslope_2*(utc-t3_2));
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1136 n_2=n_2+1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1137 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1138 else{
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1139 Frepminus_2=Frepminus_2/(n_2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1140 Delta10K_Minus= Delta10K_Minus/n_2;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1141 N_2 = (Signe2)*(-DeltaDDS3+Delta10K_Plus-Delta10K_Minus-Beatslope_2*(t3_2-t2_2) )/(Frepminus_2-Frepplus_2-Slope_2*(t3_2-t2_2));
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1142 n_2=0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1143 Frepminus_2=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1144 Frepplus_2=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1145 Delta10K_Minus=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1146 Delta10K_Plus=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1147 DDS4xAD9912_FrequencyRampe (&DDS4xAD9912, 1, FrequDDS1-DeltakHz_2*1000,FrequDDS1, Step2/Ndiv ) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1148 SetCtrlVal(MainPanel, PANEL_DDS1, FrequDDS1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1149 DDS4xAD9912_SetFrequency(&DDS4xAD9912,1,FrequDDS1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1150
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1151 Delay(0.1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1152
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1153 SetCtrlVal(MainPanel, PANEL_DDS2, FrequencyDDSBesInit) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1154 DDS4xAD9912_SetFrequency (&DDS4xAD9912, 2, FrequencyDDSBesInit ) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1155
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1156 Delay(0.1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1157
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1158 SetCtrlVal(MainPanel, PANEL_DDS3, FrequencyDDS3Init-Beatslope_2*(utc-t1_2)) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1159 DDS4xAD9912_SetFrequency (&DDS4xAD9912, 3, FrequencyDDS3Init-Beatslope_2*(utc-t1_2) ) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1160
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1161 Measuring_2=FALSE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1162 Step1_2=FALSE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1163 Step2_2=FALSE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1164 Step3_2=FALSE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1165 t1_2=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1166 t2_2=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1167 t3_2=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1168 DDSBesChanged1=FALSE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1169 DDSBesChanged2=FALSE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1170 FrequencyDDSBes=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1171 nstabilization=0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1172
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1173 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1174 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1175 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1176 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1177 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1178 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1179 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1180 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1181
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1182
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1183
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1184 /* if (Measuring_3==TRUE)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1185 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1186 if (Step1_3==FALSE) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1187 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 3, FrequDDS3);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1188 t1_3=utc;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1189 Frequ_slope_3=Math1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1190 Moy_slope_3= Frequ_slope_3;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1191 N_slope_3=1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1192 Step1_3=TRUE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1193 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1194 else {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1195 if(Step2_3==FALSE){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1196 N_slope_3=N_slope_3+1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1197 Frequ_slope_3=Math1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1198 Moy_slope_3=((N_slope_3-1)*Moy_slope_3 + Frequ_slope_3)/N_slope_3;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1199 Slope_slope_3 = (Slope_slope_3*(N_slope_3-2) + 6*(Frequ_slope_3-Moy_slope_3)/N_slope_3)/(N_slope_3+1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1200 if (utc-t1_3>DeltaT_3) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1201 Slope_3 = Slope_slope_3;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1202 GetCtrlVal(MainPanel, PANEL_DDSFREPOUT, &FrequencyDDSBes) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1203 DDSBes_SetFrequency(&DDSBes, FrequencyDDSBes+(FACTORDDSBES*DeltakHz_3*1000));
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1204 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 3, FrequDDS3+DeltakHz_3*1000);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1205 t2_3=utc;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1206 Step2_3=TRUE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1207 N_slope_3=0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1208 Frequ_slope_3=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1209 Moy_slope_3=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1210 Slope_slope_3 =0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1211 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1212 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1213 else {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1214 if(Step2_3==FALSE){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1215 if (utc-t2_3<DeltaT_3) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1216 Frepplus_3=Frepplus_3 +Math1+250000000-Slope_3*(utc-t2_3);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1217 n_3=n_3+1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1218 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1219 else{
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1220 Frepplus_3=Frepplus_3/n_3;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1221 DDSBes_SetFrequency(&DDSBes, FrequencyDDSBes-(FACTORDDSBES*DeltakHz_3*1000));
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1222 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 3, FrequDDS3-DeltakHz_3*1000);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1223 n_3=0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1224 t3_3=utc;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1225 Step3_3=TRUE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1226 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1227 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1228 else {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1229 if (utc-t3_3<DeltaT_3) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1230 Frepminus_3=Frepminus_3 +Math1+250000000-Slope_3*(utc-t3_3);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1231 n_3=n_3+1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1232 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1233 else{
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1234 Frepminus_3=Frepminus_3/(n_3);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1235 N_3 = (16*DeltakHz_3*1000 -Slope_3*(t3_3-t2_3))/(Frepplus_3-Frepminus_3);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1236 n_3=0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1237 Frepminus_3=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1238 Frepplus_3=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1239 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 3, FrequDDS3);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1240 Measuring_2=FALSE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1241 Step1_3=FALSE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1242 Step2_3=FALSE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1243 Step3_3=FALSE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1244 t1_3=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1245 t2_3=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1246 t3_3=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1247 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1248 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1249 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1250 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1251 } */
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1252
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1253
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1254
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1255
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1256
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1257 // Calcul du signe de fb
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1258
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1259 if (Getsign1 ==TRUE) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1260 if (utc> tbegin1+2){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1261 if (Math1> Frepbefore1) { Signe1=-1.0;}
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1262 else {Signe1=1.0;}
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1263 SetCtrlVal(MainPanel, PANEL_DDS1, Frequency1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1264 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 1, Frequency1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1265 Getsign1=FALSE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1266 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1267 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1268 if (Getsign2 ==TRUE) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1269 if (utc> tbegin2+2){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1270 if (Math1> Frepbefore2) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1271 if (Ch2>Ch2before) {Signe2=+1.0;}
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1272 else {Signe2=-1.0;}
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1273 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1274 else {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1275 if (Ch2>Ch2before) {Signe2=-1.0;}
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1276 else {Signe2=+1.0;}
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1277 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1278 SetCtrlVal(MainPanel, PANEL_DDS1, Frequency2) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1279 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 1, Frequency2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1280 Getsign2=FALSE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1281 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1282 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1283 if (Getsign3 ==TRUE) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1284 if (utc> tbegin3+2){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1285 if (Ch1> Frepbefore3) { Signe3=-1.0;}
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1286 else {Signe3=1.0;}
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1287 SetCtrlVal(MainPanel, PANEL_DDS3, Frequency3) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1288 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 3, Frequency3);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1289 Getsign3=FALSE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1290 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1291 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1292
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1293
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1294
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1295
1
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1296 /*
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1297 * Slope Cancelling
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1298 */
0
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1299
1
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1300 if (SlopeMeasuring == TRUE)
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1301 {
2
bd7501b65f56 Implement reference selection (microwave or Hg cavity) for slope cancelling
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 1
diff changeset
1302 double currentFreq;
bd7501b65f56 Implement reference selection (microwave or Hg cavity) for slope cancelling
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 1
diff changeset
1303
bd7501b65f56 Implement reference selection (microwave or Hg cavity) for slope cancelling
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 1
diff changeset
1304 /* select reference */
bd7501b65f56 Implement reference selection (microwave or Hg cavity) for slope cancelling
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 1
diff changeset
1305 switch (slopeReference) {
bd7501b65f56 Implement reference selection (microwave or Hg cavity) for slope cancelling
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 1
diff changeset
1306 case SLOPE_REFERENCE_MICROWAVE:
bd7501b65f56 Implement reference selection (microwave or Hg cavity) for slope cancelling
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 1
diff changeset
1307 currentFreq = Math2;
bd7501b65f56 Implement reference selection (microwave or Hg cavity) for slope cancelling
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 1
diff changeset
1308 break;
bd7501b65f56 Implement reference selection (microwave or Hg cavity) for slope cancelling
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 1
diff changeset
1309 case SLOPE_REFERENCE_HG_CAVITY:
10
239f2fe67cc0 Fix slope cancelling following Hg cavity
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 8
diff changeset
1310 currentFreq = Ch2 * 1062.5 / 1542.2;
2
bd7501b65f56 Implement reference selection (microwave or Hg cavity) for slope cancelling
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 1
diff changeset
1311 break;
bd7501b65f56 Implement reference selection (microwave or Hg cavity) for slope cancelling
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 1
diff changeset
1312 }
bd7501b65f56 Implement reference selection (microwave or Hg cavity) for slope cancelling
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 1
diff changeset
1313
1
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1314 if (utc-SlopeMeasuringTimeBegin > TimetoSlope)
0
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1315 {
1
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1316 Nratio = Nratio + 1;
0
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1317
1
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1318 if (Nratio >= 1)
0
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1319 {
1
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1320 MoyMath2 = MoyMath2 + Moy_Math2slope;
0
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1321 }
1
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1322 SlopeMath2 = SlopeMath2 + Slope_Math2slope;
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1323 N_Math2slope = 0.0;
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1324 Math2_slope = 0.0;
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1325 Moy_Math2slope = 0.0;
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1326 Slope_Math2slope = 0.0;
0
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1327
1
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1328 if (Nratio == 1 && CenterFrequencyCh2ToDetermine == TRUE)
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1329 {
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1330 CenterFrequencyCh2 = MoyMath2;
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1331 CenterFrequencyCh2ToDetermine = FALSE;
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1332 }
0
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1333
1
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1334 OnOffMessage = "ON " ;
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1335 OnSlopeCancelling = TRUE;
0
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1336
1
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1337 FoxFrequ = ReadDDSFOX (DDSFoxName,DDSFoxip,DDSFoxPort,DDSFoxProfil,DDSFoxClock,DDSFoxDeltaT,DDSFoxFrequency,DDSFoxSweeprate);
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1338
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1339 if (Nratio == ratio)
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1340 {
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1341 if (FrequCorrec == TRUE)
0
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1342 {
1
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1343 SlopeCorrection = (MoyMath2/ratio-CenterFrequencyCh2)/TimetoSlope;
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1344 SlopeMath2 = SlopeMath2 + SlopeCorrection;
0
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1345 }
1
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1346 Nratio = 0;
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1347 MoyMath2 = 0.0;
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1348 }
0
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1349
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1350 LaunchDDSFOX (DDSFoxName,DDSFoxip,DDSFoxPort,DDSFoxProfil,DDSFoxClock,DDSFoxDeltaT,FoxFrequ,SlopeMath2,0);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1351
1
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1352 nstabilisationSlopeMeasuring = 0;
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1353 SlopeMeasuringTimeBegin = utc;
0
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1354
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1355 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1356 else
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1357 {
1
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1358 if (nstabilisationSlopeMeasuring < 5)
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1359 {
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1360 nstabilisationSlopeMeasuring = nstabilisationSlopeMeasuring + 1;
2
bd7501b65f56 Implement reference selection (microwave or Hg cavity) for slope cancelling
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 1
diff changeset
1361 Math2_slope = currentFreq;
1
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1362 }
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1363 else
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1364 {
2
bd7501b65f56 Implement reference selection (microwave or Hg cavity) for slope cancelling
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 1
diff changeset
1365 if ((currentFreq-Math2_slope) < limitotakoff && (currentFreq-Math2_slope) > -limitotakoff)
0
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1366 {
1
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1367 N_Math2slope = N_Math2slope + 1;
2
bd7501b65f56 Implement reference selection (microwave or Hg cavity) for slope cancelling
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 1
diff changeset
1368 Math2_slope = currentFreq;
1
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1369 Moy_Math2slope = ((N_Math2slope-1)*Moy_Math2slope + Math2_slope)/N_Math2slope;
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1370 Slope_Math2slope = (Slope_Math2slope*(N_Math2slope-2) + 6*(Math2_slope-Moy_Math2slope)/N_Math2slope)/(N_Math2slope+1) ;
0
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1371 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1372 else
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1373 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1374 if (AutoStopSlopeCancellingIfDelock)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1375 {
1
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1376
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1377 /*
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1378 * stop slope cancelling if the comb is not locked
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1379 */
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1380
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1381 if (KeepFrequ == TRUE)
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1382 {
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1383 ActualFrequ = ReadDDSFOX (DDSFoxName,DDSFoxip,DDSFoxPort,DDSFoxProfil,DDSFoxClock,DDSFoxDeltaT,DDSFoxFrequency,DDSFoxSweeprate);
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1384 }
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1385 else
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1386 {
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1387 ActualFrequ = DDSFoxFrequency;
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1388 }
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1389
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1390 if (KeepSlope == TRUE)
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1391 {
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1392 ActualSlope = SlopeMath2;
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1393 }
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1394 else
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1395 {
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1396 ActualSlope = DDSFoxSweeprate;
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1397 OnSlopeCancelling = FALSE;
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1398 }
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1399
0
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1400 LaunchDDSFOX (DDSFoxName,DDSFoxip,DDSFoxPort,DDSFoxProfil,DDSFoxClock,DDSFoxDeltaT,ActualFrequ,ActualSlope,0);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1401
1
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1402 SlopeMeasuring = FALSE;
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1403 OnOffMessage = "OFF " ;
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1404 N_Math2slope = 0.0;
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1405 Math2_slope = 0.0;
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1406 MoyMath2 = 0.0;
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1407 Moy_Math2slope = 0.0;
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1408 Slope_Math2slope = 0.0;
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1409 CenterFrequencyCh2 = 0.0;
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1410 CenterFrequencyCh2ToDetermine = TRUE;
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1411 Nratio = -1;
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1412 nstabilisationSlopeMeasuring = 0;
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1413
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1414 SetCtrlVal(MainPanel, PANEL_STARTCANCEL, 0);
0
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1415 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1416 }
1
a6fb5d3d0ec0 Indentation
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 0
diff changeset
1417 }
0
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1418 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1419 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1420
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1421
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1422 //// For re-centering
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1423
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1424 if (KeepCentering)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1425 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1426
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1427 DeltaCh4=275000-Ch4;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1428 DeltaCh2=10000-Ch2;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1429
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1430 if (utc- CenteringTimeBegin275K > Timetorecenter275K && CenteringTimeBegin275K>10)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1431 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1432 GetCtrlVal(MainPanel, PANEL_DDS2, &FrequencyToChange) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1433 SetCtrlVal(MainPanel, PANEL_DDS2, FrequencyToChange+DeltaCh4) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1434 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 2, FrequencyToChange+DeltaCh4);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1435 CenteringTimeBegin275K=utc;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1436
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1437
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1438 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1439
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1440 if (utc- CenteringTimeBegin10K > Timetorecenter10K && CenteringTimeBegin10K>10)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1441 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1442 GetCtrlVal(MainPanel, PANEL_DDS3, &FrequencyToChange) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1443 SetCtrlVal(MainPanel, PANEL_DDS3, FrequencyToChange+DeltaCh2) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1444 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 3, FrequencyToChange+DeltaCh2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1445 CenteringTimeBegin10K=utc;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1446
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1447
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1448 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1449
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1450
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1451 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1452
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1453
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1454
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1455
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1456 // Now, some special extra functions for some math value which have special 'default' meaning (like nu_Hg and nu_Sr)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1457
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1458 /*GetPanelAttribute(CalcNHgPanel, ATTR_VISIBLE, &BoxChecked) ; // correct name for answer would be more
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1459 if (BoxChecked) { // something like "&PanelOpened" here
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1460 N_1 = 0; // evaluate Math2 for N=0 gives 282143G-/+320M
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1461 GetCtrlVal(CalcNHgPanel, CALCNHG_TARGET, &Target) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1462 NCalc = (Target-mupEval(MathParser2))/(Math1+766e6) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1463 SetCtrlVal(CalcNHgPanel, CALCNHG_NHGCALC, (double) RoundRealToNearestInteger (NCalc) ) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1464 SetCtrlVal(CalcNHgPanel, CALCNHG_ERROR, NCalc-RoundRealToNearestInteger (NCalc) ) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1465 GetCtrlVal(MainPanel, PANEL_N_HG, &N_1) ; // Set N_1 back to value user defined in main panel
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1466 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1467
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1468 GetPanelAttribute(CalcNSrPanel, ATTR_VISIBLE, &BoxChecked) ; // correct name for answer would be more
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1469 if (BoxChecked) { // something like "&PanelOpened" here, but I reuse variable name for concision
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1470 N2 = 0; // evaluate Math3 for N=0 gives 429228G-/+DDS2-/+Ch3
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1471 GetCtrlVal(CalcNSrPanel, CALCN2_TARGET, &Target) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1472 NCalc = (Target-mupEval(MathParser3))/(Math1+766e6) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1473 SetCtrlVal(CalcNSrPanel, CALCN2_NSRCALC, (double) RoundRealToNearestInteger (NCalc) ) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1474 SetCtrlVal(CalcNSrPanel, CALCNSR_ERROR, NCalc-RoundRealToNearestInteger (NCalc) ) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1475 GetCtrlVal(MainPanel, PANEL_N_SR, &N2) ; // Set N_2 back to value user defined in main panel
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1476 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1477
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1478 GetPanelAttribute(CalcN813Panel, ATTR_VISIBLE, &BoxChecked) ; // correct name for answer would be more
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1479 if (BoxChecked) { // something like "&PanelOpened" here, but I reuse variable name for concision
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1480 N3 = 0; // evaluate Math4 for N=0 gives ??????G-/+DDS_813-/+Ch4
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1481 GetCtrlVal(CalcN813Panel, CALCN83_TARGET, &Target) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1482 NCalc = (Target-mupEval(MathParser4))/(Math1+766e6) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1483 SetCtrlVal(CalcN813Panel, CALCN813_N813CALC, (double) RoundRealToNearestInteger (NCalc) ) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1484 SetCtrlVal(CalcN813Panel, CALCN813_ERROR, NCalc-RoundRealToNearestInteger (NCalc) ) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1485 GetCtrlVal(MainPanel, PANEL_N_813, &N3) ; // Set N3 back to value user defined in main panel
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1486 }*/
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1487
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1488 GetCtrlVal(MainPanel, PANEL_CHECKBOX_MATH2AUTOSAV, &BoxChecked) ; // AutoSave OL
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1489 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1490 SetCtrlVal(MainPanel, PANEL_CHECKBOX_MATH2SAVE, TRUE) ; // so that it will try to write it (at next block) if it seems reasonnable, even though it was off before
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1491 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1492
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1493 GetCtrlVal(MainPanel, PANEL_CHECKBOX_MATH2SAVE, &BoxChecked) ; // Save OL (Math2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1494 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1495 /*GetCtrlVal(CalcNHgPanel, CALCNHG_TARGET, &Target) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1496 if (abs(Math2-Target)>1e4) { // write it only if it's vaguely plausible (here outlier>10kHz ie approx 10000sigma but not dedrift applied !!!)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1497 SetCtrlVal(MainPanel, PANEL_CHECKBOX_MATH2SAVE, FALSE) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1498 break ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1499 } ;*/
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1500 FileOpt = OpenFile("z:\\MeasuresFifi1\\OptCavity.txt", VAL_WRITE_ONLY, VAL_APPEND, VAL_ASCII) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1501 Fmt(ReportString, "%s\t%s\t%f[p3]\t%f[p3]", Date, Time, utc, Math2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1502 WriteLine(FileOpt, ReportString, -1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1503 CloseFile(FileOpt) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1504 FileOpt = OpenFile("C:\\Femto\\Results\\OptCavity.txt", VAL_WRITE_ONLY, VAL_APPEND, VAL_ASCII) ; // a local backup for debugging
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1505 Fmt(ReportString, "%s\t%s\t%f[p3]\t%f[p3]", Date, Time, utc, Math2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1506 WriteLine(FileOpt, ReportString, -1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1507 CloseFile(FileOpt) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1508 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1509
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1510 GetCtrlVal(MainPanel, PANEL_CHECKBOX_MATH3AUTOSAV, &BoxChecked) ; // AutoSave Hg (Math3)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1511 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1512 SetCtrlVal(MainPanel, PANEL_CHECKBOX_MATH3SAVE, TRUE) ; // so that it will try to write it (at next block) if it seems reasonnable, even though it was off before
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1513 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1514
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1515 GetCtrlVal(MainPanel, PANEL_CHECKBOX_MATH3SAVE, &BoxChecked) ; // Save Hg
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1516
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1517 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1518 /*GetCtrlVal(CalcNSrPanel, CALCN3_TARGET, &Target) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1519 if (abs(Math3-Target)>1.0e4) { // write it only if it's vaguely plausible (here outlier>10kHz ie approx 10000sigma but not dedrift applied !!!)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1520 SetCtrlVal(MainPanel, PANEL_CHECKBOX_MATH3SAVE, FALSE) ; // otherwise uncheck the save box
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1521 break ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1522 } ;*/
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1523 FileHg = OpenFile("z:\\MeasuresFifi1\\HgCavity.txt", VAL_WRITE_ONLY, VAL_APPEND, VAL_ASCII) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1524 Fmt(ReportString, "%s\t%s\t%f[p3]\t%f[p3]", Date, Time, utc, Math3);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1525 WriteLine(FileHg, ReportString, -1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1526 CloseFile(FileHg) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1527 FileHg = OpenFile("C:\\Femto\\Results\\HgCavity.txt", VAL_WRITE_ONLY, VAL_APPEND, VAL_ASCII) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1528 Fmt(ReportString, "%s\t%s\t%f[p3]\t%f[p3]", Date, Time, utc, Math3);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1529 WriteLine(FileHg, ReportString, -1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1530 CloseFile(FileHg) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1531
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1532 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1533
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1534 GetCtrlVal(MainPanel, PANEL_CHECKBOX_MATH5SAVE, &BoxChecked) ; // Save ExtraMath (Math5)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1535 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1536 FileExtraMath = OpenFile(ExtraMathFileName, VAL_WRITE_ONLY, VAL_APPEND, VAL_ASCII) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1537 Fmt(ReportString, "%s\t%s\t%f[p3]\t%f[p7]", Date, Time, utc, Math5);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1538 WriteLine(FileExtraMath, ReportString, -1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1539 CloseFile(FileExtraMath) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1540 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1541
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1542 // Special case to handle change of day at next second
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1543 //if ( LocalTime.tm_hour==23 && LocalTime.tm_min==59 && strtod(Sec,NULL)>59 ) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1544 if ( LocalTime.tm_hour==23 && LocalTime.tm_min==59 && strtod(Sec,NULL)>=58 ) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1545 printf("Entering change of date substructure\r\n");
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1546 printf("old file : %s %s %s \r\n",Date, Time, LogFileName);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1547 Acquiring = FALSE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1548 do {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1549 Delay(5.1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1550 FindCurrentFileName() ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1551 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1552 while (!GetFileInfo(LogFileName, &OldLogFilePtr)) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1553 printf("new file : %s \r\n\r\n",Date, Time, LogFileName);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1554 Acquiring = TRUE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1555 OldLogFilePtr = 2;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1556 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1557
2
bd7501b65f56 Implement reference selection (microwave or Hg cavity) for slope cancelling
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 1
diff changeset
1558 ResumeTimerCallbacks() ;
0
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1559
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1560 } ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1561
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1562 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1563 case FALSE:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1564 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1565 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1566 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1567 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1568 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1569 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1570
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1571
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1572
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1573
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1574 int CVICALLBACK CB_OnFreqPlot (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1575 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1576 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1577 int BoxChecked ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1578 Plot_Data * pPlot = NULL;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1579 char PlotTitle[] = "Ch? Frequency Plot" ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1580 double PlotMin = 10e6 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1581 double PlotMax = 65e6 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1582
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1583 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1584 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1585 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1586
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1587 GetCtrlVal(MainPanel, control, &BoxChecked);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1588 switch (control) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1589 case PANEL_CHECKBOX_FREQ1PLOT :
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1590 pPlot = &PlotCh1 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1591 Fmt(PlotTitle, "Ch1 Frequency Plot") ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1592 PlotMin = 54.999e6 ; PlotMax = 55.001e6 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1593 break ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1594 case PANEL_CHECKBOX_FREQ2PLOT :
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1595 pPlot = &PlotCh2 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1596 Fmt(PlotTitle, "Ch2 Frequency Plot") ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1597 PlotMin = 8.0e3 ; PlotMax = 12.0e3 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1598 break ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1599 case PANEL_CHECKBOX_FREQ3PLOT :
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1600 pPlot = &PlotCh3 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1601 Fmt(PlotTitle, "Ch3 Frequency Plot") ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1602 PlotMin = 8.0e3 ; PlotMax = 12.0e3 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1603 break ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1604 case PANEL_CHECKBOX_FREQ4PLOT :
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1605 pPlot = &PlotCh4 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1606 Fmt(PlotTitle, "Ch4 Frequency Plot") ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1607 break ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1608 case PANEL_CHECKBOX_MATH1PLOT :
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1609 pPlot = &PlotMath1 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1610 Fmt(PlotTitle, "Math1 Plot") ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1611 PlotMin = 765.0e6 ; PlotMax = 775.0e6 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1612 break ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1613 case PANEL_CHECKBOX_MATH2PLOT :
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1614 pPlot = &PlotMath2 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1615 Fmt(PlotTitle, "Math2 Plot") ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1616 PlotMin = -1.0e9 ; PlotMax = 1.0e9 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1617 break ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1618 case PANEL_CHECKBOX_MATH3PLOT :
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1619 pPlot = &PlotMath3 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1620 Fmt(PlotTitle, "Math3 Plot") ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1621 PlotMin = -1.0e9 ; PlotMax = 1.0e9 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1622 break ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1623 case PANEL_CHECKBOX_MATH4PLOT :
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1624 pPlot = &PlotMath4 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1625 Fmt(PlotTitle, "Math4 Plot") ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1626 PlotMin = -1.0e9 ; PlotMax = 1.0e9 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1627 break ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1628 case PANEL_CHECKBOX_MATH5PLOT :
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1629 pPlot = &PlotMath5 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1630 Fmt(PlotTitle, "Math5 Plot") ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1631 PlotMin = -1.0e9 ; PlotMax = 1.0e9 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1632 break ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1633 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1634
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1635 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1636 Plot_InitPanel(pPlot, PlotTitle, PlotMin, PlotMax, &OnCloseViewPanel) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1637 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1638 else {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1639 Plot_ClosePanel(pPlot) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1640 } ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1641 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1642
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1643 case EVENT_RIGHT_CLICK:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1644
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1645 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1646
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1647 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1648 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1649 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1650
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1651
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1652 int CVICALLBACK CB_OnAllanPlot (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1653 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1654 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1655 int BoxChecked ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1656 Allan_Data * pAllan = NULL;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1657 char AllanTitle[] = "Ch? Allan Deviation " ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1658 double Normalizer = 300e12 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1659
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1660 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1661 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1662 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1663
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1664 GetCtrlVal(MainPanel, control, &BoxChecked);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1665 switch (control) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1666 case PANEL_CHECKBOX_FREQ1ALLAN :
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1667 pAllan = &AllanCh1 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1668 Fmt(AllanTitle, "Ch1 Allan Deviation") ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1669 Normalizer = 1.84e12 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1670 break ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1671 case PANEL_CHECKBOX_FREQ2ALLAN :
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1672 pAllan = &AllanCh2 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1673 Fmt(AllanTitle, "Ch2 Allan Deviation") ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1674 Normalizer = 10.e3 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1675 break ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1676 case PANEL_CHECKBOX_FREQ3ALLAN :
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1677 pAllan = &AllanCh3 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1678 Fmt(AllanTitle, "Ch3 Allan Deviation") ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1679 Normalizer = 429.228e12 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1680 break ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1681 case PANEL_CHECKBOX_FREQ4ALLAN :
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1682 pAllan = &AllanCh4 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1683 Fmt(AllanTitle, "Ch4 Allan Deviation") ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1684 Normalizer = 275.0e3 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1685 break ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1686 case PANEL_CHECKBOX_MATH1ALLAN :
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1687 pAllan = &AllanMath1 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1688 Fmt(AllanTitle, "Math1 Allan Deviation") ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1689 Normalizer = 250.0e6 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1690 break ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1691 case PANEL_CHECKBOX_MATH2ALLAN :
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1692 pAllan = &AllanMath2 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1693 Fmt(AllanTitle, "Math2 Allan Deviation") ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1694 Normalizer = 194.395e12 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1695 break ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1696 case PANEL_CHECKBOX_MATH3ALLAN :
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1697 pAllan = &AllanMath3 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1698 Fmt(AllanTitle, "Math3 Allan Deviation") ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1699 Normalizer = 282.143e12 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1700 break ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1701 case PANEL_CHECKBOX_MATH4ALLAN :
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1702 pAllan = &AllanMath4 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1703 Fmt(AllanTitle, "Math4 Allan Deviation") ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1704 Normalizer = 429.228e12 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1705 break ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1706 case PANEL_CHECKBOX_MATH5ALLAN :
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1707 pAllan = &AllanMath5 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1708 Fmt(AllanTitle, "Math5 Allan Deviation") ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1709 Normalizer = 429.228e12 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1710 break ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1711 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1712
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1713 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1714 Allan_InitPanel(pAllan, AllanTitle, Normalizer, &OnCloseViewPanel) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1715 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1716 else {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1717 Allan_ClosePanel(pAllan) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1718 } ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1719 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1720
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1721 case EVENT_RIGHT_CLICK:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1722
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1723 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1724
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1725 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1726 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1727 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1728
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1729 int CVICALLBACK CB_ChangeDDSOut (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1730 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1731 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1732 double Frequency ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1733
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1734 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1735 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1736 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1737 GetCtrlVal(MainPanel, control, &Frequency) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1738 if (control==PANEL_DDSFREPOUT) { DDSBes_SetFrequency(&DDSBes, Frequency) ;}
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1739 if (control==PANEL_DDS1) { DDS4xAD9912_SetFrequency(&DDS4xAD9912, 1, Frequency);}
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1740 if (control==PANEL_DDS2) { DDS4xAD9912_SetFrequency(&DDS4xAD9912, 2, Frequency);}
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1741 if (control==PANEL_DDS3) { DDS4xAD9912_SetFrequency(&DDS4xAD9912, 3, Frequency);}
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1742 if (control==PANEL_DDS4) { DDS4xAD9912_SetFrequency(&DDS4xAD9912, 4, Frequency);}
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1743 case EVENT_RIGHT_CLICK:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1744
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1745 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1746
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1747 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1748 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1749 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1750
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1751 int CVICALLBACK CB_ChangeDDSStep (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1752 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1753 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1754 double Step ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1755
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1756 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1757 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1758 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1759 GetCtrlVal(MainPanel, control, &Step) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1760 if (control==PANEL_DDSFREPSTEP) { SetCtrlAttribute(panel, PANEL_DDSFREPOUT, ATTR_INCR_VALUE, Step) ;}
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1761 if (control==PANEL_DDS1STEP) { SetCtrlAttribute(panel, PANEL_DDS1, ATTR_INCR_VALUE, Step) ;}
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1762 if (control==PANEL_DDS2STEP) { SetCtrlAttribute(panel, PANEL_DDS2, ATTR_INCR_VALUE, Step) ;}
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1763 if (control==PANEL_DDS3STEP) { SetCtrlAttribute(panel, PANEL_DDS3, ATTR_INCR_VALUE, Step) ;}
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1764 if (control==PANEL_DDS4STEP) { SetCtrlAttribute(panel, PANEL_DDS4, ATTR_INCR_VALUE, Step) ;}
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1765 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1766 case EVENT_RIGHT_CLICK:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1767
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1768 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1769
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1770 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1771 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1772 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1773
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1774 int CVICALLBACK CB_ChangeDDSAmpli (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1775 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1776 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1777 unsigned short int Amplitude ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1778
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1779 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1780 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1781 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1782 GetCtrlVal(MainPanel, control, &Amplitude) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1783 if (control==PANEL_DDSFREPAMP) { DDSBes_SetAmplitude(&DDSBes, Amplitude) ;}
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1784 case EVENT_RIGHT_CLICK:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1785
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1786 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1787
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1788 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1789 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1790 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1791
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1792 int CVICALLBACK CB_ChangeMath (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1793 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1794 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1795
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1796 char * MathString = " " ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1797 // should be long enough for any reasonnable math expression...
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1798
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1799 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1800 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1801 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1802 GetCtrlVal(panel, control, MathString) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1803 if (control==PANEL_MATHSTRING1) { mupSetExpr(MathParser1, MathString) ; }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1804 if (control==PANEL_MATHSTRING2) { mupSetExpr(MathParser2, MathString) ; }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1805 if (control==PANEL_MATHSTRING3) { mupSetExpr(MathParser3, MathString) ; }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1806 if (control==PANEL_MATHSTRING4) { mupSetExpr(MathParser4, MathString) ; }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1807 if (control==PANEL_MATHSTRING5) { mupSetExpr(MathParser5, MathString) ; }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1808 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1809 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1810 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1811 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1812
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1813 int CVICALLBACK CB_ChangeN (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1814 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1815 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1816
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1817 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1818 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1819 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1820 if (control==PANEL_N1CHOICE) GetCtrlVal(MainPanel, control, &N1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1821 if (control==PANEL_N2CHOICE) GetCtrlVal(MainPanel, control, &N2) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1822 if (control==PANEL_N3CHOICE) GetCtrlVal(MainPanel, control, &N3) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1823 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1824 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1825 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1826 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1827
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1828 int CVICALLBACK CB_OnPlus275k (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1829 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1830 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1831 double Frequency ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1832
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1833 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1834 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1835 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1836 GetCtrlVal(MainPanel, PANEL_DDSFREPOUT, &Frequency) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1837 Frequency += 275000.0 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1838 DDSBes_SetFrequency(&DDSBes, Frequency) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1839 SetCtrlVal(MainPanel, PANEL_DDSFREPOUT, Frequency) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1840 /*SetCtrlVal(MainPanel, PANEL_MATHSTRING1, FREP_NORMAL_FORMULA) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1841 mupSetExpr(MathParser1, FREP_NORMAL_FORMULA) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1842 SetCtrlVal(MainPanel, PANEL_MATHSTRING2, NUHG_NORMAL_FORMULA) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1843 mupSetExpr(MathParser2, NUHG_NORMAL_FORMULA) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1844 SetCtrlVal(MainPanel, PANEL_MATHSTRING4, NU813_NORMAL_FORMULA) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1845 mupSetExpr(MathParser4, NU813_NORMAL_FORMULA) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1846 */
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1847 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1848 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1849 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1850 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1851
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1852 int CVICALLBACK CB_OnMinus275k (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1853 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1854 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1855 double Frequency ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1856
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1857 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1858 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1859 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1860 GetCtrlVal(MainPanel, PANEL_DDSFREPOUT, &Frequency) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1861 Frequency -= 275000.0 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1862 DDSBes_SetFrequency(&DDSBes, Frequency) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1863 SetCtrlVal(MainPanel, PANEL_DDSFREPOUT, Frequency) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1864 /*SetCtrlVal(MainPanel, PANEL_MATHSTRING1, "0") ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1865 mupSetExpr(MathParser1, "0") ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1866 SetCtrlVal(MainPanel, PANEL_MATHSTRING2, "0") ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1867 mupSetExpr(MathParser2, "0") ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1868 SetCtrlVal(MainPanel, PANEL_MATHSTRING4, "0") ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1869 mupSetExpr(MathParser4, "0") ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1870 */
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1871 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1872 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1873 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1874 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1875
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1876 int CVICALLBACK CB_OnPlus10k (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1877 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1878 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1879 double Frequency ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1880
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1881 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1882 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1883 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1884 if (control==PANEL_PLUS10KDDS1) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1885 GetCtrlVal(MainPanel, PANEL_DDS1, &Frequency) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1886 Frequency += 10000.0 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1887 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 1, Frequency);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1888 SetCtrlVal(MainPanel, PANEL_DDS1, Frequency) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1889 /*SetCtrlVal(MainPanel, PANEL_MATHSTRING3, NUHG_NORMAL_FORMULA) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1890 mupSetExpr(MathParser3, NUHG_NORMAL_FORMULA) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1891 */
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1892 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1893 if (control==PANEL_PLUS10KDDS2) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1894 GetCtrlVal(MainPanel, PANEL_DDS2, &Frequency) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1895 Frequency += 10000.0 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1896 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 2, Frequency);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1897 SetCtrlVal(MainPanel, PANEL_DDS2, Frequency) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1898 /*SetCtrlVal(MainPanel, PANEL_MATHSTRING3, NUSR_NORMAL_FORMULA) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1899 mupSetExpr(MathParser3, NUSR_NORMAL_FORMULA) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1900 */
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1901 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1902 if (control==PANEL_PLUS10KDDS3) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1903 GetCtrlVal(MainPanel, PANEL_DDS3, &Frequency) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1904 Frequency += 10000.0 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1905 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 3, Frequency);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1906 SetCtrlVal(MainPanel, PANEL_DDS3, Frequency) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1907 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1908 if (control==PANEL_PLUS10KDDS4) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1909 GetCtrlVal(MainPanel, PANEL_DDS4, &Frequency) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1910 Frequency += 10000.0 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1911 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 4, Frequency);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1912 SetCtrlVal(MainPanel, PANEL_DDS4, Frequency) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1913 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1914 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1915 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1916 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1917 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1918
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1919 int CVICALLBACK CB_OnMinus10k (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1920 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1921 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1922 double Frequency ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1923
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1924 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1925 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1926 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1927 if (control==PANEL_MINUS10KDDS1) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1928 GetCtrlVal(MainPanel, PANEL_DDS1, &Frequency) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1929 Frequency -= 10000.0 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1930 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 1, Frequency);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1931 SetCtrlVal(MainPanel, PANEL_DDS1, Frequency) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1932 /*SetCtrlVal(MainPanel, PANEL_MATHSTRING3, NUHG_NORMAL_FORMULA) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1933 mupSetExpr(MathParser3, NUHG_NORMAL_FORMULA) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1934 */
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1935 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1936 if (control==PANEL_MINUS10KDDS2) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1937 GetCtrlVal(MainPanel, PANEL_DDS2, &Frequency) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1938 Frequency -= 10000.0 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1939 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 2, Frequency);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1940 SetCtrlVal(MainPanel, PANEL_DDS2, Frequency) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1941 /*SetCtrlVal(MainPanel, PANEL_MATHSTRING3, NUSR_NORMAL_FORMULA) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1942 mupSetExpr(MathParser3, NUSR_NORMAL_FORMULA) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1943 */
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1944 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1945 if (control==PANEL_MINUS10KDDS3) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1946 GetCtrlVal(MainPanel, PANEL_DDS3, &Frequency) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1947 Frequency -= 10000.0 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1948 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 3, Frequency);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1949 SetCtrlVal(MainPanel, PANEL_DDS3, Frequency) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1950 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1951 if (control==PANEL_MINUS10KDDS4) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1952 GetCtrlVal(MainPanel, PANEL_DDS4, &Frequency) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1953 Frequency -= 10000.0 ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1954 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 4, Frequency);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1955 SetCtrlVal(MainPanel, PANEL_DDS4, Frequency) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1956 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1957 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1958 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1959 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1960 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1961
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1962
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1963
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1964
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1965 int CVICALLBACK CB_OnSaveOpt (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1966 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1967 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1968 bool BoxChecked = FALSE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1969
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1970 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1971 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1972 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1973
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1974 GetCtrlVal(MainPanel, control, &BoxChecked);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1975
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1976 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1977 SetCtrlAttribute(MainPanel, PANEL_CHECKBOX_MATH2AUTOSAV, ATTR_DIMMED, FALSE) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1978 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1979
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1980 if (!BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1981 SetCtrlAttribute(MainPanel, PANEL_CHECKBOX_MATH2AUTOSAV, ATTR_DIMMED, TRUE) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1982 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1983
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1984 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1985 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1986 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1987 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1988
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1989
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1990
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1991
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1992 int CVICALLBACK CB_OnSaveHg (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1993 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1994 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1995 bool BoxChecked = FALSE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1996
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1997 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1998 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
1999 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2000
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2001 GetCtrlVal(MainPanel, control, &BoxChecked);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2002
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2003 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2004 SetCtrlAttribute(MainPanel, PANEL_CHECKBOX_MATH3AUTOSAV, ATTR_DIMMED, FALSE) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2005 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2006
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2007 if (!BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2008 SetCtrlAttribute(MainPanel, PANEL_CHECKBOX_MATH3AUTOSAV, ATTR_DIMMED, TRUE) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2009 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2010
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2011 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2012 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2013 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2014 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2015
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2016 int CVICALLBACK CB_OnAutoSaveHg (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2017 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2018 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2019 bool BoxChecked = FALSE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2020
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2021 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2022 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2023 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2024
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2025 GetCtrlVal(MainPanel, control, &BoxChecked);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2026
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2027 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2028 SetCtrlAttribute(MainPanel, PANEL_CHECKBOX_MATH2SAVE, ATTR_DIMMED, TRUE) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2029 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2030
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2031 if (!BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2032 SetCtrlAttribute(MainPanel, PANEL_CHECKBOX_MATH2SAVE, ATTR_DIMMED, FALSE) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2033 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2034
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2035 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2036 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2037 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2038 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2039
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2040 int CVICALLBACK CB_OnSaveSr (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2041 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2042 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2043 bool BoxChecked = FALSE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2044
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2045 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2046 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2047 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2048
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2049 GetCtrlVal(MainPanel, control, &BoxChecked);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2050
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2051 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2052 SetCtrlAttribute(MainPanel, PANEL_CHECKBOX_MATH3AUTOSAV, ATTR_DIMMED, FALSE) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2053 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2054
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2055 if (!BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2056 SetCtrlAttribute(MainPanel, PANEL_CHECKBOX_MATH3AUTOSAV, ATTR_DIMMED, TRUE) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2057 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2058 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2059 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2060 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2061 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2062
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2063 int CVICALLBACK CB_OnAutoSaveSr (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2064 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2065 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2066 bool BoxChecked = FALSE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2067
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2068 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2069 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2070 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2071
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2072 GetCtrlVal(MainPanel, control, &BoxChecked);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2073
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2074 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2075 SetCtrlAttribute(MainPanel, PANEL_CHECKBOX_MATH3SAVE, ATTR_DIMMED, TRUE) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2076 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2077
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2078 if (!BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2079 SetCtrlAttribute(MainPanel, PANEL_CHECKBOX_MATH3SAVE, ATTR_DIMMED, FALSE) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2080 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2081
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2082 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2083 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2084 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2085 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2086
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2087
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2088 int CVICALLBACK OnAcceptN (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2089 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2090 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2091 double N;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2092
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2093 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2094 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2095 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2096 if (panel == CalcN1Panel) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2097 N = floor(N_1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2098 if (N_1-N<0.5)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2099 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2100 N1=N;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2101 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2102 else
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2103 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2104 N1=N+1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2105 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2106 SetCtrlVal(MainPanel, PANEL_N1CHOICE, N1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2107 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2108
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2109 if (panel == CalcN2Panel) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2110 N = floor(N_2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2111 if (N_2-N<0.5)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2112 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2113 N2=N;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2114 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2115 else
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2116 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2117 N2=N+1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2118 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2119 SetCtrlVal(MainPanel, PANEL_N2CHOICE, N2) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2120 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2121
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2122 if (panel == CalcN3Panel) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2123 GetCtrlVal(CalcN3Panel, CALCN3_N_3, &N) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2124 SetCtrlVal(MainPanel, PANEL_N3CHOICE, N) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2125 N3=N;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2126 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2127 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2128 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2129 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2130 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2131
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2132 /*int CVICALLBACK OnFSRStep (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2133 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2134 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2135 double Target, FSR ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2136
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2137 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2138 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2139 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2140 if (panel==CalcNHgPanel) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2141 if (control==CALCNHG_MINUSFSR) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2142 GetCtrlVal(CalcNHgPanel, CALCNHG_FSR, &FSR) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2143 GetCtrlVal(CalcNHgPanel, CALCNHG_TARGET, &Target) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2144 Target -= FSR ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2145 SetCtrlVal(CalcNHgPanel, CALCNHG_TARGET, Target) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2146 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2147 if (control==CALCNHG_PLUSFSR) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2148 GetCtrlVal(CalcNHgPanel, CALCNHG_FSR, &FSR) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2149 GetCtrlVal(CalcNHgPanel, CALCNHG_TARGET, &Target) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2150 Target += FSR ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2151 SetCtrlVal(CalcNHgPanel, CALCNHG_TARGET, Target) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2152 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2153 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2154 if (panel==CalcNSrPanel) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2155 if (control==CALCNSR_MINUSFSR) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2156 GetCtrlVal(CalcNSrPanel, CALCNSR_FSR, &FSR) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2157 GetCtrlVal(CalcNSrPanel, CALCNSR_TARGET, &Target) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2158 Target -= FSR ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2159 SetCtrlVal(CalcNSrPanel, CALCNSR_TARGET, Target) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2160 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2161 if (control==CALCNSR_PLUSFSR) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2162 GetCtrlVal(CalcNSrPanel, CALCNSR_FSR, &FSR) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2163 GetCtrlVal(CalcNSrPanel, CALCNSR_TARGET, &Target) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2164 Target += FSR ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2165 SetCtrlVal(CalcNSrPanel, CALCNSR_TARGET, Target) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2166 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2167 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2168 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2169 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2170 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2171 } */
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2172
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2173 /*int CVICALLBACK OnExtrapolateTarget (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2174 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2175 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2176 bool BoxChecked = FALSE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2177 double extrapolFreq = 745967614;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2178 time_t utcTime ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2179 double utc ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2180
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2181 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2182 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2183 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2184 GetCtrlVal(CalcNHgPanel, CALCNHG_EXTRAPOLATE, &BoxChecked) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2185 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2186 SetCtrlAttribute(CalcNHgPanel, CALCNHG_TARGET, ATTR_DIMMED, TRUE) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2187 SetCtrlAttribute(CalcNHgPanel, CALCNHG_OFFSETFREQ, ATTR_DIMMED, TRUE) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2188 SetCtrlAttribute(CalcNHgPanel, CALCNHG_PLUSFSR, ATTR_DIMMED, TRUE) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2189 SetCtrlAttribute(CalcNHgPanel, CALCNHG_MINUSFSR, ATTR_DIMMED, TRUE) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2190 utc = time(&utcTime) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2191 //extrapolFreq = 746127081 + 0.032*(utc-3491304000) ; // linear data extrapolation with slope from 18/08/2010-12/08/2010
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2192 extrapolFreq = 746108328.707542 + 3.144737e-002 * (utc-3490779388.183) - 9.527612e-010 * (utc-3490779388.183) ; // quad extrapol from fit of data in HgCavity.txt 5/10/2010
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2193
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2194
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2195 SetCtrlVal(CalcNHgPanel, CALCNHG_TARGET, extrapolFreq) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2196 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2197 else {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2198 SetCtrlAttribute(CalcNHgPanel, CALCNHG_TARGET, ATTR_DIMMED, FALSE) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2199 SetCtrlAttribute(CalcNHgPanel, CALCNHG_OFFSETFREQ, ATTR_DIMMED, FALSE) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2200 SetCtrlAttribute(CalcNHgPanel, CALCNHG_PLUSFSR, ATTR_DIMMED, FALSE) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2201 SetCtrlAttribute(CalcNHgPanel, CALCNHG_MINUSFSR, ATTR_DIMMED, FALSE) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2202 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2203 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2204 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2205 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2206 } */
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2207
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2208
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2209 int CVICALLBACK OnChooseSaveFile (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2210 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2211 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2212 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2213 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2214 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2215
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2216 FileSelectPopup("D:\\Manip Femto", "*.txt", "*.txt", "Selection of the ExtraMath saving file", VAL_SAVE_BUTTON, 0, 0, 0, FALSE, ExtraMathFileName) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2217 SetCtrlAttribute(MainPanel, PANEL_CHECKBOX_MATH5SAVE, ATTR_DIMMED, FALSE) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2218
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2219 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2220 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2221 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2222 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2223
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2224
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2225 // Changements pour Calcul de N
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2226
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2227
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2228
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2229 int CVICALLBACK CB_OnNCalculus (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2230 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2231 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2232
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2233 int PanelIsVisible, PanelTop, PanelLeft, PanelWidth ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2234
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2235 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2236 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2237 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2238
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2239 if (control==PANEL_N1CALCULUS){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2240 GetPanelAttribute (CalcN1Panel, ATTR_VISIBLE , &PanelIsVisible);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2241 if (PanelIsVisible) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2242 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2243 else {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2244 GetPanelAttribute (MainPanel, ATTR_TOP, &PanelTop) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2245 GetPanelAttribute (MainPanel, ATTR_LEFT, &PanelLeft) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2246 GetPanelAttribute (MainPanel, ATTR_WIDTH, &PanelWidth) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2247 SetPanelAttribute (CalcN1Panel, ATTR_TOP, PanelTop+170 ) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2248 SetPanelAttribute (CalcN1Panel, ATTR_LEFT, PanelLeft+PanelWidth+4 ) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2249 DisplayPanel(CalcN1Panel) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2250 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2251 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2252 if (control==PANEL_N2CALCULUS){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2253 GetPanelAttribute (CalcN2Panel, ATTR_VISIBLE , &PanelIsVisible);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2254 if (PanelIsVisible) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2255 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2256 else {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2257 GetPanelAttribute (MainPanel, ATTR_TOP, &PanelTop) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2258 GetPanelAttribute (MainPanel, ATTR_LEFT, &PanelLeft) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2259 GetPanelAttribute (MainPanel, ATTR_WIDTH, &PanelWidth) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2260 SetPanelAttribute (CalcN2Panel, ATTR_TOP, PanelTop+310 ) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2261 SetPanelAttribute (CalcN2Panel, ATTR_LEFT, PanelLeft+PanelWidth+4 ) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2262 DisplayPanel(CalcN2Panel) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2263 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2264 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2265 if (control==PANEL_N3CALCULUS){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2266 GetPanelAttribute (CalcN3Panel, ATTR_VISIBLE , &PanelIsVisible);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2267 if (PanelIsVisible) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2268 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2269 else {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2270 GetPanelAttribute (MainPanel, ATTR_TOP, &PanelTop) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2271 GetPanelAttribute (MainPanel, ATTR_LEFT, &PanelLeft) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2272 GetPanelAttribute (MainPanel, ATTR_WIDTH, &PanelWidth) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2273 SetPanelAttribute (CalcN3Panel, ATTR_TOP, PanelTop+480 ) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2274 SetPanelAttribute (CalcN3Panel, ATTR_LEFT, PanelLeft+PanelWidth+4 ) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2275 DisplayPanel(CalcN3Panel) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2276 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2277 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2278 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2279 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2280
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2281 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2282 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2283
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2284
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2285 int CVICALLBACK CB_OnStartNCalculus (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2286 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2287 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2288
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2289 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2290 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2291 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2292 if (control==CALCN1_COMMANDBUTTON)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2293 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2294 Measuring_1=TRUE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2295 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2296 if (control==CALCN2_COMMANDBUTTON)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2297 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2298 Measuring_2=TRUE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2299 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2300 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2301 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2302
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2303
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2304
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2305 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2306 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2307
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2308 int CVICALLBACK CB_OnStartN3Calculus (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2309 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2310 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2311
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2312 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2313 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2314 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2315 Measuring_3=TRUE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2316 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2317 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2318 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2319 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2320
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2321
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2322 int CVICALLBACK CB_OnNStop (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2323 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2324 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2325 int PanelIsVisible;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2326
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2327 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2328 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2329 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2330 //switch (control)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2331 if (control==CALCN1_COMMANDBUTTON_2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2332 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2333 GetPanelAttribute (CalcN1Panel, ATTR_VISIBLE , &PanelIsVisible);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2334 if (PanelIsVisible) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2335 HidePanel(CalcN1Panel) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2336 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2337
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2338 Measuring_1=FALSE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2339 Step1_1=FALSE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2340 Step2_1=FALSE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2341 Step3_1=FALSE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2342 Frepminus_1=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2343 Frepplus_1=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2344 t1_1=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2345 t2_1=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2346 t3_1=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2347 N_slope_1=0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2348 Frequ_slope_1=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2349 Moy_slope_1=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2350 Slope_slope_1 =0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2351 Ch4_slope=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2352 Moy_Ch4slope_1=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2353 Slope_Ch4slope_1=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2354 DDSBesChanged1=FALSE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2355 DDSBesChanged2=FALSE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2356 nDDSChange=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2357
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2358 SetCtrlVal(MainPanel, PANEL_DDS1, FrequDDS1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2359 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 1, FrequDDS1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2360 SetCtrlVal(MainPanel, PANEL_DDS2, FrequencyDDSBesInit) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2361 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 2, FrequencyDDSBesInit);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2362 nstabilization=0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2363 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2364
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2365
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2366 if (control==CALCN2_STOP2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2367 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2368 GetPanelAttribute (CalcN2Panel, ATTR_VISIBLE , &PanelIsVisible);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2369 if (PanelIsVisible) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2370 HidePanel(CalcN2Panel) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2371 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2372
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2373 Measuring_2=FALSE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2374 Step1_2=FALSE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2375 Step2_2=FALSE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2376 Step3_2=FALSE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2377 Frepminus_2=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2378 Delta10K_Minus=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2379 Frepplus_2=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2380 Delta10K_Plus=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2381 DeltaDDS3=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2382 t1_2=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2383 t2_2=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2384 t3_2=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2385 N_slope_2=0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2386 Frequ_slope_2=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2387 Moy_slope_2=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2388 Beat_slope_2=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2389 Moy_Beatslope_2=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2390 Slope_Beatslope_2 =0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2391 Slope_slope_2 =0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2392 DDSBesChanged1=FALSE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2393 DDSBesChanged2=FALSE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2394 nDDSChange=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2395 SetCtrlVal(MainPanel, PANEL_DDS1, FrequDDS1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2396 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 1, FrequDDS1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2397 SetCtrlVal(MainPanel, PANEL_DDS2, FrequencyDDSBesInit) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2398 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 2, FrequencyDDSBesInit);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2399 SetCtrlVal(MainPanel, PANEL_DDS3, FrequencyDDS3Init) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2400 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 3, FrequencyDDS3Init);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2401 nstabilization=0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2402 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2403
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2404
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2405 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2406 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2407 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2408 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2409
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2410 int CVICALLBACK CB_OnN3Stop (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2411 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2412 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2413 int PanelIsVisible;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2414
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2415 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2416 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2417 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2418 GetPanelAttribute (CalcN3Panel, ATTR_VISIBLE , &PanelIsVisible);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2419 if (PanelIsVisible) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2420 HidePanel(CalcN3Panel) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2421 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2422
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2423 Measuring_3=FALSE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2424 Step1_3=FALSE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2425 Step2_3=FALSE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2426 Step3_3=FALSE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2427 Frepminus_3=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2428 Frepplus_3=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2429 t1_3=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2430 t2_3=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2431 t3_3=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2432 N_slope_3=0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2433 Frequ_slope_3=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2434 Moy_slope_3=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2435 Slope_slope_3 =0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2436 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2437 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2438 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2439 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2440
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2441
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2442 int CVICALLBACK CB_OnIntegrationTime (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2443 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2444 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2445 double Time ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2446
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2447 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2448 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2449 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2450 if (control==CALCN1_INTEGRATIONTIME){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2451 GetCtrlVal(CalcN1Panel, CALCN1_INTEGRATIONTIME, &Time) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2452 DeltaT_1=Time;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2453 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2454 if (control==CALCN2_INTEGRATIONTIME){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2455 GetCtrlVal(CalcN2Panel, CALCN2_INTEGRATIONTIME, &Time) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2456 DeltaT_2=Time;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2457 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2458 if (control==CALCN3_INTEGRATIONTIME){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2459 GetCtrlVal(CalcN3Panel, CALCN3_INTEGRATIONTIME, &Time) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2460 DeltaT_3=Time;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2461 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2462
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2463 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2464
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2465 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2466 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2467 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2468
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2469
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2470 int CVICALLBACK CB_OnDeltaFreq (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2471 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2472 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2473 double Frequ ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2474
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2475 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2476 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2477 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2478 if (control==CALCN1_DELTAFREQ){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2479 GetCtrlVal(CalcN1Panel, CALCN1_DELTAFREQ, &Frequ) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2480 DeltakHz_1=Frequ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2481 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2482 if (control==CALCN2_DELTAFREQ){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2483 GetCtrlVal(CalcN2Panel, CALCN2_DELTAFREQ, &Frequ) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2484 DeltakHz_2=Frequ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2485 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2486 if (control==CALCN3_DELTAFREQ){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2487 GetCtrlVal(CalcN3Panel, CALCN3_DELTAFREQ, &Frequ) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2488 DeltakHz_3=Frequ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2489 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2490
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2491 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2492
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2493 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2494 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2495 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2496
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2497
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2498 int CVICALLBACK CB_OnFindSign (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2499 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2500 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2501
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2502 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2503 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2504 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2505 if (control==PANEL_FINDSIGN1){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2506 tbegin1=utc;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2507 Frepbefore1=Math1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2508 GetCtrlVal(MainPanel, PANEL_DDS1, &Frequency1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2509 SetCtrlVal(MainPanel, PANEL_DDS1, Frequency1+Frequencystep1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2510 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 1, Frequency1+Frequencystep1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2511 Getsign1=TRUE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2512 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2513 if (control==PANEL_FINDSIGN2){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2514 tbegin2=utc;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2515 Frepbefore2=Math1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2516 Ch2before=Ch2;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2517 GetCtrlVal(MainPanel, PANEL_DDS1, &Frequency2) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2518 SetCtrlVal(MainPanel, PANEL_DDS1, Frequency2+Frequencystep2) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2519 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 1, Frequency2+Frequencystep2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2520 Getsign2=TRUE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2521 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2522 if (control==PANEL_FINDSIGN3){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2523 tbegin3=utc;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2524 Frepbefore3=Ch1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2525 GetCtrlVal(MainPanel, PANEL_DDS3, &Frequency3) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2526 SetCtrlVal(MainPanel, PANEL_DDS3, Frequency3+Frequencystep3) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2527 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 3, Frequency3+Frequencystep3);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2528 Getsign3=TRUE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2529 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2530
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2531
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2532 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2533
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2534 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2535 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2536 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2537
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2538
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2539
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2540 int CVICALLBACK CB_OnFind275K (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2541 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2542 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2543
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2544
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2545 double FrequencyToChange,DeltaCh4,DeltaCh2;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2546
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2547 DeltaCh4=275000-Ch4;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2548 DeltaCh2=10000-Ch2;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2549
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2550 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2551 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2552 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2553 if (control==PANEL_FIND275K2){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2554 GetCtrlVal(MainPanel, PANEL_DDS2, &FrequencyToChange) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2555 SetCtrlVal(MainPanel, PANEL_DDS2, FrequencyToChange+DeltaCh4) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2556 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 2, FrequencyToChange+DeltaCh4);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2557
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2558 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2559
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2560 if (control==PANEL_FIND10K3){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2561 GetCtrlVal(MainPanel, PANEL_DDS3, &FrequencyToChange) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2562 SetCtrlVal(MainPanel, PANEL_DDS3, FrequencyToChange+DeltaCh2) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2563 DDS4xAD9912_SetFrequency(&DDS4xAD9912, 3, FrequencyToChange+DeltaCh2);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2564
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2565 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2566
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2567 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2568
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2569 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2570 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2571 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2572
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2573
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2574 int CVICALLBACK CB_OnSlopeTime (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2575 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2576 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2577 double Time ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2578
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2579 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2580 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2581 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2582 if (control==CALCN1_SLOPETIME){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2583 GetCtrlVal(CalcN1Panel, CALCN1_SLOPETIME, &Time) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2584 SlopeTime1=Time;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2585 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2586
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2587 if (control==CALCN2_SLOPETIME){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2588 GetCtrlVal(CalcN2Panel, CALCN2_SLOPETIME, &Time) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2589 SlopeTime2=Time;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2590 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2591
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2592 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2593
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2594 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2595 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2596 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2597
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2598
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2599 int CVICALLBACK CB_OnChangeNdiv (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2600 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2601 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2602 double NewN ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2603
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2604 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2605 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2606 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2607 if (control==PANEL_CHANGENDIV){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2608 GetCtrlVal(MainPanel, PANEL_CHANGENDIV, &NewN) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2609 Ndiv=NewN;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2610 FrequDDS1=880000000.0/Ndiv;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2611 DeltakHz_1=1800.0*8/Ndiv;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2612 DeltakHz_2=1500.0*8/Ndiv;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2613 SetCtrlVal(MainPanel, PANEL_DDS1, FrequDDS1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2614 DDS4xAD9912_SetFrequency(&DDS4xAD9912,1,FrequDDS1);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2615 SetCtrlVal(CalcN1Panel, CALCN1_DELTAFREQ, DeltakHz_1) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2616 SetCtrlVal(CalcN2Panel, CALCN2_DELTAFREQ, DeltakHz_2) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2617 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2618
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2619 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2620
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2621 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2622 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2623 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2624
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2625
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2626 int CVICALLBACK CB_OnStartSlopeCancelling (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2627 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2628 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2629
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2630 double ActualFrequ=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2631 double ActualSlope=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2632 int buttonstatu=0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2633
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2634 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2635 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2636 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2637 if (control==PANEL_STARTCANCEL){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2638
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2639 GetCtrlVal(MainPanel, PANEL_STARTCANCEL, &buttonstatu) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2640
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2641 if (buttonstatu==1)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2642 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2643 SlopeMeasuringTimeBegin=utc;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2644 SlopeMeasuring=TRUE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2645 ActualFrequ=ReadDDSFOX (DDSFoxName,DDSFoxip,DDSFoxPort,DDSFoxProfil,DDSFoxClock,DDSFoxDeltaT,DDSFoxFrequency,DDSFoxSweeprate);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2646 ActualSlope= SlopeMath2;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2647 LaunchDDSFOX (DDSFoxName,DDSFoxip,DDSFoxPort,DDSFoxProfil,DDSFoxClock,DDSFoxDeltaT,ActualFrequ,ActualSlope,0);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2648 Nratio=-1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2649 CenterFrequencyCh2ToDetermine=TRUE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2650 CenterFrequencyCh2=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2651
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2652 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2653 else
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2654 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2655 if (KeepFrequ==TRUE) {ActualFrequ=ReadDDSFOX (DDSFoxName,DDSFoxip,DDSFoxPort,DDSFoxProfil,DDSFoxClock,DDSFoxDeltaT,DDSFoxFrequency,DDSFoxSweeprate);}
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2656 else { ActualFrequ= DDSFoxFrequency;}
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2657 if (KeepSlope==TRUE) {ActualSlope= SlopeMath2;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2658 OnSlopeCancelling =TRUE; }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2659 else { ActualSlope= DDSFoxSweeprate;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2660 OnSlopeCancelling =FALSE; }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2661 LaunchDDSFOX (DDSFoxName,DDSFoxip,DDSFoxPort,DDSFoxProfil,DDSFoxClock,DDSFoxDeltaT,ActualFrequ,ActualSlope,0);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2662 SlopeMeasuring=FALSE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2663 OnOffMessage="OFF " ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2664 N_Math2slope=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2665 Math2_slope=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2666 Moy_Math2slope=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2667 Slope_Math2slope=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2668 MoyMath2=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2669 Slope_Math2slope=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2670 CenterFrequencyCh2= 0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2671 Nratio=-1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2672 nstabilisationSlopeMeasuring=0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2673 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2674 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2675
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2676 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2677
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2678 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2679 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2680 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2681
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2682
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2683 int CVICALLBACK CB_OnResetSlope (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2684 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2685 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2686
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2687 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2688 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2689 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2690 if (control==PANEL_RESETSLOPE){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2691
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2692 SlopeMath2=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2693 CenterFrequencyCh2=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2694 MoyMath2=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2695 Nratio=-1;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2696 CenterFrequencyCh2ToDetermine=TRUE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2697 OnSlopeCancelling =FALSE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2698 LaunchDDSFOX (DDSFoxName,DDSFoxip,DDSFoxPort,DDSFoxProfil,DDSFoxClock,DDSFoxDeltaT,DDSFoxFrequency,DDSFoxSweeprate,0);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2699 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2700
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2701 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2702
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2703 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2704 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2705 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2706
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2707
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2708 int CVICALLBACK CB_ChangeSlopeTime (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2709 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2710 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2711
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2712 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2713 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2714 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2715 if (control==PANEL_SLOPETIME){
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2716
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2717 GetCtrlVal(MainPanel, PANEL_SLOPETIME, &TimetoSlope);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2718 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2719
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2720 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2721
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2722 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2723 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2724 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2725
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2726
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2727 int LaunchDDSFOX (char *Name,char *ip,int Port,unsigned int Profil,double Clock,double DeltaT,double Frequency,double Sweeprate,int mode)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2728 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2729 //mode =0 pour normal
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2730 //mode =1 pour reset
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2731 DDSParameter DDSState;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2732 strcpy(DDSState.Name ,Name) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2733 DDSState.Profil = Profil ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2734 strcpy(DDSState.ip,ip) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2735 DDSState.Port = Port;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2736 DDSState.Clock = Clock;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2737 DDSState.Delta_T = DeltaT;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2738 DDSState.Frequency = Frequency;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2739 DDSState.SweepRate = Sweeprate ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2740 if (mode == 1) { DDS_Initialize (&DDSState) ; }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2741 else { DDS_ReInitialize (&DDSState) ; }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2742
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2743 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2744 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2745
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2746 double ReadDDSFOX (char *Name,char *ip,int Port,unsigned int Profil,double Clock,double DeltaT,double Frequency,double Sweeprate)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2747 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2748
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2749 DDSParameter DDSState;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2750 double FrequDDSFox;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2751
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2752 strcpy(DDSState.Name ,Name) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2753 DDSState.Profil = Profil ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2754 strcpy(DDSState.ip,ip) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2755 DDSState.Port = Port;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2756 DDSState.Clock = Clock;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2757 DDSState.Delta_T = DeltaT;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2758 DDSState.Frequency = Frequency;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2759 DDSState.SweepRate = Sweeprate ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2760
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2761 FrequDDSFox=DDSFox_ReadFreq(&DDSState);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2762
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2763
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2764 return FrequDDSFox;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2765 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2766
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2767
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2768 int CVICALLBACK CB_OnCROX (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2769 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2770 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2771 bool BoxChecked = FALSE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2772 double ActualFrequ=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2773
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2774 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2775 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2776 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2777
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2778 if (control== PANEL_CHECKBOX_CORRFREQU)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2779 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2780 GetCtrlVal(MainPanel, PANEL_CHECKBOX_CORRFREQU, &BoxChecked) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2781 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2782 FrequCorrec=TRUE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2783 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2784 else {FrequCorrec=FALSE ;}
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2785
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2786 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2787
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2788 if (control== PANEL_CHECKBOX_KEEP)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2789 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2790 GetCtrlVal(MainPanel, PANEL_CHECKBOX_KEEP, &BoxChecked) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2791 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2792 KeepFrequ=TRUE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2793 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2794 else {KeepFrequ=FALSE ;}
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2795
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2796 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2797
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2798
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2799 if (control== PANEL_CHECKBOX_KEEPSLOPE)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2800 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2801 GetCtrlVal(MainPanel, PANEL_CHECKBOX_KEEPSLOPE, &BoxChecked) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2802 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2803 KeepSlope=TRUE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2804 if (SlopeMeasuring==FALSE && OnSlopeCancelling==FALSE)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2805 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2806 ActualFrequ=ReadDDSFOX (DDSFoxName,DDSFoxip,DDSFoxPort,DDSFoxProfil,DDSFoxClock,DDSFoxDeltaT,DDSFoxFrequency,DDSFoxSweeprate);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2807 LaunchDDSFOX (DDSFoxName,DDSFoxip,DDSFoxPort,DDSFoxProfil,DDSFoxClock,DDSFoxDeltaT,ActualFrequ,SlopeMath2,0);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2808 OnSlopeCancelling=TRUE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2809
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2810
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2811 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2812 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2813 else {KeepSlope=FALSE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2814 if (SlopeMeasuring==FALSE && OnSlopeCancelling==TRUE)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2815 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2816 ActualFrequ=ReadDDSFOX (DDSFoxName,DDSFoxip,DDSFoxPort,DDSFoxProfil,DDSFoxClock,DDSFoxDeltaT,DDSFoxFrequency,DDSFoxSweeprate);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2817 LaunchDDSFOX (DDSFoxName,DDSFoxip,DDSFoxPort,DDSFoxProfil,DDSFoxClock,DDSFoxDeltaT,ActualFrequ,DDSFoxSweeprate,0);
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2818 OnSlopeCancelling=FALSE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2819 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2820
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2821 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2822
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2823 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2824
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2825 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2826
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2827 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2828 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2829 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2830
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2831
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2832
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2833 int CVICALLBACK CB_OnReCentering (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2834 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2835 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2836 bool BoxChecked = FALSE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2837
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2838 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2839 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2840 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2841
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2842 if (control== PANEL_CHECKBOX_RECENTER)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2843 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2844 GetCtrlVal(MainPanel, PANEL_CHECKBOX_RECENTER, &BoxChecked) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2845 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2846 KeepCentering=TRUE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2847 CenteringTimeBegin275K=utc;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2848 CenteringTimeBegin10K=utc;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2849 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2850 else {KeepCentering=FALSE ;}
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2851
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2852 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2853
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2854
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2855 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2856
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2857 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2858 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2859 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2860
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2861
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2862 int CVICALLBACK CB_OnAutoStopSlopeCancellingIfDelock (int panel, int control, int event,
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2863 void *callbackData, int eventData1, int eventData2)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2864 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2865 bool BoxChecked = FALSE;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2866 double ActualFrequ=0.0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2867
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2868 switch (event)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2869 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2870 case EVENT_COMMIT:
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2871
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2872 if (control== PANEL_CHECKBOX_STOPIFAUTODE)
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2873 {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2874 GetCtrlVal(MainPanel, PANEL_CHECKBOX_STOPIFAUTODE, &BoxChecked) ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2875 if (BoxChecked) {
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2876 AutoStopSlopeCancellingIfDelock=TRUE ;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2877 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2878 else {AutoStopSlopeCancellingIfDelock=FALSE ;}
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2879
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2880 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2881
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2882
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2883 break;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2884
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2885 }
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2886 return 0;
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents:
diff changeset
2887 }
2
bd7501b65f56 Implement reference selection (microwave or Hg cavity) for slope cancelling
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 1
diff changeset
2888
bd7501b65f56 Implement reference selection (microwave or Hg cavity) for slope cancelling
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 1
diff changeset
2889 int CVICALLBACK SlopeReference_cb (int panel, int control, int event,
bd7501b65f56 Implement reference selection (microwave or Hg cavity) for slope cancelling
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 1
diff changeset
2890 void *callbackData, int eventData1, int eventData2)
bd7501b65f56 Implement reference selection (microwave or Hg cavity) for slope cancelling
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 1
diff changeset
2891 {
bd7501b65f56 Implement reference selection (microwave or Hg cavity) for slope cancelling
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 1
diff changeset
2892 switch (event)
bd7501b65f56 Implement reference selection (microwave or Hg cavity) for slope cancelling
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 1
diff changeset
2893 {
bd7501b65f56 Implement reference selection (microwave or Hg cavity) for slope cancelling
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 1
diff changeset
2894 case EVENT_COMMIT:
bd7501b65f56 Implement reference selection (microwave or Hg cavity) for slope cancelling
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 1
diff changeset
2895 GetCtrlVal(MainPanel, PANEL_SLOPE_REFERENCE, &slopeReference);
bd7501b65f56 Implement reference selection (microwave or Hg cavity) for slope cancelling
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 1
diff changeset
2896 break;
bd7501b65f56 Implement reference selection (microwave or Hg cavity) for slope cancelling
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 1
diff changeset
2897 }
bd7501b65f56 Implement reference selection (microwave or Hg cavity) for slope cancelling
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 1
diff changeset
2898 return 0;
bd7501b65f56 Implement reference selection (microwave or Hg cavity) for slope cancelling
Daniele Nicolodi <daniele.nicolodi@obspm.fr>
parents: 1
diff changeset
2899 }