The macro syntax is very much the same as the shell command line.
p99/door/haspp99lab.01 [2]: %eigerCli? Docstring: Syntax: eigerCli <name> <selector> <value> -> eigerCli name --ints write EigerPars_<name> then execute internal trigger run eigerCli name --exts write EigerPars_<name> then execute external trigger run eigerCli name --extssim write EigerPars_<name> then execute simulated external trigger run (using oreg) eigerCli name --list list files in the DCU ( if HiDRA is offline) eigerCli name --delete delete files in the DCU ( if HiDRA is offline) eigerCli name --download download files from the DCU ( if HiDRA is offline) eigerCli name --init sets some Eiger attributes to defaults eigerCli name --display display parameter as stored in EigerPars_<name> (env. dict.) eigerCli name --read read detector attributes eigerCli name --write write parameters from EigerPars_<name> to detector set EigerPars_<name> and write to detector eigerCli name --ct <value> CountTime eigerCli name --et <value> EnergyThreshold eigerCli name --ipf <value> ImagesPerFile eigerCli name --nbi <value> NbImages eigerCli name --nbt <value> NbTriggers eigerCli name --pf <value> Prefix eigerCli name --tm <value> TriggerMode: 'ints' or 'exts' name: p07e2x4m p08e1m p08e2x1m p10e4m p62e2x4m p62e2x9m Parameters: name : (String) Detector name selector : (String) e.g.: --list, --nbt, --nbi value : (String) a value Result: WARNING: do not rely on the file path below File: /usr/lib/python2.7/dist-packages/sardana/spock/spockms.py
The commands mentioned in the previous sections can be executed in the same way, e.g.:
p99/door/haspp99lab.01 [1]: %eigerCli p99e4m --ct 0.1 Eiger.writeAttrs: CountTime to 0.1 Eiger.writeAttrs: TriggerMode to ints Eiger.writeAttrs: NbTriggers to 5 Eiger.writeAttrs: NbImages to 10 Eiger.writeAttrs: ImagesPerFile to 10 Eiger.writeAttrs: FilenamePattern to current/raw/SingleShots/p99e4m/tst_$id Read selected attributed from p99e4m Device haspp99lab:10000/p99/eigerdectris/lab.01 Filewriter haspp99lab:10000/p99/eigerfilewriter/lab.01 CountTime 0.1 NbImages 10 NbTriggers 5 TriggerMode ints State tango._tango.DevState.ON FW FilenamePattern current/raw/SingleShots/p99e4m/tst_$id FW mode enabled FW ImagesPerFile 10 FW State tango._tango.DevState.ON p99/door/haspp99lab.01 [2]: %eigerCli p10e4m --ints runInts: FilenamePattern current/raw/SingleShots/p99e4m/tst_$id runInts: CountTime 0.1 runInts: FrameTime 0.101332 runInts: NbImages 10 runInts: NbTriggers 5 runInts: ImagesPerFile 10 runInts: arm() trigger 0 trigger 1 trigger 2 trigger 3 trigger 4 FW state() ON after 0.107604 s runInts: disarm() runInts: NbImages 1 runInts: NbTriggers 1
The last lines indicate that the detector is always left in a state from where it could be used by a 'ct' command: