Mercurial > hg > fxanalyse
view FXAnalyse.h @ 183:791ca26fee6a
Rewrite data writing to file
Fmt() uses by default truncation to conver double arguments to their text
representation. Rounding must be used. Rewrite using standard C functions to
get rid of this problem (and probably make it more efficient). Extend to handle
arbitrary number of channels and to report errors on opening the data files.
author | Daniele Nicolodi <daniele.nicolodi@obspm.fr> |
---|---|
date | Fri, 21 Feb 2014 18:42:30 +0100 |
parents | 8faada7e4faf |
children | d841dfb30b0b |
line wrap: on
line source
/**************************************************************************/ /* LabWindows/CVI User Interface Resource (UIR) Include File */ /* Copyright (c) National Instruments 2014. All Rights Reserved. */ /* */ /* WARNING: Do not add to, delete from, or otherwise modify the contents */ /* of this include file. */ /**************************************************************************/ #include <userint.h> #ifdef __cplusplus extern "C" { #endif /* Panels and Controls: */ #define CALCN 1 #define CALCN_N 2 /* control type: numeric, callback function: (none) */ #define CALCN_STOP 3 /* control type: command, callback function: CB_OnNStop */ #define CALCN_SLOPETIME 4 /* control type: numeric, callback function: (none) */ #define CALCN_INTEGRATIONTIME 5 /* control type: numeric, callback function: (none) */ #define CALCN_DELTAFREQ 6 /* control type: numeric, callback function: (none) */ #define CALCN_START 7 /* control type: command, callback function: CB_OnStartNCalculus */ #define CALCN_ACCEPTN 8 /* control type: command, callback function: CB_OnAcceptN */ #define ESTIMATEN 2 #define ESTIMATEN_N 2 /* control type: numeric, callback function: (none) */ #define ESTIMATEN_ESTIMATE 3 /* control type: command, callback function: CB_OnNEstimate */ #define ESTIMATEN_FREP 4 /* control type: numeric, callback function: (none) */ #define ESTIMATEN_SET 5 /* control type: command, callback function: CB_OnNEstimateSet */ #define ESTIMATEN_CANCEL 6 /* control type: command, callback function: CB_OnNEstimateCancel */ #define ESTIMATEN_WAVELENGTH 7 /* control type: numeric, callback function: (none) */ #define LOGGING 3 /* callback function: CB_OnLoggingPanelEvent */ #define LOGGING_LOGGING 2 /* control type: textBox, callback function: (none) */ #define PANEL 4 /* callback function: CB_OnEventMain */ #define PANEL_QUITBUTTON 2 /* control type: command, callback function: QuitCallback */ #define PANEL_STARTBUTTON 3 /* control type: command, callback function: CB_OnStart */ #define PANEL_STOPBUTTON 4 /* control type: command, callback function: CB_OnStop */ #define PANEL_CH4 5 /* control type: numeric, callback function: (none) */ #define PANEL_CH3 6 /* control type: numeric, callback function: (none) */ #define PANEL_CH2 7 /* control type: numeric, callback function: (none) */ #define PANEL_CH1 8 /* control type: numeric, callback function: (none) */ #define PANEL_ADEV_Math1 9 /* control type: radioButton, callback function: CB_OnAllanPlot */ #define PANEL_ADEV_Ch4 10 /* control type: radioButton, callback function: CB_OnAllanPlot */ #define PANEL_ADEV_Ch3 11 /* control type: radioButton, callback function: CB_OnAllanPlot */ #define PANEL_PLOT_Ch4 12 /* control type: radioButton, callback function: CB_OnFreqPlot */ #define PANEL_ADEV_Ch2 13 /* control type: radioButton, callback function: CB_OnAllanPlot */ #define PANEL_PLOT_Ch3 14 /* control type: radioButton, callback function: CB_OnFreqPlot */ #define PANEL_ADEV_Ch1 15 /* control type: radioButton, callback function: CB_OnAllanPlot */ #define PANEL_PLOT_Ch2 16 /* control type: radioButton, callback function: CB_OnFreqPlot */ #define PANEL_PLOT_Math1 17 /* control type: radioButton, callback function: CB_OnFreqPlot */ #define PANEL_PLOT_Ch1 18 /* control type: radioButton, callback function: CB_OnFreqPlot */ #define PANEL_DDS2 19 /* control type: numeric, callback function: CB_ChangeDDSOut */ #define PANEL_TEXTMSG 20 /* control type: textMsg, callback function: (none) */ #define PANEL_TEXTMSG_2 21 /* control type: textMsg, callback function: (none) */ #define PANEL_RECENTER_INTERVAL 22 /* control type: numeric, callback function: CB_RecenterInterval */ #define PANEL_SLOPETIME 23 /* control type: numeric, callback function: CB_ChangeSlopeTime */ #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_SLOPE_APPLIED 35 /* control type: numeric, callback function: CB_SetSlope */ #define PANEL_PLOT_Math5 36 /* control type: radioButton, callback function: CB_OnFreqPlot */ #define PANEL_PLOT_Math4 37 /* control type: radioButton, callback function: CB_OnFreqPlot */ #define PANEL_ADEV_Math4 38 /* control type: radioButton, callback function: CB_OnAllanPlot */ #define PANEL_DDS1STEP 39 /* control type: ring, callback function: CB_ChangeDDSStep */ #define PANEL_TEXTMSG_15 40 /* control type: textMsg, callback function: (none) */ #define PANEL_ADEV_Math5 41 /* control type: radioButton, callback function: CB_OnAllanPlot */ #define PANEL_PLOT_Math3 42 /* control type: radioButton, callback function: CB_OnFreqPlot */ #define PANEL_SAVE_EXTRA 43 /* control type: radioButton, callback function: CB_SaveData */ #define PANEL_SR_LOGGER 44 /* control type: radioButton, callback function: CB_SrDatalogger */ #define PANEL_SAVE_SR 45 /* control type: radioButton, callback function: CB_SaveData */ #define PANEL_ADEV_Math3 46 /* control type: radioButton, callback function: CB_OnAllanPlot */ #define PANEL_MATHSTRING4 47 /* control type: string, callback function: CB_ChangeMath */ #define PANEL_PLOT_Math2 48 /* control type: radioButton, callback function: CB_OnFreqPlot */ #define PANEL_SAVE_HG 49 /* control type: radioButton, callback function: CB_SaveData */ #define PANEL_SAVE_LO 50 /* control type: radioButton, callback function: CB_SaveData */ #define PANEL_ADEV_Math2 51 /* control type: radioButton, callback function: CB_OnAllanPlot */ #define PANEL_MATHSTRING3 52 /* control type: string, callback function: CB_ChangeMath */ #define PANEL_MATHSTRING1 53 /* control type: string, callback function: CB_ChangeMath */ #define PANEL_MATHSTRING2 54 /* control type: string, callback function: CB_ChangeMath */ #define PANEL_TEXTMSG_16 55 /* control type: textMsg, callback function: (none) */ #define PANEL_MATHSTRING5 56 /* control type: textBox, callback function: CB_ChangeMath */ #define PANEL_UTC 57 /* control type: numeric, callback function: (none) */ #define PANEL_TIME 58 /* control type: string, callback function: (none) */ #define PANEL_DDS4 59 /* control type: numeric, callback function: CB_ChangeDDSOut */ #define PANEL_DDS3 60 /* control type: numeric, callback function: CB_ChangeDDSOut */ #define PANEL_N1CALCULUS 61 /* control type: command, callback function: CB_OnNCalculus */ #define PANEL_FINDSIGN3 62 /* control type: command, callback function: CB_OnFindSign */ #define PANEL_SIGN3 63 /* control type: numeric, callback function: CB_Sign3 */ #define PANEL_FINDSIGN2 64 /* control type: command, callback function: CB_OnFindSign */ #define PANEL_SIGN2 65 /* control type: numeric, callback function: (none) */ #define PANEL_FINDSIGN1 66 /* control type: command, callback function: CB_OnFindSign */ #define PANEL_SIGN1 67 /* control type: numeric, callback function: (none) */ #define PANEL_FIND10K3 68 /* control type: command, callback function: CB_OnFind275K */ #define PANEL_FIND275K2 69 /* control type: command, callback function: CB_OnFind275K */ #define PANEL_RESETSLOPE 70 /* control type: command, callback function: CB_OnResetSlope */ #define PANEL_CHECKBOX_STOPIFAUTODE 71 /* control type: radioButton, callback function: CB_OnStopSlopeCancellingOnUnlocked */ #define PANEL_CHECKBOX_KEEPSLOPE 72 /* control type: radioButton, callback function: CB_OnCROX */ #define PANEL_CHECKBOX_KEEP 73 /* control type: radioButton, callback function: CB_OnCROX */ #define PANEL_SLOPE_REFERENCE 74 /* control type: ring, callback function: CB_OnSlopeReference */ #define PANEL_ESTIMATE_N2 75 /* control type: command, callback function: CB_OnEstimateN */ #define PANEL_ESTIMATE_N3 76 /* control type: command, callback function: CB_OnEstimateN */ #define PANEL_INVERT_SLOPE_SIGN 77 /* control type: radioButton, callback function: CB_InvertSlopeSign */ #define PANEL_RECENTER 78 /* control type: LED, callback function: CB_RecenterEnable */ #define PANEL_MEASURE_SLOPE 79 /* control type: LED, callback function: CB_MeasureSlope */ #define PANEL_SLOPE_MEASURED 80 /* control type: numeric, callback function: (none) */ #define PANEL_RESET_DEDRIFT_DDS 81 /* control type: command, callback function: CB_ResetDedriftDDS */ #define PANEL_SAVE_RAW 82 /* control type: radioButton, callback function: CB_SaveData */ #define PANEL_SHOWLOG 83 /* control type: radioButton, callback function: CB_ShowLog */ #define PANEL_SLOPEX2 84 /* control type: radioButton, callback function: CB_SlopeX2 */ #define PANEL_SAVE_DDS 85 /* control type: radioButton, callback function: CB_SaveData */ #define PANEL_DECORATION_2 86 /* control type: deco, callback function: (none) */ #define PANEL_DECORATION_8 87 /* control type: deco, callback function: (none) */ #define PANEL_DECORATION 88 /* control type: deco, callback function: (none) */ #define PANEL_DECORATION_3 89 /* control type: deco, callback function: (none) */ #define PANEL_TEXTMSG_6 90 /* control type: textMsg, callback function: (none) */ #define PANEL_TEXTMSG_22 91 /* control type: textMsg, callback function: (none) */ #define PANEL_TEXTMSG_21 92 /* control type: textMsg, callback function: (none) */ #define PANEL_TEXTMSG_7 93 /* control type: textMsg, callback function: (none) */ #define PANEL_DECORATION_4 94 /* control type: deco, callback function: (none) */ #define PANEL_DECORATION_7 95 /* control type: deco, callback function: (none) */ #define PANEL_DECORATION_6 96 /* control type: deco, callback function: (none) */ #define PANEL_DECORATION_5 97 /* control type: deco, callback function: (none) */ #define PANEL_TEXTMSG_20 98 /* control type: textMsg, callback function: (none) */ #define PANEL_TEXTMSG_19 99 /* control type: textMsg, callback function: (none) */ #define PANEL_MATH4 100 /* control type: string, callback function: (none) */ #define PANEL_MATH5 101 /* control type: string, callback function: (none) */ #define PANEL_MATH3 102 /* control type: string, callback function: (none) */ #define PANEL_MATH2 103 /* control type: string, callback function: (none) */ #define PANEL_MATH1 104 /* control type: string, callback function: (none) */ #define PANEL_RECENTER_SR 105 /* control type: radioButton, callback function: CB_RecenterChannel */ #define PANEL_RECENTER_HG 106 /* control type: radioButton, callback function: CB_RecenterChannel */ #define PANEL_RECENTER_LO 107 /* control type: radioButton, callback function: CB_RecenterChannel */ /* Control Arrays: */ /* (no control arrays in the resource file) */ /* Menu Bars, Menus, and Menu Items: */ /* (no menu bars in the resource file) */ /* Callback Prototypes: */ int CVICALLBACK CB_ChangeDDSOut(int panel, int control, int event, void *callbackData, int eventData1, int eventData2); int CVICALLBACK CB_ChangeDDSStep(int panel, int control, int event, void *callbackData, int eventData1, int eventData2); 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); int CVICALLBACK CB_OnAllanPlot(int panel, int control, int event, void *callbackData, int eventData1, int eventData2); int CVICALLBACK CB_OnChangeNdiv(int panel, int control, int event, void *callbackData, int eventData1, int eventData2); int CVICALLBACK CB_OnCROX(int panel, int control, int event, void *callbackData, int eventData1, int eventData2); int CVICALLBACK CB_OnEstimateN(int panel, int control, int event, void *callbackData, int eventData1, int eventData2); int CVICALLBACK CB_OnEventMain(int panel, int event, void *callbackData, int eventData1, int eventData2); int CVICALLBACK CB_OnFind275K(int panel, int control, int event, void *callbackData, int eventData1, int eventData2); int CVICALLBACK CB_OnFindSign(int panel, int control, int event, void *callbackData, int eventData1, int eventData2); int CVICALLBACK CB_OnFreqPlot(int panel, int control, int event, void *callbackData, int eventData1, int eventData2); int CVICALLBACK CB_OnLoggingPanelEvent(int panel, int event, void *callbackData, int eventData1, int eventData2); int CVICALLBACK CB_OnNCalculus(int panel, int control, int event, void *callbackData, int eventData1, int eventData2); int CVICALLBACK CB_OnNEstimate(int panel, int control, int event, void *callbackData, int eventData1, int eventData2); int CVICALLBACK CB_OnNEstimateCancel(int panel, int control, int event, void *callbackData, int eventData1, int eventData2); int CVICALLBACK CB_OnNEstimateSet(int panel, int control, int event, void *callbackData, int eventData1, int eventData2); int CVICALLBACK CB_OnNStop(int panel, int control, int event, void *callbackData, int eventData1, int eventData2); int CVICALLBACK CB_OnResetSlope(int panel, int control, int event, void *callbackData, int eventData1, int eventData2); int CVICALLBACK CB_OnSlopeReference(int panel, int control, int event, void *callbackData, int eventData1, int eventData2); int CVICALLBACK CB_OnStart(int panel, int control, int event, void *callbackData, int eventData1, int eventData2); int CVICALLBACK CB_OnStartNCalculus(int panel, int control, int event, void *callbackData, int eventData1, int eventData2); int CVICALLBACK CB_OnStop(int panel, int control, int event, void *callbackData, int eventData1, int eventData2); int CVICALLBACK CB_OnStopSlopeCancellingOnUnlocked(int panel, int control, int event, void *callbackData, int eventData1, int eventData2); int CVICALLBACK CB_RecenterChannel(int panel, int control, int event, void *callbackData, int eventData1, int eventData2); int CVICALLBACK CB_RecenterEnable(int panel, int control, int event, void *callbackData, int eventData1, int eventData2); int CVICALLBACK CB_RecenterInterval(int panel, int control, int event, void *callbackData, int eventData1, int eventData2); int CVICALLBACK CB_ResetDedriftDDS(int panel, int control, int event, void *callbackData, int eventData1, int eventData2); int CVICALLBACK CB_SaveData(int panel, int control, int event, void *callbackData, int eventData1, int eventData2); 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 CB_SrDatalogger(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); #ifdef __cplusplus } #endif