changeset 123:35861fe64d14

Allow to set dedrift DDS central frequency. Add option to double applied slope.
author Daniele Nicolodi <daniele.nicolodi@obspm.fr>
date Thu, 12 Dec 2013 17:21:15 +0100
parents bdd3ec3c212e
children bdfc61a8ebee
files FXAnalyse.c FXAnalyse.h FXAnalyse.uir
diffstat 3 files changed, 126 insertions(+), 93 deletions(-) [+]
line wrap: on
line diff
--- a/FXAnalyse.c	Thu Dec 12 16:44:24 2013 +0100
+++ b/FXAnalyse.c	Thu Dec 12 17:21:15 2013 +0100
@@ -18,7 +18,6 @@
 #define SR_LOGGER_IP "145.238.204.91"
 #define DATAFOLDER "Z:\\Measures-2013"
 
-#define DEDRIFT_DDS_FREQUENCY 70000000.0
 #define FREP_STEP_SIZE 50000.0
 
 // number of channels read
@@ -121,11 +120,13 @@
 
 // slope cancelling
 
+double dedrift_DDS_freq = 70e6;
 int SlopeMeasuring = FALSE;
 int StopSlopeCancellingOnUnlocked = TRUE;
 double TimetoSlope = 60.0;
 double SlopeMeasuringTimeBegin = 0.0;
 double appliedSlope = 0.0; // currently applied frequency dedrifiting slope
+int slopeX2 = FALSE;
 
 double limitotakoff=70.0;
 
@@ -350,7 +351,7 @@
 	DDS4xAD9912_SetFrequency(&DDS4xAD9912, 4, frequency);
 	
 	// initialyze 1x AD9956 DDS box
-	DDSFox_Initialize(&DDS1xAD9956, "145.238.205.58", 6665, DEDRIFT_DDS_FREQUENCY);
+	DDSFox_Initialize(&DDS1xAD9956, "145.238.205.58", 6665, dedrift_DDS_freq);
 	
 	Ch1 = Ch2 = Ch3 = Ch4 = 0.0;
 	
@@ -1289,7 +1290,7 @@
 						SetCtrlVal(MainPanel, PANEL_SLOPE_APPLIED, appliedSlope);
 					}
 					if (! KeepFrequ) {
-						DDSFox_Set(&DDS1xAD9956, DEDRIFT_DDS_FREQUENCY, appliedSlope);
+						DDSFox_Set(&DDS1xAD9956, dedrift_DDS_freq, appliedSlope);
 					}
 					
 					stat_zero(&freq);
@@ -1335,7 +1336,10 @@
 						}
 						
 						SetCtrlVal(MainPanel, PANEL_SLOPE_APPLIED, appliedSlope);
-						DDSFox_SetSweepRate(&DDS1xAD9956, appliedSlope);
+						if (slopeX2)
+							DDSFox_SetSweepRate(&DDS1xAD9956, appliedSlope * 2.0);
+						else
+							DDSFox_SetSweepRate(&DDS1xAD9956, appliedSlope);
 						
 						logmsg("Slope correction update (%+6g) %6g", freq.slope, appliedSlope);
 						
@@ -2019,7 +2023,7 @@
 					SetCtrlVal(MainPanel, PANEL_SLOPE_APPLIED, appliedSlope);
 				}
 				if (! KeepFrequ) {
-					DDSFox_Set(&DDS1xAD9956, DEDRIFT_DDS_FREQUENCY, appliedSlope);
+					DDSFox_Set(&DDS1xAD9956, dedrift_DDS_freq, appliedSlope);
 				}
 				stat_zero(&freq);
 				SetCtrlVal(panel, PANEL_SLOPE_MEASURED, freq.slope);
@@ -2044,7 +2048,7 @@
 			CenterFrequencyCh2ToDetermine = TRUE ;
 			appliedSlope = 0.0; 
 			SetCtrlVal(panel, PANEL_SLOPE_APPLIED, appliedSlope);
