# HG changeset patch # User Daniele Nicolodi # Date 1364318318 -3600 # Node ID 675cb8d5e8a762e53f6f319c05a4bb3d612dbcf6 # Parent 4a11331eacbf0a5dd164bf3c3062dfe30eeab315 Write raw counters data to disk diff -r 4a11331eacbf -r 675cb8d5e8a7 FXAnalyse.c --- a/FXAnalyse.c Tue Mar 26 18:17:18 2013 +0100 +++ b/FXAnalyse.c Tue Mar 26 18:18:38 2013 +0100 @@ -268,6 +268,20 @@ CloseFile(fd); } +void writeData4(const char *folder, const char *name, const char *id, + const char *timestr, double utc, double v1, double v2, double v3, double v4) +{ + char line[1024]; + char filename[FILENAME_MAX]; + + // construct filename in the form folder\\id-name.txt + snprintf(filename, sizeof(filename), "%s\\%s-%s.txt", folder, id, name); + + int fd = OpenFile(filename, VAL_WRITE_ONLY, VAL_APPEND, VAL_ASCII); + Fmt(line, "%s\t%f[p3]\t%f[p3]\t%f[p3]\t%f[p3]\t%f[p3]", timestr, utc, v1, v2, v3, v4); + WriteLine(fd, line, -1); + CloseFile(fd); +} void CVICALLBACK DataAvailableCB (CmtTSQHandle queueHandle, unsigned int event, int value, void *callbackData); @@ -1309,6 +1323,12 @@ int save; + // write counter data to disk + GetCtrlVal(MainPanel, PANEL_SAVE_RAW_DATA, &save); + if (save) { + writeData4(DATAFOLDER, "Raw", id, timestr, utc, Ch1, Ch2, Ch3, Ch4); + } + // write LO frequency (Math2) to disk GetCtrlVal(MainPanel, PANEL_CHECKBOX_MATH2SAVE, &save); if (save) { diff -r 4a11331eacbf -r 675cb8d5e8a7 FXAnalyse.h --- a/FXAnalyse.h Tue Mar 26 18:17:18 2013 +0100 +++ b/FXAnalyse.h Tue Mar 26 18:18:38 2013 +0100 @@ -59,96 +59,96 @@ #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_SPLITTER 25 /* control type: splitter, callback function: (none) */ -#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_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_TEXTMSG_17 51 /* control type: textMsg, callback function: (none) */ -#define PANEL_MATH2 52 /* control type: numeric, callback function: (none) */ -#define PANEL_SPLITTER_15 53 /* control type: splitter, callback function: (none) */ -#define PANEL_SPLITTER_12 54 /* control type: splitter, callback function: (none) */ -#define PANEL_CHECKBOX_MATH2PLOT 55 /* control type: radioButton, callback function: CB_OnFreqPlot */ -#define PANEL_CHECKBOX_MATH3SAVE 56 /* control type: radioButton, callback function: (none) */ -#define PANEL_CHECKBOX_MATH2SAVE 57 /* control type: radioButton, callback function: (none) */ -#define PANEL_CHECKBOX_MATH2ALLAN 58 /* control type: radioButton, callback function: CB_OnAllanPlot */ -#define PANEL_TEXTMSG_7 59 /* control type: textMsg, callback function: (none) */ -#define PANEL_MATHSTRING3 60 /* control type: string, callback function: CB_ChangeMath */ -#define PANEL_MATH1 61 /* control type: numeric, callback function: (none) */ -#define PANEL_SPLITTER_6 62 /* control type: splitter, callback function: (none) */ -#define PANEL_TEXTMSG_18 63 /* control type: textMsg, callback function: (none) */ -#define PANEL_TEXTMSG_6 64 /* control type: textMsg, callback function: (none) */ -#define PANEL_TEXTMSG_8 65 /* control type: textMsg, callback function: (none) */ -#define PANEL_TEXTMSG_19 66 /* control type: textMsg, callback function: (none) */ -#define PANEL_MATHSTRING1 67 /* control type: string, callback function: CB_ChangeMath */ -#define PANEL_TEXTMSG_9 68 /* control type: textMsg, callback function: (none) */ -#define PANEL_TEXTMSG_10 69 /* control type: textMsg, callback function: (none) */ -#define PANEL_MATHSTRING2 70 /* control type: string, callback function: CB_ChangeMath */ -#define PANEL_TEXTMSG_16 71 /* control type: textMsg, callback function: (none) */ -#define PANEL_SPLITTER_11 72 /* control type: splitter, callback function: (none) */ -#define PANEL_SPLITTER_16 73 /* control type: splitter, callback function: (none) */ -#define PANEL_SPLITTER_9 74 /* control type: splitter, callback function: (none) */ -#define PANEL_SPLITTER_3 75 /* control type: splitter, callback function: (none) */ -#define PANEL_MINUS10KDDS1 76 /* control type: command, callback function: CB_OnMinus10k */ -#define PANEL_MINUS10KDDS4 77 /* control type: command, callback function: CB_OnMinus10k */ -#define PANEL_MINUS10KDDS3 78 /* control type: command, callback function: CB_OnMinus10k */ -#define PANEL_MINUS10KDDS2 79 /* control type: command, callback function: CB_OnMinus10k */ -#define PANEL_PLUS10KDDS4 80 /* control type: command, callback function: CB_OnPlus10k */ -#define PANEL_PLUS10KDDS3 81 /* control type: command, callback function: CB_OnPlus10k */ -#define PANEL_PLUS10KDDS1 82 /* control type: command, callback function: CB_OnPlus10k */ -#define PANEL_PLUS10KDDS2 83 /* control type: command, callback function: CB_OnPlus10k */ -#define PANEL_TEXTMSG_11 84 /* control type: textMsg, callback function: (none) */ -#define PANEL_MATHSTRING5 85 /* control type: textBox, callback function: CB_ChangeMath */ -#define PANEL_SPLITTER_8 86 /* control type: splitter, callback function: (none) */ -#define PANEL_UTC 87 /* control type: numeric, callback function: (none) */ -#define PANEL_TIME 88 /* control type: string, callback function: (none) */ -#define PANEL_SPLITTER_14 89 /* control type: splitter, callback function: (none) */ -#define PANEL_SPLITTER_13 90 /* control type: splitter, callback function: (none) */ -#define PANEL_DDS4 91 /* control type: numeric, callback function: CB_ChangeDDSOut */ -#define PANEL_SPLITTER_2 92 /* control type: splitter, callback function: (none) */ -#define PANEL_DDS3 93 /* control type: numeric, callback function: CB_ChangeDDSOut */ -#define PANEL_N1CALCULUS 94 /* control type: command, callback function: CB_OnNCalculus */ -#define PANEL_FINDSIGN3 95 /* control type: command, callback function: CB_OnFindSign */ -#define PANEL_SIGN3 96 /* control type: numeric, callback function: (none) */ -#define PANEL_FINDSIGN2 97 /* control type: command, callback function: CB_OnFindSign */ -#define PANEL_SIGN2 98 /* control type: numeric, callback function: (none) */ -#define PANEL_FINDSIGN1 99 /* control type: command, callback function: CB_OnFindSign */ -#define PANEL_SIGN1 100 /* control type: numeric, callback function: (none) */ -#define PANEL_FIND10K3 101 /* control type: command, callback function: CB_OnFind275K */ -#define PANEL_FIND275K2 102 /* control type: command, callback function: CB_OnFind275K */ -#define PANEL_RESETSLOPE 103 /* control type: command, callback function: CB_OnResetSlope */ -#define PANEL_CHECKBOX_STOPIFAUTODE 104 /* control type: radioButton, callback function: CB_OnStopSlopeCancellingOnUnlocked */ -#define PANEL_CHECKBOX_RECENTER 105 /* control type: radioButton, callback function: CB_OnReCentering */ -#define PANEL_CHECKBOX_KEEPSLOPE 106 /* control type: radioButton, callback function: CB_OnCROX */ -#define PANEL_CHECKBOX_KEEP 107 /* control type: radioButton, callback function: CB_OnCROX */ -#define PANEL_SLOPE_REFERENCE 108 /* control type: ring, callback function: CB_OnSlopeReference */ -#define PANEL_ESTIMATE_N3 109 /* control type: command, callback function: CB_OnEstimateN */ -#define PANEL_INVERT_SLOPE_SIGN 110 /* control type: radioButton, callback function: CB_InvertSlopeSign */ -#define PANEL_MEASURE_SLOPE 111 /* control type: LED, callback function: CB_MeasureSlope */ -#define PANEL_SLOPE_MEASURED 112 /* control type: numeric, callback function: (none) */ -#define PANEL_RESET_DEDRIFT_DDS 113 /* control type: command, callback function: CB_ResetDedriftDDS */ -#define PANEL_SHOWLOG 114 /* control type: command, callback function: CB_ShowLog */ +#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_CHECKBOX_MATH4SAVE 47 /* control type: radioButton, callback function: (none) */ +#define PANEL_CHECKBOX_MATH3ALLAN 48 /* control type: radioButton, callback function: CB_OnAllanPlot */ +#define PANEL_MATHSTRING4 49 /* control type: string, callback function: CB_ChangeMath */ +#define PANEL_TEXTMSG_17 50 /* control type: textMsg, callback function: (none) */ +#define PANEL_MATH2 51 /* control type: numeric, callback function: (none) */ +#define PANEL_SPLITTER_15 52 /* control type: splitter, callback function: (none) */ +#define PANEL_SPLITTER_12 53 /* control type: splitter, callback function: (none) */ +#define PANEL_CHECKBOX_MATH2PLOT 54 /* control type: radioButton, callback function: CB_OnFreqPlot */ +#define PANEL_CHECKBOX_MATH3SAVE 55 /* control type: radioButton, callback function: (none) */ +#define PANEL_CHECKBOX_MATH2SAVE 56 /* control type: radioButton, callback function: (none) */ +#define PANEL_CHECKBOX_MATH2ALLAN 57 /* control type: radioButton, callback function: CB_OnAllanPlot */ +#define PANEL_TEXTMSG_7 58 /* control type: textMsg, callback function: (none) */ +#define PANEL_MATHSTRING3 59 /* control type: string, callback function: CB_ChangeMath */ +#define PANEL_MATH1 60 /* control type: numeric, callback function: (none) */ +#define PANEL_SPLITTER_6 61 /* control type: splitter, callback function: (none) */ +#define PANEL_TEXTMSG_18 62 /* control type: textMsg, callback function: (none) */ +#define PANEL_TEXTMSG_6 63 /* control type: textMsg, callback function: (none) */ +#define PANEL_TEXTMSG_8 64 /* control type: textMsg, callback function: (none) */ +#define PANEL_TEXTMSG_19 65 /* control type: textMsg, callback function: (none) */ +#define PANEL_MATHSTRING1 66 /* control type: string, callback function: CB_ChangeMath */ +#define PANEL_TEXTMSG_9 67 /* control type: textMsg, callback function: (none) */ +#define PANEL_TEXTMSG_10 68 /* control type: textMsg, callback function: (none) */ +#define PANEL_MATHSTRING2 69 /* control type: string, callback function: CB_ChangeMath */ +#define PANEL_TEXTMSG_16 70 /* control type: textMsg, callback function: (none) */ +#define PANEL_SPLITTER_11 71 /* control type: splitter, callback function: (none) */ +#define PANEL_SPLITTER_16 72 /* control type: splitter, callback function: (none) */ +#define PANEL_SPLITTER_9 73 /* control type: splitter, callback function: (none) */ +#define PANEL_SPLITTER_3 74 /* control type: splitter, callback function: (none) */ +#define PANEL_MINUS10KDDS1 75 /* control type: command, callback function: CB_OnMinus10k */ +#define PANEL_MINUS10KDDS4 76 /* control type: command, callback function: CB_OnMinus10k */ +#define PANEL_MINUS10KDDS3 77 /* control type: command, callback function: CB_OnMinus10k */ +#define PANEL_MINUS10KDDS2 78 /* control type: command, callback function: CB_OnMinus10k */ +#define PANEL_PLUS10KDDS4 79 /* control type: command, callback function: CB_OnPlus10k */ +#define PANEL_PLUS10KDDS3 80 /* control type: command, callback function: CB_OnPlus10k */ +#define PANEL_PLUS10KDDS1 81 /* control type: command, callback function: CB_OnPlus10k */ +#define PANEL_PLUS10KDDS2 82 /* control type: command, callback function: CB_OnPlus10k */ +#define PANEL_TEXTMSG_11 83 /* control type: textMsg, callback function: (none) */ +#define PANEL_MATHSTRING5 84 /* control type: textBox, callback function: CB_ChangeMath */ +#define PANEL_SPLITTER_8 85 /* control type: splitter, callback function: (none) */ +#define PANEL_UTC 86 /* control type: numeric, callback function: (none) */ +#define PANEL_TIME 87 /* control type: string, callback function: (none) */ +#define PANEL_SPLITTER_14 88 /* control type: splitter, callback function: (none) */ +#define PANEL_SPLITTER_13 89 /* control type: splitter, callback function: (none) */ +#define PANEL_DDS4 90 /* control type: numeric, callback function: CB_ChangeDDSOut */ +#define PANEL_SPLITTER_2 91 /* control type: splitter, callback function: (none) */ +#define PANEL_DDS3 92 /* control type: numeric, callback function: CB_ChangeDDSOut */ +#define PANEL_N1CALCULUS 93 /* control type: command, callback function: CB_OnNCalculus */ +#define PANEL_FINDSIGN3 94 /* control type: command, callback function: CB_OnFindSign */ +#define PANEL_SIGN3 95 /* control type: numeric, callback function: (none) */ +#define PANEL_FINDSIGN2 96 /* control type: command, callback function: CB_OnFindSign */ +#define PANEL_SIGN2 97 /* control type: numeric, callback function: (none) */ +#define PANEL_FINDSIGN1 98 /* control type: command, callback function: CB_OnFindSign */ +#define PANEL_SIGN1 99 /* control type: numeric, callback function: (none) */ +#define PANEL_FIND10K3 100 /* control type: command, callback function: CB_OnFind275K */ +#define PANEL_FIND275K2 101 /* control type: command, callback function: CB_OnFind275K */ +#define PANEL_RESETSLOPE 102 /* control type: command, callback function: CB_OnResetSlope */ +#define PANEL_CHECKBOX_STOPIFAUTODE 103 /* control type: radioButton, callback function: CB_OnStopSlopeCancellingOnUnlocked */ +#define PANEL_CHECKBOX_RECENTER 104 /* control type: radioButton, callback function: CB_OnReCentering */ +#define PANEL_CHECKBOX_KEEPSLOPE 105 /* control type: radioButton, callback function: CB_OnCROX */ +#define PANEL_CHECKBOX_KEEP 106 /* control type: radioButton, callback function: CB_OnCROX */ +#define PANEL_SLOPE_REFERENCE 107 /* control type: ring, callback function: CB_OnSlopeReference */ +#define PANEL_ESTIMATE_N3 108 /* control type: command, callback function: CB_OnEstimateN */ +#define PANEL_INVERT_SLOPE_SIGN 109 /* control type: radioButton, callback function: CB_InvertSlopeSign */ +#define PANEL_MEASURE_SLOPE 110 /* control type: LED, callback function: CB_MeasureSlope */ +#define PANEL_SLOPE_MEASURED 111 /* control type: numeric, callback function: (none) */ +#define PANEL_RESET_DEDRIFT_DDS 112 /* control type: command, callback function: CB_ResetDedriftDDS */ +#define PANEL_SHOWLOG 113 /* control type: command, callback function: CB_ShowLog */ +#define PANEL_SAVE_RAW_DATA 114 /* control type: radioButton, callback function: (none) */ /* Menu Bars, Menus, and Menu Items: */ diff -r 4a11331eacbf -r 675cb8d5e8a7 FXAnalyse.uir Binary file FXAnalyse.uir has changed