Move Instrument settings to new page
@@ -135,7 +135,7 @@ Each of these settings files is described in a section below.
|
||||
 [Epics](#epics)
|
||||
|
||||
**instrumentConfigFileName**::<BR>
|
||||
 [Instrument](#instrument)
|
||||
 [Instrument](Config_Instrument)
|
||||
|
||||
**log4cppPropertiesFileName**::<BR>
|
||||
 [Log4cpp Properties](#log4cpp-properties)
|
||||
@@ -192,63 +192,6 @@ See source: trunk/PixelatorController/config/epics.json for an example.
|
||||
 **Default**: 1.0
|
||||
|
||||
|
||||
## Instrument
|
||||
This file defines the content of the NXinstrument group of the scan file (hdf5).
|
||||
It is a json object with as many entries as needed. One group is made inside the NXinstrument group per entry of this settings file, with the key used as group name.
|
||||
|
||||
See source:trunk/PixelatorController/config/instrument.json for an example.
|
||||
|
||||
### NeXus class
|
||||
Every top level entry may have a "class" member that is used as the NeXus class of the group.
|
||||
Without the "class" member, the NeXus class of the group is built using the groups name: "NX" + lower(name)
|
||||
|
||||
Values can be
|
||||
* strings
|
||||
* numbers
|
||||
* [positioner values](#positioner-values)
|
||||
* arrays of numbers or [positioner values](#positioner-values)
|
||||
* [value with unit](#value-with-unit)
|
||||
* objects:
|
||||
* a nested NeXus group is created
|
||||
* these nested objects must have a "class" member
|
||||
|
||||
### Conditional Writing
|
||||
A group may be written conditionally. When a settings object has a "condition" member, its value defines a condition
|
||||
that must be met in order to write the entire group. The value of the condition has the form:<BR>
|
||||
`{"operator" : [values]}`
|
||||
|
||||
values can be
|
||||
* strings
|
||||
* numbers
|
||||
* [positioner values](#positioner-values)
|
||||
* [epics channel values](#epics-channel-values )
|
||||
|
||||
Only one operator is implemented so far:<BR>
|
||||
`{"==" : [value1, value2]}`
|
||||
|
||||
### Positioner Values
|
||||
To write the (numeric) value of a positioner to the NXinstrument section or to use it in a [condition](#conditional-writing),
|
||||
a value can be a json object with the following members:
|
||||
* positioner: Name of a [Positioner](#positioner)
|
||||
* factor (optional): float value. The positioners value is multiplied with this factor.
|
||||
* offset (optional): float value. The positioners value is added to this offset.
|
||||
|
||||
### Epics Channel Values
|
||||
To use the (string) value of an epics channel in a [condition](#conditional-writing),
|
||||
a value can be a json object with the following member:
|
||||
* epicsChannel: Address of an EPICS channel
|
||||
|
||||
### Value with Unit
|
||||
As all numeric values should be written with a unit,
|
||||
a value can be a json object with value and unit:<BR>
|
||||
`{"value" : value, "unit" : unit}`
|
||||
|
||||
value can be
|
||||
* numbers
|
||||
* arrays of numbers
|
||||
|
||||
unit must be a string
|
||||
|
||||
## Log4cpp Properties
|
||||
Configuration of logging utility. Example:
|
||||
```properties
|
||||
@@ -261,5 +204,4 @@ log4cpp.category.ch_semafor_stxm.test=INFO
|
||||
## Microscope Control
|
||||
This file contains a JSON structure that provides named positions and is passed to the GUI that can be used to configure buttons that move positioners to predefined positions (e.g. "OSA out").
|
||||
|
||||
🔴Where is the code that handles this? Maybe there is more flexibility?
|
||||
|
||||
🔴Where is the code that handles this? Maybe there is more flexibility?
|
||||
Reference in New Issue
Block a user