-			DDSFox_Set(&DDS1xAD9956, DEDRIFT_DDS_FREQUENCY, appliedSlope);
+			DDSFox_Set(&DDS1xAD9956, dedrift_DDS_freq, appliedSlope);
 			logmsg("Reset slope measurement");
 			break;
 	}
@@ -2272,7 +2276,7 @@
 			DDSFox_Reset(&DDS1xAD9956);
 			DDSFox_SetProfile(&DDS1xAD9956);
 			DDSFox_SetDiv(&DDS1xAD9956, 1);
-			DDSFox_Set(&DDS1xAD9956, DEDRIFT_DDS_FREQUENCY, appliedSlope);
+			DDSFox_Set(&DDS1xAD9956, dedrift_DDS_freq, appliedSlope);
 			break;
 	}
 	return 0;
@@ -2316,3 +2320,28 @@
 	}
 	return 0;
 }
+
+int CVICALLBACK CB_SlopeX2 (int panel, int control, int event,
+		void *callbackData, int eventData1, int eventData2)
+{
+	switch (event)
+	{
+		case EVENT_COMMIT:
+			GetCtrlVal(panel, control, &slopeX2);
+			break;
+	}
+	return 0;
+}
+
+int CVICALLBACK CB_DedriftDDSFreq (int panel, int control, int event,
+		void *callbackData, int eventData1, int eventData2)
+{
+	switch (event)
+	{
+		case EVENT_COMMIT:
+			GetCtrlVal(panel, control, &dedrift_DDS_freq);
+			DDSFox_Set(&DDS1xAD9956, dedrift_DDS_freq, appliedSlope);
+			break;
+	}
+	return 0;
+}
--- a/FXAnalyse.h	Thu Dec 12 16:44:24 2013 +0100
+++ b/FXAnalyse.h	Thu Dec 12 17:21:15 2013 +0100
@@ -58,92 +58,94 @@
 #define  PANEL_TEXTMSG                    21      /* control type: textMsg, callback function: (none) */
 #define  PANEL_TEXTMSG_2                  22      /* control type: textMsg, callback function: (none) */
 #define  PANEL_SLOPETIME                  23      /* control type: numeric, callback function: CB_ChangeSlopeTime */
