-
Notifications
You must be signed in to change notification settings - Fork 1
experiment config file
Experiment config is used to describe experiment. Here is example for experiment named debug-1:
#Basic options [debug-1] out="utime,cc34(2),cc34(3),k2000,k2700(5),cross(k2000;k2700;9.5;10.5)" axis="xBottom,yLeft,yLeft,yRight,yRight,yRight" controls="cc34.1.C,cc34.2.D" controls\name="Sample temperature, Capillar temperature"
#Parameters description
##out
This field contains comma separated list of device shortnames with optional parameters in brackets. Parameters must be separated with semicolon sign: ;.
There are several special device names that do not have device-specific options in devices config file:
- utime
- time
- cross
Stands for unix time. Returns current unix time with milisecond resolution, like: 1331738274.094. It should be used as first parameter to identify x value for plotting values of other devices.
This type of device ignores any parameters.
Returns time in format HH:MM:ss. This device can be used capability reasons. Generally it's not recommended to use this device for storing time values
This type of device ignores any parameters.
Cross can be used to smoothly crossfade values of 2 devices. Use case: imagine that we have 2 pressure-to-voltage convertors. First one can measure 1e-3...10 Torr that corresponds to output voltage of 1e-3...10 V, second one can measure pressure 0.1...1000 Torr that corresponds to output voltage of 1e-3...10 V. For measuring pressure from 1e-3 to 1000 Torr we can attach these two pressure convertors to same gas system and use 2 voltmeters to measure voltage from pressure convertors.
If voltage from first convertor is measured by k2000 and from second by k2700(5) and we want pressure to be smoothly changed from k2000 to k2700 at the range of 9.5 Torr ... 10.5 Torr then we can use
cross(k2000;k2700;9.5;10.5)
IMPORTANT NOTES:
-
cross device will use latest measured values of the device regardless of the channel. Best practice is to place cross device definition immediately after first and second device. It's impossible with current implementation to smooth cross over values from different channels of one device.
-
3rd and 4th parameters should be numbers. 3rd parameter should be lesser that 4th. Otherwise you will get -0.000 values as result of cross
-
if difference of values of k2000 and k2700 will be more than difference of start and end of smoothing interval cross will return value of the first device. It's not correct, but it's the best way of representing data if we can not trust one of our sources - we need to chose one source.
##axis Axis field contains comma separated list of axes that should be used to plot device's data. It's possible to use following values:
- none
- xBottom
- yLeft
- yRight
##controls
Controls are the virtual devices that can be controlled in the experiment. controls field contains comma separated list of control definitions. Currently only GpibThermocontrollerDevice is supported.
Control definition must be in the following format: cc34.1.C
where cc34 - device shortname; 1 - control loop name; C - input channel for the control loop
Note: controls field is optional
##controls\name This field contains comma separated list of control names. Name is just a human understandable string that identifies the control
Note: controls\name field is optional
#Device specific options Experiment config can (and should) contain experiment-specific settings for the used devices. Here is example:
k2700(5)\min_value=0
k2700(5)\max_value=1000
k2700(5)\factor=100
k2700(5)\scale_hint=.5
k2700(5)\unit=Torr
k2700(5)\label="Pressure k2700"
This means that k2700 device with channel 5 will have following settings.
##min_value Suggested minimal value for the device. Currently is not used by client but it is stored to file
##max_value Suggested maximum value for the device. Currently is not used by client but it is stored to file
##factor Optional parameter. If specified and not zero or 1 then value from the device will be multiplied by factor before returning result.
##scale_hint It's intended to be used as minimal scale of the plot that makes sense for this parameter. Currently it's not used by the client (but stored in file)
##unit
Used to indicate units of output value. You can use factor for adjusting measured units to output units.
##label Describes parameter that is being measured.