Files
slsDetectorPackage/docs/src/servers.rst
T
maliakal_d 72056ff813
Build on RHEL9 / build (push) Failing after 4m6s
Build on RHEL8 / build (push) Failing after 5m13s
Dev/doc architecture commands (#1272)
* wip for sw architecture

* wip:intro

* wip client wip

* documentation on architecutre is done. commands left

* wip. clientto module done

* almost done

* about 2nd port

* done

* review changes

* review fixes

* minor
2025-08-21 11:41:54 +02:00

2.9 KiB

Getting Started

Detector Servers include:
  • Control server [default port: 1952]
    • Almost all client communication.
  • Stop server [default port: 1953]
    • Client requests for detector status, stop acquisition, temperature, advanced read/write registers.

When using a blocking acquire command (sls_detector_acquire or Detector::acquire), the control server is blocked until end of acquisition. However, stop server commands could be used in parallel.

Location

slsDetectorPackage/serverBin/ folder in every release.

Arguments

Possible arguments are:
   -v, --version            : Software version
   -p, --port <port>        : TCP communication port with client. 
   -g, --nomodule           : [Mythen3][Gotthard2] 
                              Generic or No Module mode. Skips detector type checks. 
   -d, --devel              : Developer mode. Skips firmware checks. 
   -u, --update             : Update mode. Skips firmware checks and initial detector setup. 
   -i, --ignore-config      : [Eiger][Jungfrau][Gotthard2][Moench] 
                              Ignore config file. 
   -m, --master <master>    : [Eiger][Mythen3][Gotthard2] 
                              Set Master to 0 or 1. Precedence over config file. Only for virtual servers except Eiger. 
   -t, --top <top>          : [Eiger] Set Top to 0 or 1. Precedence over config file. 
   -s, --stopserver         : Stop server. Do not use as it is created by control server 

Automatic start

One can start the on-board detector server automatically upon powering on the board.

  1. Create a soft link to the binary on board:
    ln -sf someDetectorServervx.x.x someDetectorServer
  2. Do the following depending on the detector type :
    Eiger
    # create script in rc5.d on the board
    vi /etc/rc5.d/S50board_com.sh
    
    # enter the following (edit server name)
    #! /bin/sh
    /home/root/executables/eigerDetectorServer &> /dev/null &
    exit 0
    Jungfrau | Moench | CTB
    # Edit inittab on board
    vi /etc/inittab
    
    # enter the following line
    ttyS0::respawn:/./xxxDetectorServer
    Gotthard II | Mythen III
    # create script in init.d on board
    vi /etc/init.d/S99detServer.sh
    
    # enter the following (edit server name)
    #! /bin/sh
    cd /root >> /dev/null
    /root/xxxDetectorServer >> /dev/null &
  3. Sync, reboot and verify:
    sync
    
    # physically reboot for Gotthard II or Mythen III
    reboot
    
    # verify
    ps -ef | grep xxxDetectorServer