-#define  PANEL_DDS1                       24      /* control type: numeric, callback function: CB_ChangeDDSOut */
-#define  PANEL_CHANGENDIV                 25      /* control type: numeric, callback function: CB_OnChangeNdiv */
-#define  PANEL_N3CHOICE                   26      /* control type: numeric, callback function: CB_ChangeN */
-#define  PANEL_N3CALCULUS                 27      /* control type: command, callback function: CB_OnNCalculus */
-#define  PANEL_N1CHOICE                   28      /* control type: numeric, callback function: CB_ChangeN */
-#define  PANEL_N2CHOICE                   29      /* control type: numeric, callback function: CB_ChangeN */
-#define  PANEL_N2CALCULUS                 30      /* control type: command, callback function: CB_OnNCalculus */
-#define  PANEL_DDS4STEP                   31      /* control type: ring, callback function: CB_ChangeDDSStep */
-#define  PANEL_DDS3STEP                   32      /* control type: ring, callback function: CB_ChangeDDSStep */
-#define  PANEL_DDS2STEP                   33      /* control type: ring, callback function: CB_ChangeDDSStep */
-#define  PANEL_CENTERFREQUENCY            34      /* control type: numeric, callback function: (none) */
-#define  PANEL_SLOPE_APPLIED              35      /* control type: numeric, callback function: CB_SetSlope */
-#define  PANEL_MATH4                      36      /* control type: numeric, callback function: (none) */
-#define  PANEL_MATH5                      37      /* control type: numeric, callback function: (none) */
-#define  PANEL_MATH3                      38      /* control type: numeric, callback function: (none) */
-#define  PANEL_CHECKBOX_MATH5PLOT         39      /* control type: radioButton, callback function: CB_OnFreqPlot */
-#define  PANEL_CHECKBOX_MATH4PLOT         40      /* control type: radioButton, callback function: CB_OnFreqPlot */
-#define  PANEL_CHECKBOX_MATH4ALLAN        41      /* control type: radioButton, callback function: CB_OnAllanPlot */
-#define  PANEL_DDS1STEP                   42      /* control type: ring, callback function: CB_ChangeDDSStep */
-#define  PANEL_TEXTMSG_15                 43      /* control type: textMsg, callback function: (none) */
-#define  PANEL_CHECKBOX_MATH5ALLAN        44      /* control type: radioButton, callback function: CB_OnAllanPlot */
-#define  PANEL_CHECKBOX_MATH3PLOT         45      /* control type: radioButton, callback function: CB_OnFreqPlot */
-#define  PANEL_CHECKBOX_MATH5SAVE         46      /* control type: radioButton, callback function: (none) */
-#define  PANEL_SR_LOGGER                  47      /* control type: radioButton, callback function: (none) */
-#define  PANEL_CHECKBOX_MATH4SAVE         48      /* control type: radioButton, callback function: (none) */
-#define  PANEL_CHECKBOX_MATH3ALLAN        49      /* control type: radioButton, callback function: CB_OnAllanPlot */
-#define  PANEL_MATHSTRING4                50      /* control type: string, callback function: CB_ChangeMath */
-#define  PANEL_MATH2                      51      /* control type: numeric, callback function: (none) */
-#define  PANEL_CHECKBOX_MATH2PLOT         52      /* control type: radioButton, callback function: CB_OnFreqPlot */
-#define  PANEL_CHECKBOX_MATH3SAVE         53      /* control type: radioButton, callback function: (none) */
-#define  PANEL_CHECKBOX_MATH2SAVE         54      /* control type: radioButton, callback function: (none) */
-#define  PANEL_CHECKBOX_MATH2ALLAN        55      /* control type: radioButton, callback function: CB_OnAllanPlot */
-#define  PANEL_MATHSTRING3                56      /* control type: string, callback function: CB_ChangeMath */
-#define  PANEL_MATH1                      57      /* control type: numeric, callback function: (none) */
-#define  PANEL_MATHSTRING1                58      /* control type: string, callback function: CB_ChangeMath */
-#define  PANEL_TEXTMSG_10                 59      /* control type: textMsg, callback function: (none) */
-#define  PANEL_MATHSTRING2                60      /* control type: string, callback function: CB_ChangeMath */
-#define  PANEL_TEXTMSG_16                 61      /* control type: textMsg, callback function: (none) */
-#define  PANEL_MINUS10KDDS1               62      /* control type: command, callback function: CB_OnMinus10k */
-#define  PANEL_MINUS10KDDS4               63      /* control type: command, callback function: CB_OnMinus10k */
-#define  PANEL_MINUS10KDDS3               64      /* control type: command, callback function: CB_OnMinus10k */
-#define  PANEL_MINUS10KDDS2               65      /* control type: command, callback function: CB_OnMinus10k */
-#define  PANEL_PLUS10KDDS4                66      /* control type: command, callback function: CB_OnPlus10k */
-#define  PANEL_PLUS10KDDS3                67      /* control type: command, callback function: CB_OnPlus10k */
-#define  PANEL_PLUS10KDDS1                68      /* control type: command, callback function: CB_OnPlus10k */
-#define  PANEL_PLUS10KDDS2                69      /* control type: command, callback function: CB_OnPlus10k */
-#define  PANEL_TEXTMSG_11                 70      /* control type: textMsg, callback function: (none) */
-#define  PANEL_MATHSTRING5                71      /* control type: textBox, callback function: CB_ChangeMath */
-#define  PANEL_UTC                        72      /* control type: numeric, callback function: (none) */
-#define  PANEL_TIME                       73      /* control type: string, callback function: (none) */
-#define  PANEL_DDS4                       74      /* control type: numeric, callback function: CB_ChangeDDSOut */
-#define  PANEL_DDS3                       75      /* control type: numeric, callback function: CB_ChangeDDSOut */
-#define  PANEL_N1CALCULUS                 76      /* control type: command, callback function: CB_OnNCalculus */
-#define  PANEL_FINDSIGN3                  77      /* control type: command, callback function: CB_OnFindSign */
-#define  PANEL_SIGN3                      78      /* control type: numeric, callback function: CB_Sign3 */
-#define  PANEL_FINDSIGN2                  79      /* control type: command, callback function: CB_OnFindSign */
-#define  PANEL_SIGN2                      80      /* control type: numeric, callback function: (none) */
-#define  PANEL_FINDSIGN1                  81      /* control type: command, callback function: CB_OnFindSign */
-#define  PANEL_SIGN1                      82      /* control type: numeric, callback function: (none) */
-#define  PANEL_FIND10K3                   83      /* control type: command, callback function: CB_OnFind275K */
-#define  PANEL_FIND275K2                  84      /* control type: command, callback function: CB_OnFind275K */
-#define  PANEL_RESETSLOPE                 85      /* control type: command, callback function: CB_OnResetSlope */
-#define  PANEL_CHECKBOX_STOPIFAUTODE      86      /* control type: radioButton, callback function: CB_OnStopSlopeCancellingOnUnlocked */
-#define  PANEL_CHECKBOX_RECENTER          87      /* control type: radioButton, callback function: CB_OnReCentering */
-#define  PANEL_CHECKBOX_KEEPSLOPE         88      /* control type: radioButton, callback function: CB_OnCROX */
-#define  PANEL_CHECKBOX_KEEP              89      /* control type: radioButton, callback function: CB_OnCROX */
-#define  PANEL_SLOPE_REFERENCE            90      /* control type: ring, callback function: CB_OnSlopeReference */
-#define  PANEL_ESTIMATE_N3                91      /* control type: command, callback function: CB_OnEstimateN */
-#define  PANEL_INVERT_SLOPE_SIGN          92      /* control type: radioButton, callback function: CB_InvertSlopeSign */
-#define  PANEL_MEASURE_SLOPE              93      /* control type: LED, callback function: CB_MeasureSlope */
-#define  PANEL_SLOPE_MEASURED             94      /* control type: numeric, callback function: (none) */
-#define  PANEL_RESET_DEDRIFT_DDS          95      /* control type: command, callback function: CB_ResetDedriftDDS */
-#define  PANEL_SAVE_RAW_DATA              96      /* control type: radioButton, callback function: (none) */
-#define  PANEL_SHOWLOG                    97      /* control type: radioButton, callback function: CB_ShowLog */
-#define  PANEL_SAVE_DDS_FREQS             98      /* control type: radioButton, callback function: (none) */
-#define  PANEL_DECORATION_2               99      /* control type: deco, callback function: (none) */
-#define  PANEL_DECORATION                 100     /* control type: deco, callback function: (none) */
-#define  PANEL_DECORATION_3               101     /* control type: deco, callback function: (none) */
-#define  PANEL_TEXTMSG_6                  102     /* control type: textMsg, callback function: (none) */
-#define  PANEL_TEXTMSG_7                  103     /* control type: textMsg, callback function: (none) */
-#define  PANEL_DECORATION_4               104     /* control type: deco, callback function: (none) */
-#define  PANEL_DECORATION_7               105     /* control type: deco, callback function: (none) */
-#define  PANEL_DECORATION_6               106     /* control type: deco, callback function: (none) */
-#define  PANEL_DECORATION_5               107     /* control type: deco, callback function: (none) */
-#define  PANEL_TEXTMSG_20                 108     /* control type: textMsg, callback function: (none) */
-#define  PANEL_TEXTMSG_19                 109     /* control type: textMsg, callback function: (none) */
+#define  PANEL_DEDRIFT_DDS_FREQ           24      /* control type: numeric, callback function: CB_DedriftDDSFreq */
+#define  PANEL_DDS1                       25      /* control type: numeric, callback function: CB_ChangeDDSOut */
+#define  PANEL_CHANGENDIV                 26      /* control type: numeric, callback function: CB_OnChangeNdiv */
+#define  PANEL_N3CHOICE                   27      /* control type: numeric, callback function: CB_ChangeN */
+#define  PANEL_N3CALCULUS                 28      /* control type: command, callback function: CB_OnNCalculus */
+#define  PANEL_N1CHOICE                   29      /* control type: numeric, callback function: CB_ChangeN */
+#define  PANEL_N2CHOICE                   30      /* control type: numeric, callback function: CB_ChangeN */
+#define  PANEL_N2CALCULUS                 31      /* control type: command, callback function: CB_OnNCalculus */
+#define  PANEL_DDS4STEP                   32      /* control type: ring, callback function: CB_ChangeDDSStep */
+#define  PANEL_DDS3STEP                   33      /* control type: ring, callback function: CB_ChangeDDSStep */
+#define  PANEL_DDS2STEP                   34      /* control type: ring, callback function: CB_ChangeDDSStep */
+#define  PANEL_CENTERFREQUENCY            35      /* control type: numeric, callback function: (none) */
+#define  PANEL_SLOPE_APPLIED              36      /* control type: numeric, callback function: CB_SetSlope */
+#define  PANEL_MATH4                      37      /* control type: numeric, callback function: (none) */
+#define  PANEL_MATH5                      38      /* control type: numeric, callback function: (none) */
+#define  PANEL_MATH3                      39      /* control type: numeric, callback function: (none) */
+#define  PANEL_CHECKBOX_MATH5PLOT         40      /* control type: radioButton, callback function: CB_OnFreqPlot */
+#define  PANEL_CHECKBOX_MATH4PLOT         41      /* control type: radioButton, callback function: CB_OnFreqPlot */
+#define  PANEL_CHECKBOX_MATH4ALLAN        42      /* control type: radioButton, callback function: CB_OnAllanPlot */
+#define  PANEL_DDS1STEP                   43      /* control type: ring, callback function: CB_ChangeDDSStep */
+#define  PANEL_TEXTMSG_15                 44      /* control type: textMsg, callback function: (none) */
+#define  PANEL_CHECKBOX_MATH5ALLAN        45      /* control type: radioButton, callback function: CB_OnAllanPlot */
+#define  PANEL_CHECKBOX_MATH3PLOT         46      /* control type: radioButton, callback function: CB_OnFreqPlot */
+#define  PANEL_CHECKBOX_MATH5SAVE         47      /* control type: radioButton, callback function: (none) */
+#define  PANEL_SR_LOGGER                  48      /* control type: radioButton, callback function: (none) */
+#define  PANEL_CHECKBOX_MATH4SAVE         49      /* control type: radioButton, callback function: (none) */
+#define  PANEL_CHECKBOX_MATH3ALLAN        50      /* control type: radioButton, callback function: CB_OnAllanPlot */
+#define  PANEL_MATHSTRING4                51      /* control type: string, callback function: CB_ChangeMath */
+#define  PANEL_MATH2                      52      /* control type: numeric, callback function: (none) */
+#define  PANEL_CHECKBOX_MATH2PLOT         53      /* control type: radioButton, callback function: CB_OnFreqPlot */
+#define  PANEL_CHECKBOX_MATH3SAVE         54      /* control type: radioButton, callback function: (none) */
+#define  PANEL_CHECKBOX_MATH2SAVE         55      /* control type: radioButton, callback function: (none) */
+#define  PANEL_CHECKBOX_MATH2ALLAN        56      /* control type: radioButton, callback function: CB_OnAllanPlot */
+#define  PANEL_MATHSTRING3                57      /* control type: string, callback function: CB_ChangeMath */
+#define  PANEL_MATH1                      58      /* control type: numeric, callback function: (none) */
+#define  PANEL_MATHSTRING1                59      /* control type: string, callback function: CB_ChangeMath */
+#define  PANEL_TEXTMSG_10                 60      /* control type: textMsg, callback function: (none) */
+#define  PANEL_MATHSTRING2                61      /* control type: string, callback function: CB_ChangeMath */
+#define  PANEL_TEXTMSG_16                 62      /* control type: textMsg, callback function: (none) */
+#define  PANEL_MINUS10KDDS1               63      /* control type: command, callback function: CB_OnMinus10k */
+#define  PANEL_MINUS10KDDS4               64      /* control type: command, callback function: CB_OnMinus10k */
+#define  PANEL_MINUS10KDDS3               65      /* control type: command, callback function: CB_OnMinus10k */
+#define  PANEL_MINUS10KDDS2               66      /* control type: command, callback function: CB_OnMinus10k */
+#define  PANEL_PLUS10KDDS4                67      /* control type: command, callback function: CB_OnPlus10k */
+#define  PANEL_PLUS10KDDS3                68      /* control type: command, callback function: CB_OnPlus10k */
+#define  PANEL_PLUS10KDDS1                69      /* control type: command, callback function: CB_OnPlus10k */
+#define  PANEL_PLUS10KDDS2                70      /* control type: command, callback function: CB_OnPlus10k */
+#define  PANEL_TEXTMSG_11                 71      /* control type: textMsg, callback function: (none) */
+#define  PANEL_MATHSTRING5                72      /* control type: textBox, callback function: CB_ChangeMath */
+#define  PANEL_UTC                        73      /* control type: numeric, callback function: (none) */
+#define  PANEL_TIME                       74      /* control type: string, callback function: (none) */
+#define  PANEL_DDS4                       75      /* control type: numeric, callback function: CB_ChangeDDSOut */
+#define  PANEL_DDS3                       76      /* control type: numeric, callback function: CB_ChangeDDSOut */
+#define  PANEL_N1CALCULUS                 77      /* control type: command, callback function: CB_OnNCalculus */
+#define  PANEL_FINDSIGN3                  78      /* control type: command, callback function: CB_OnFindSign */
+#define  PANEL_SIGN3                      79      /* control type: numeric, callback function: CB_Sign3 */
+#define  PANEL_FINDSIGN2                  80      /* control type: command, callback function: CB_OnFindSign */
+#define  PANEL_SIGN2                      81      /* control type: numeric, callback function: (none) */
+#define  PANEL_FINDSIGN1                  82      /* control type: command, callback function: CB_OnFindSign */
+#define  PANEL_SIGN1                      83      /* control type: numeric, callback function: (none) */
+#define  PANEL_FIND10K3                   84      /* control type: command, callback function: CB_OnFind275K */
+#define  PANEL_FIND275K2                  85      /* control type: command, callback function: CB_OnFind275K */
+#define  PANEL_RESETSLOPE                 86      /* control type: command, callback function: CB_OnResetSlope */
+#define  PANEL_CHECKBOX_STOPIFAUTODE      87      /* control type: radioButton, callback function: CB_OnStopSlopeCancellingOnUnlocked */
+#define  PANEL_CHECKBOX_RECENTER          88      /* control type: radioButton, callback function: CB_OnReCentering */
+#define  PANEL_CHECKBOX_KEEPSLOPE         89      /* control type: radioButton, callback function: CB_OnCROX */
+#define  PANEL_CHECKBOX_KEEP              90      /* control type: radioButton, callback function: CB_OnCROX */
+#define  PANEL_SLOPE_REFERENCE            91      /* control type: ring, callback function: CB_OnSlopeReference */
+#define  PANEL_ESTIMATE_N3                92      /* control type: command, callback function: CB_OnEstimateN */
+#define  PANEL_INVERT_SLOPE_SIGN          93      /* control type: radioButton, callback function: CB_InvertSlopeSign */
+#define  PANEL_MEASURE_SLOPE              94      /* control type: LED, callback function: CB_MeasureSlope */
+#define  PANEL_SLOPE_MEASURED             95      /* control type: numeric, callback function: (none) */
+#define  PANEL_RESET_DEDRIFT_DDS          96      /* control type: command, callback function: CB_ResetDedriftDDS */
+#define  PANEL_SAVE_RAW_DATA              97      /* control type: radioButton, callback function: (none) */
+#define  PANEL_SHOWLOG                    98      /* control type: radioButton, callback function: CB_ShowLog */
+#define  PANEL_SLOPEX2                    99      /* control type: radioButton, callback function: CB_SlopeX2 */
+#define  PANEL_SAVE_DDS_FREQS             100     /* control type: radioButton, callback function: (none) */
+#define  PANEL_DECORATION_2               101     /* control type: deco, callback function: (none) */
+#define  PANEL_DECORATION                 102     /* control type: deco, callback function: (none) */
+#define  PANEL_DECORATION_3               103     /* control type: deco, callback function: (none) */
+#define  PANEL_TEXTMSG_6                  104     /* control type: textMsg, callback function: (none) */
+#define  PANEL_TEXTMSG_7                  105     /* control type: textMsg, callback function: (none) */
+#define  PANEL_DECORATION_4               106     /* control type: deco, callback function: (none) */
+#define  PANEL_DECORATION_7               107     /* control type: deco, callback function: (none) */
+#define  PANEL_DECORATION_6               108     /* control type: deco, callback function: (none) */
+#define  PANEL_DECORATION_5               109     /* control type: deco, callback function: (none) */
+#define  PANEL_TEXTMSG_20                 110     /* control type: textMsg, callback function: (none) */
+#define  PANEL_TEXTMSG_19                 111     /* control type: textMsg, callback function: (none) */
 
 
      /* Control Arrays: */
@@ -163,6 +165,7 @@
 int  CVICALLBACK CB_ChangeMath(int panel, int control, int event, void *callbackData, int eventData1, int eventData2);
 int  CVICALLBACK CB_ChangeN(int panel, int control, int event, void *callbackData, int eventData1, int eventData2);
 int  CVICALLBACK CB_ChangeSlopeTime(int panel, int control, int event, void *callbackData, int eventData1, int eventData2);
+int  CVICALLBACK CB_DedriftDDSFreq(int panel, int control, int event, void *callbackData, int eventData1, int eventData2);
 int  CVICALLBACK CB_InvertSlopeSign(int panel, int control, int event, void *callbackData, int eventData1, int eventData2);
 int  CVICALLBACK CB_MeasureSlope(int panel, int control, int event, void *callbackData, int eventData1, int eventData2);
 int  CVICALLBACK CB_OnAcceptN(int panel, int control, int event, void *callbackData, int eventData1, int eventData2);
@@ -193,6 +196,7 @@
 int  CVICALLBACK CB_SetSlope(int panel, int control, int event, void *callbackData, int eventData1, int eventData2);
 int  CVICALLBACK CB_ShowLog(int panel, int control, int event, void *callbackData, int eventData1, int eventData2);
 int  CVICALLBACK CB_Sign3(int panel, int control, int event, void *callbackData, int eventData1, int eventData2);
+int  CVICALLBACK CB_SlopeX2(int panel, int control, int event, void *callbackData, int eventData1, int eventData2);
 int  CVICALLBACK QuitCallback(int panel, int control, int event, void *callbackData, int eventData1, int eventData2);
 
 
Binary file FXAnalyse.uir has changed