# HG changeset patch # User Daniele Nicolodi # Date 1349885762 -7200 # Node ID 30146cc6cd77262362a78de34c1483924dc9c300 # Parent fbb1728922536170077a2d52aa5c83d0df59a710 Cleanup. Remove some C abominations diff -r fbb172892253 -r 30146cc6cd77 FXAnalyse.c --- a/FXAnalyse.c Wed Oct 10 14:52:04 2012 +0200 +++ b/FXAnalyse.c Wed Oct 10 18:16:02 2012 +0200 @@ -131,11 +131,11 @@ int invertSlopeSign = 0; int slopeReference = SLOPE_REFERENCE_MICROWAVE; -volatile bool KeepCentering=FALSE; -double Timetorecenter275K=3600.0*10; -double Timetorecenter10K=3600.0*3; -double CenteringTimeBegin275K=0.0; -double CenteringTimeBegin10K=0.0; +int KeepCentering = FALSE; +double Timetorecenter275K = 3600.0 * 10; +double Timetorecenter10K = 3600.0 * 3; +double CenteringTimeBegin275K = 0.0; +double CenteringTimeBegin10K = 0.0; int DDSFox_Set(DDSParameter *DDS, double Frequency, double Sweeprate) @@ -150,56 +150,54 @@ } -void initMathParser(muParserHandle_t * pMathParser) +muParserHandle_t initMathParser() { - (* pMathParser) = mupCreate() ; // Math parser number 1, normally used for frep - mupDefineOprtChars( * pMathParser, "abcdefghijklmnopqrstuvwxyzµ" - "ABCDEFGHIJKLMNOPQRSTUVWXYZ" - "+-*^/?<>=#!$%&|~'_"); - mupDefineVar( * pMathParser, "UTC", &utc); - mupDefineVar( * pMathParser, "MJD", &mjd); - mupDefineVar( * pMathParser, "Ch1", &Ch1); - mupDefineVar( * pMathParser, "Ch2", &Ch2); - mupDefineVar( * pMathParser, "Ch3", &Ch3); - mupDefineVar( * pMathParser, "Ch4", &Ch4); - mupDefineVar( * pMathParser, "DDS1", &(DDS4xAD9912.Frequency1)); - mupDefineVar( * pMathParser, "DDS2", &(DDS4xAD9912.Frequency2)); - mupDefineVar( * pMathParser, "DDS3", &(DDS4xAD9912.Frequency3)); - mupDefineVar( * pMathParser, "DDS4", &(DDS4xAD9912.Frequency4)); - mupDefineVar( * pMathParser, "N1", &N1); - mupDefineVar( * pMathParser, "N2", &N2); - mupDefineVar( * pMathParser, "N3", &N3); - mupDefineVar( * pMathParser, "Nu1", &Nu1); - mupDefineVar( * pMathParser, "Nu2", &Nu2); - mupDefineVar( * pMathParser, "DeltaDDS3", &DeltaDDS3); - mupDefineVar( * pMathParser, "Signe1", &Signe1); - mupDefineVar( * pMathParser, "Signe2", &Signe2); - mupDefineVar( * pMathParser, "Ndiv", &Ndiv); - mupDefinePostfixOprt( * pMathParser, "P", &Peta , 1); - mupDefinePostfixOprt( * pMathParser, "T", &Tera , 1); - mupDefinePostfixOprt( * pMathParser, "G", &Giga , 1); - mupDefinePostfixOprt( * pMathParser, "M", &Mega , 1); - mupDefinePostfixOprt( * pMathParser, "k", &kilo , 1); - mupDefinePostfixOprt( * pMathParser, "m", &milli, 1); - mupDefinePostfixOprt( * pMathParser, "u", µ, 1); - mupDefinePostfixOprt( * pMathParser, "µ", µ, 1); - mupDefinePostfixOprt( * pMathParser, "n_1", &nano, 1); - mupDefinePostfixOprt( * pMathParser, "p", &pico, 1); - mupDefinePostfixOprt( * pMathParser, "f", &femto, 1); + muParserHandle_t parser = mupCreate(); + mupDefineOprtChars(parser, "abcdefghijklmnopqrstuvwxyzµ" + "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "+-*^/?<>=#!$%&|~'_"); + mupDefineVar(parser, "UTC", &utc); + mupDefineVar(parser, "MJD", &mjd); + mupDefineVar(parser, "Ch1", &Ch1); + mupDefineVar(parser, "Ch2", &Ch2); + mupDefineVar(parser, "Ch3", &Ch3); + mupDefineVar(parser, "Ch4", &Ch4); + mupDefineVar(parser, "DDS1", &(DDS4xAD9912.Frequency1)); + mupDefineVar(parser, "DDS2", &(DDS4xAD9912.Frequency2)); + mupDefineVar(parser, "DDS3", &(DDS4xAD9912.Frequency3)); + mupDefineVar(parser, "DDS4", &(DDS4xAD9912.Frequency4)); + mupDefineVar(parser, "N1", &N1); + mupDefineVar(parser, "N2", &N2); + mupDefineVar(parser, "N3", &N3); + mupDefineVar(parser, "Nu1", &Nu1); + mupDefineVar(parser, "Nu2", &Nu2); + mupDefineVar(parser, "DeltaDDS3", &DeltaDDS3); + mupDefineVar(parser, "Signe1", &Signe1); + mupDefineVar(parser, "Signe2", &Signe2); + mupDefineVar(parser, "Ndiv", &Ndiv); + mupDefinePostfixOprt(parser, "P", &Peta, 1); + mupDefinePostfixOprt(parser, "T", &Tera, 1); + mupDefinePostfixOprt(parser, "G", &Giga, 1); + mupDefinePostfixOprt(parser, "M", &Mega, 1); + mupDefinePostfixOprt(parser, "k", &kilo, 1); + mupDefinePostfixOprt(parser, "m", &milli, 1); + mupDefinePostfixOprt(parser, "u", µ, 1); + mupDefinePostfixOprt(parser, "µ", µ, 1); + mupDefinePostfixOprt(parser, "n", &nano, 1); + mupDefinePostfixOprt(parser, "p", &pico, 1); + mupDefinePostfixOprt(parser, "f", &femto, 1); + + return parser; } int main (int argc, char *argv[]) { - double initfreqDDS ; - char * MathString1 = " " ; - char * MathString2 = " " ; - char * MathString3 = " " ; - char * MathString4 = " " ; - char * MathString5 = " " ; + double frequency; + char expr[1024]; if (InitCVIRTE (0, argv, 0) == 0) - return -1; /* out of memory */ + return -1; if ((MainPanel = LoadPanel (0, "FXAnalyse.uir", PANEL)) < 0) return -1; if ((CalcN1Panel = LoadPanel (0, "FXAnalyse.uir", CALCN1)) < 0) @@ -214,15 +212,15 @@ DisplayPanel (MainPanel); // initialize 4x AD9959 DDS box - DDS4xAD9912_Reset(&DDS4xAD9912) ; - GetCtrlVal(MainPanel, PANEL_DDS1, &initfreqDDS) ; - DDS4xAD9912_SetFrequency(&DDS4xAD9912, 1, initfreqDDS) ; - GetCtrlVal(MainPanel, PANEL_DDS2, &initfreqDDS) ; - DDS4xAD9912_SetFrequency(&DDS4xAD9912, 2, initfreqDDS) ; - GetCtrlVal(MainPanel, PANEL_DDS3, &initfreqDDS) ; - DDS4xAD9912_SetFrequency(&DDS4xAD9912, 3, initfreqDDS) ; - GetCtrlVal(MainPanel, PANEL_DDS4, &initfreqDDS) ; - DDS4xAD9912_SetFrequency(&DDS4xAD9912, 4, initfreqDDS) ; + DDS4xAD9912_Reset(&DDS4xAD9912); + GetCtrlVal(MainPanel, PANEL_DDS1, &frequency); + DDS4xAD9912_SetFrequency(&DDS4xAD9912, 1, frequency); + GetCtrlVal(MainPanel, PANEL_DDS2, &frequency); + DDS4xAD9912_SetFrequency(&DDS4xAD9912, 2, frequency); + GetCtrlVal(MainPanel, PANEL_DDS3, &frequency); + DDS4xAD9912_SetFrequency(&DDS4xAD9912, 3, frequency); + GetCtrlVal(MainPanel, PANEL_DDS4, &frequency); + DDS4xAD9912_SetFrequency(&DDS4xAD9912, 4, frequency); // initialyze 1x AD9956 DDS box strcpy(DDS1xAD9956.ip, "145.238.205.58"); @@ -234,52 +232,47 @@ DDS1xAD9956.SweepRate = 0.0; DDS_Initialize(&DDS1xAD9956); - // Initialize the 5 (separate) math parsers for frep, Nu_Hg, Nu_Sr, N3 and ExtraMath - - Ch1=0.0 ; Ch2=0.0 ; Ch3=0.0 ; Ch4=0.0 ; - GetCtrlVal(MainPanel, PANEL_N1CHOICE, &N1) ; - GetCtrlVal(MainPanel, PANEL_N2CHOICE, &N2) ; - - GetCtrlVal(MainPanel, PANEL_N3CHOICE, &N3) ; + Ch1 = Ch2 = Ch3 = Ch4 = 0.0; + + GetCtrlVal(MainPanel, PANEL_N1CHOICE, &N1); + GetCtrlVal(MainPanel, PANEL_N2CHOICE, &N2); + GetCtrlVal(MainPanel, PANEL_N3CHOICE, &N3); - initMathParser(&MathParser1); - GetCtrlVal(MainPanel, PANEL_MATHSTRING1, MathString1); - mupSetExpr(MathParser1, MathString1); + MathParser1 = initMathParser(); + GetCtrlVal(MainPanel, PANEL_MATHSTRING1, expr); + mupSetExpr(MathParser1, expr); - initMathParser(&MathParser2) ; - mupDefineVar( MathParser2, "Math1", &Math1); - mupDefineVar( MathParser2, "DDS", &(DDS4xAD9912.Frequency1)); - GetCtrlVal(MainPanel, PANEL_MATHSTRING2, MathString2) ; - mupSetExpr(MathParser2, MathString2); + MathParser2 = initMathParser(); + mupDefineVar(MathParser2, "Math1", &Math1); + mupDefineVar(MathParser2, "DDS", &(DDS4xAD9912.Frequency1)); + GetCtrlVal(MainPanel, PANEL_MATHSTRING2, expr); + mupSetExpr(MathParser2, expr); - initMathParser(&MathParser3) ; - mupDefineVar( MathParser3, "Math1", &Math1); - mupDefineVar( MathParser3, "Math2", &Math2); - mupDefineVar( MathParser3, "DDS", &(DDS4xAD9912.Frequency2)); - GetCtrlVal(MainPanel, PANEL_MATHSTRING3, MathString3) ; - mupSetExpr(MathParser3, MathString3); - - initMathParser(&MathParser4) ; - mupDefineVar( MathParser4, "Math1", &Math1); - mupDefineVar( MathParser4, "Math2", &Math2); - mupDefineVar( MathParser4, "Math3", &Math3); - GetCtrlVal(MainPanel, PANEL_MATHSTRING4, MathString4) ; - mupSetExpr(MathParser4, MathString4); + MathParser3 = initMathParser(); + mupDefineVar(MathParser3, "Math1", &Math1); + mupDefineVar(MathParser3, "Math2", &Math2); + mupDefineVar(MathParser3, "DDS", &(DDS4xAD9912.Frequency2)); + GetCtrlVal(MainPanel, PANEL_MATHSTRING3, expr); + mupSetExpr(MathParser3, expr); - initMathParser(&MathParser5) ; - mupDefineVar( MathParser5, "Math1", &Math1); - mupDefineVar( MathParser5, "Math2", &Math2); - mupDefineVar( MathParser5, "Math3", &Math3); - mupDefineVar( MathParser5, "Math4", &Math4); - GetCtrlVal(MainPanel, PANEL_MATHSTRING5, MathString5) ; - mupSetExpr(MathParser5, MathString5); + MathParser4 = initMathParser(); + mupDefineVar(MathParser4, "Math1", &Math1); + mupDefineVar(MathParser4, "Math2", &Math2); + mupDefineVar(MathParser4, "Math3", &Math3); + GetCtrlVal(MainPanel, PANEL_MATHSTRING4, expr); + mupSetExpr(MathParser4, expr); - - RunUserInterface (); + MathParser5 = initMathParser(); + mupDefineVar(MathParser5, "Math1", &Math1); + mupDefineVar(MathParser5, "Math2", &Math2); + mupDefineVar(MathParser5, "Math3", &Math3); + mupDefineVar(MathParser5, "Math4", &Math4); + GetCtrlVal(MainPanel, PANEL_MATHSTRING5, expr); + mupSetExpr(MathParser5, expr); - // Stops everything at the end + RunUserInterface(); - DiscardPanel (MainPanel); + DiscardPanel(MainPanel); return 0; } @@ -315,7 +308,7 @@ switch (event) { case EVENT_COMMIT: - QuitUserInterface (0); + QuitUserInterface(0); mupRelease(MathParser1); mupRelease(MathParser2); mupRelease(MathParser3); @@ -475,16 +468,12 @@ int CVICALLBACK CB_OnStop (int panel, int control, int event, void *callbackData, int eventData1, int eventData2) { - switch (event) - { + switch (event) { case EVENT_COMMIT: Acquiring = FALSE ; SetCtrlAttribute(MainPanel, PANEL_STARTBUTTON, ATTR_LABEL_TEXT, "__START"); break; - case EVENT_RIGHT_CLICK: - - break; - } + } return 0; } @@ -510,12 +499,6 @@ char * ReportString = "dd.mm.yy\t00:00:00\t3481610838.000\t0000000000000.00000000"; int BoxChecked = FALSE; - - double FoxFrequ=0.0; - - double FrequencyToChange=0.0; - double DeltaCh2=0.0; - double DeltaCh4=0.0; switch (event) { @@ -1240,37 +1223,31 @@ break; } - if (utc-SlopeMeasuringTimeBegin > TimetoSlope) - { + if ((utc - SlopeMeasuringTimeBegin) > TimetoSlope) { + Nratio = Nratio + 1; - - if (Nratio >= 1) { + if Nratio >= 1 MoyMath2 = MoyMath2 + Moy_Math2slope; - } - if (invertSlopeSign) { + if (invertSlopeSign) SlopeMath2 = SlopeMath2 - Slope_Math2slope; - } else { + else SlopeMath2 = SlopeMath2 + Slope_Math2slope; - } N_Math2slope = 0.0; Math2_slope = 0.0; Moy_Math2slope = 0.0; Slope_Math2slope = 0.0; - if (Nratio == 1 && CenterFrequencyCh2ToDetermine == TRUE) - { + if (Nratio == 1 && CenterFrequencyCh2ToDetermine == TRUE) { CenterFrequencyCh2 = MoyMath2; CenterFrequencyCh2ToDetermine = FALSE; } OnSlopeCancelling = TRUE; - if (Nratio == ratio) - { - if (FrequCorrec == TRUE) - { + if (Nratio == ratio) { + if (FrequCorrec == TRUE) { SlopeCorrection = (MoyMath2/ratio-CenterFrequencyCh2)/TimetoSlope; SlopeMath2 = SlopeMath2 + SlopeCorrection; } @@ -1278,9 +1255,9 @@ MoyMath2 = 0.0; } - FoxFrequ = DDSFox_ReadFreq(&DDS1xAD9956); + double frequency = DDSFox_ReadFreq(&DDS1xAD9956); SetCtrlVal(MainPanel, PANEL_SLOPETOCANCEL, SlopeMath2); - DDSFox_Set(&DDS1xAD9956, FoxFrequ, SlopeMath2); + DDSFox_Set(&DDS1xAD9956, frequency, SlopeMath2); nstabilisationSlopeMeasuring = 0; SlopeMeasuringTimeBegin = utc; @@ -1338,27 +1315,26 @@ } // re-centering - if (KeepCentering) - { - - DeltaCh4=275000-Ch4; - DeltaCh2=10000-Ch2; - - if (utc- CenteringTimeBegin275K > Timetorecenter275K && CenteringTimeBegin275K>10) - { - GetCtrlVal(MainPanel, PANEL_DDS2, &FrequencyToChange); - SetCtrlVal(MainPanel, PANEL_DDS2, FrequencyToChange+DeltaCh4); - DDS4xAD9912_SetFrequency(&DDS4xAD9912, 2, FrequencyToChange+DeltaCh4); - CenteringTimeBegin275K=utc; + if (KeepCentering) { + if ((utc - CenteringTimeBegin275K) > Timetorecenter275K && CenteringTimeBegin275K > 10) { + double frequency; + GetCtrlVal(MainPanel, PANEL_DDS2, &frequency); + // adjust DDS2 frequency to keep Ch4 reading around 275000 + frequency = frequency + 275000 - Ch4; + SetCtrlVal(MainPanel, PANEL_DDS2, frequency); + DDS4xAD9912_SetFrequency(&DDS4xAD9912, 2, frequency); + CenteringTimeBegin275K = utc; } - if (utc- CenteringTimeBegin10K > Timetorecenter10K && CenteringTimeBegin10K>10) - { - GetCtrlVal(MainPanel, PANEL_DDS3, &FrequencyToChange); - SetCtrlVal(MainPanel, PANEL_DDS3, FrequencyToChange+DeltaCh2); - DDS4xAD9912_SetFrequency(&DDS4xAD9912, 3, FrequencyToChange+DeltaCh2); - CenteringTimeBegin10K=utc; - } + if ((utc - CenteringTimeBegin10K) > Timetorecenter10K && CenteringTimeBegin10K > 10) { + double frequency; + GetCtrlVal(MainPanel, PANEL_DDS3, &frequency); + // adjust DDS3 frequency to keep Ch2 reading around 10000 + frequency = frequency + 10000 - Ch2; + SetCtrlVal(MainPanel, PANEL_DDS3, frequency); + DDS4xAD9912_SetFrequency(&DDS4xAD9912, 3, frequency); + CenteringTimeBegin10K = utc; + } } GetCtrlVal(MainPanel, PANEL_CHECKBOX_MATH2AUTOSAV, &BoxChecked); // AutoSave OL @@ -1433,8 +1409,7 @@ double PlotMin = 10e6 ; double PlotMax = 65e6 ; - switch (event) - { + switch (event) { case EVENT_COMMIT: GetCtrlVal(MainPanel, control, &BoxChecked); @@ -1485,19 +1460,12 @@ break ; } - if (BoxChecked) { - Plot_InitPanel(pPlot, PlotTitle, PlotMin, PlotMax, &OnCloseViewPanel) ; - } - else { - Plot_ClosePanel(pPlot) ; - } ; + if (BoxChecked) + Plot_InitPanel(pPlot, PlotTitle, PlotMin, PlotMax, &OnCloseViewPanel); + else + Plot_ClosePanel(pPlot); break; - - case EVENT_RIGHT_CLICK: - - break; - - } + } return 0; }