annotate FXAnalyse.c @ 23:65e277fdf01f

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