Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Gliffy Diagram
namePilatus Setup
pagePin6

Setup on detector-PC

Get hidra

  • login as user root
  • use frozen HiDRA version 4.0.7
  • download HiDRA from http://nims.desy.de/extra/hidra/freeze/linux/

  • unpack HiDRA into /opt

    Code Block
    tar -xzvf hidra-v4.0.7-x86_64-2.7-suse10.2.tar.gz -C /opt


  • For version 4.x and newer there is an option in the config file to handle monitored sub-directory creation inside the source directory:

    Code Block
    languagebash
    eventdetector:
        inotify_events:
            create_fix_subdirs: = True

    For hidra versions 3.x and older:

    Create source directory where the data is written to

    Code Block
    languagebash
    mkdir /ramdisk/local
    mkdir -p /ramdisk/current/raw
    mkdir -p /ramdisk/current/scratch_bl
    mkdir -p /ramdisk/commissioning/raw
    mkdir -p /ramdisk/commissioning/scratch_bl


  • Create log directory

    Code Block
    mkdir -m 777 /var/log/hidra


Configure

  • the configuration file can be found  in <unpacked_dir>/hidra/conf (e.g. when done as described above: /opt/hidra/conf)
  • adjust hidra config file, e.g for beamline p00

    Code Block
    titleconf/datamanager_p00.conf
    general:
        log_path: = /var/log/hidra
        log_name: = datamanager_p00.log
        procname: = hidra_p00
    
    eventdetector:
        inotify_events:
            monitored_dir: = /ramdisk
            fixed_subdirs: = ["commissioning/raw", "commissioning/scratch_bl", 
                            "current/raw", "current/scratch_bl",
                            "local"]
    
    datafetcher:
        use_data_stream: = True
        data_stream_targets: = [["asap3-p00", 50100]]
        remove_data: = True

    You may think on changing permissions of datamanager_p00.conf to read-only
    Alternatively (for version > 4.0:

    Code Block
        remove_data: = stop_on_error

    or

    Code Block
        remove_data: = with_confirmation


Run

  • login as user det

  • run sender

    Code Block
    /opt/hidra/hidra.sh start --beamline <beamline>

    what the script does is following:

    • export library path
    • creating log-dir (/var/log/hidra) + change permissions of log-dir to 1777
    • starts hidra daemon


Setup on receiver-PC

Get hidra

from git

  • clone git repo into /opt 

    Code Block
    /opt/hidra


  • Create log directory + change permissions

    Code Block
    languagebash
    mkdir /var/log/hidra
    chmod 1777 /var/log/hidra


from repo

  • on all Debian beamline PCs hidra can be installed via apt

    Code Block
    apt install hidra-receiver


Configure

  • adjust hidra config file, e.g. for beamline p00

    Code Block
    titleconf/datareceiver_p00.conf
    general:
        log_path: = /var/log/hidra
        log_name: = datareceiver_p00.log
        username: = p00user
        procname: = hidra_receiver_p00
        whitelist: = a3p00-hosts
    
    datareceiver:
        target_dir: = /beamline/p00
        data_stream_ip: = asap3-p00

    TODO: set target_dir to /beamline/pxx

Run

  • run receiver

    Code Block
    systemctl start hidra-receiver@p00