The macro interface

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: