Files
slsDetectorPackage/RELEASE.md
T
maliakal_dandGitHub c3ad3d2e73
Build and Deploy on local RHEL9 / build (push) Successful in 2m13s
Build on RHEL9 docker image / build (push) Successful in 3m53s
Build and Deploy on local RHEL8 / build (push) Successful in 4m58s
Build on RHEL8 docker image / build (push) Successful in 5m47s
Run Simulator Tests on local RHEL9 / build (push) Successful in 18m55s
Run Simulator Tests on local RHEL8 / build (push) Successful in 22m26s
Dev/rx disable datastream port (#1448)
- changed 
   - command from `datastream` to `udp_datastream` to be more specific
   - Detector API:
      - setNumberofUDPInterfaces(pos) =>setNumberofUDPInterfaces() # no position anymore
      - getDataStream(portPosition, pos) =>getUDPDataStream(portPosition, pos)
      - setDataStream(portPosition, pos) => setUDPDataStream(portPosition) # no position anymore
      
   - modified the dataprocessing thread: 
      - if gui or call back, start zmq processing (connecting sockets) before starting receiver (disabled ports sends dummy that the client zmq sockets are not ready for)
      - if only progress, starting progress processing thread after startReceiver
      -


- added
   - Detector API:
      - getRxDisabledUDPPortIndices()
      - getPortPositionList()  
   - allow disabling/enabling udp interface in receiver for Jungfrua/Moench when both udp interfaces is enabled  (This is to go fast, where only one half of the module matters)
   - write ports type and disabled ports to master file (tests for it as well)
   - tests for python commands as well
   - datastream command to deprecated commands
   - refactored tests to make the new parameters fit

* first draft of disabling data port at the receiver side. Todo: master file and stream for gui to use

* updated help in command

* formatting

* md5 unchanged

* fix test, check port position for detector type

* wip, udp port enable metadata in client, to:receiver, zmq streaming

* wip, master attributes

* wip, imple=> save only disabled ports with port index, 1 interface, is empty

* works in file. still needs refactoring

* updated writer versions

* udp ports type pass, disabled with api yet

* fixed disabled ports meta data as well

* fixed in developer via other PR

* renamed.more intuitive

* fix in gui that wont wait for disabled ports

* added tests for master file

* extra tests

* move the master fiel tests into its own tests with the disable marker for github tests

* refactoring

* python test

* more intuitive and doc

* release notes

* example for python

* back to before

* minor documentation fix and sending nports unnecessarily for getRxUDPPortDisableMetadata

* doc

* review fixes, 1. using std::array instead of vector, 2. moving udp_datastream command testing with different values into master attributes testing file because we test the master file

* minor

* review: update help

* progress printed before assigned

* try catch inside hdf5

* auto generated code for CLI and formatting

* missing packets should not be checked at github workflow level

* formatting

* improved python doc for udp_datastream help

* indent doc python done
2026-07-13 14:58:25 +02:00

8.4 KiB

SLS Detector Package {{RELEASE_TYPE}} Release {{VERSION}} released on {{DATE}}

This document describes the differences between v{{VERSION}} and v{{PREVIOUS_VERSION}}

CONTENTS
--------
1           New, Changed or Resolved Features
    1.1     Compilation
    1.2     Callback
    1.3     Python
    1.4     Client
    1.5     Detector Server
    1.6     Simulator
    1.7     Receiver
    1.8     Gui
2           On-board Detector Server Compatibility
3           Firmware Requirements
4           Kernel Requirements
5           Download, Documentation & Support

1 New, Changed or Resolved Features

Building shared libraries is disabled by default. If you need to link against any of the libSls*.so libraries, you can enable this by passing -DSLS_BUILD_SHARED_LIBRARIES=ON to CMake.

Added SLS_USE_SYSTEM_ZMQ option (default OFF) to use the libzmq of the host instead of the one included in our repo.

Experimental support for building the detector client (including python bindings) on macOS

rx_dbitlist keeps the order of the passed bit list

Detector.pattern (python) accepts also a pattern object, not only a pattern file

added patternstart to python (ctb, xilinx_ctb , mythen3), only the detector class api was exposed (startPattern())

can build virtual servers on mac OS

documentation for all branches and developer now online and build and pushed automatically

gui: mouse zooms not reset at start of acquisition

m3: fixed patwaittime in intervals, which is hardly used. patwaittime in clocks stays the same and working.

m3: getPatternFileName typo fixed

libfmt added to dependency

python dacs=> using deprecated np.int. dacs return float (default dtype of numpy) => changed to np.int32 (meant for v10.0.1)

support for building rpms

removed unused function readDataFile/writeDataFile from file_utils.h

changed api: datastream=>udp_datastream, set/getDatastream=>set/getUDPDatastream also implemetned for jungfrau, moench at receiver side (top/bottom)

added rx_streamdummyheader to send the zmq dummy header any time. Allows pre-configuring zmq processing before acq begins.

allow disabling one UDP interface in the receiver.

setting number of UDP interfaces can only be set at detector level and not at module level. (individual modules)

2 On-board Detector Server Compatibility

Eiger       10.0.0
Jungfrau    10.0.0
Mythen3     10.0.0
Gotthard2   10.0.0
Moench      10.0.0


On-board Detector Server Upgrade
--------------------------------

From v6.1.0 (without tftp):
    update only on-board detector server
        Using command 'updatedetectorserver'


    udpate both on-board detector server and firmware simultaneously
        Using command 'update'

Instructions available at
    https://slsdetectorgroup.github.io/slsDetectorPackage/{{VERSION}}/serverupgrade.html

3 Firmware Requirements

Eiger       02.10.2023 (v32)                    (updated in 7.0.3)

Jungfrau    09.02.2025 (v1.6, HW v1.0)          (updated in 9.1.0)
            08.02.2025 (v2.6, HW v2.0)          (updated in 9.1.0)

Mythen3     13.11.2024 (v2.0)                   (updated in 9.0.0)

Gotthard2   03.10.2024 (v1.0)                   (updated in 9.0.0)

Moench      26.10.2023 (v2.0)                   (updated in 8.0.2)


Detector Upgrade
----------------

The following can be upgraded remotely:

Eiger      via bit files
Jungfrau   via command <.pof>
Mythen3    via command <.rbf>
Gotthard2  via command <.rbf>
Moench     via command <.pof>

Except Eiger, 
    upgrade 
        Using command 'programfpga' or

    udpate both on-board detector server and firmware simultaneously
        Using command 'update'


Instructions available at
    https://slsdetectorgroup.github.io/slsDetectorPackage/{{VERSION}}/firmware.html

4 Kernel Requirements

Blackfin 
--------
Latest version: Fri Oct 29 00:00:00 2021

Older ones will work, but might have issues with programming firmware via
the package.


Nios
-----
Compatible version: Mon May 10 18:00:21 CEST 2021


Kernel Upgrade
---------------
Eiger   via bit files
Others  via command

Commands: udpatekernel, kernelversion
Instructions available at
    https://slsdetectorgroup.github.io/slsDetectorPackage/{{VERSION}}/commandline.html
    https://slsdetectorgroup.github.io/slsDetectorPackage/{{VERSION}}/detector.html
    https://slsdetectorgroup.github.io/slsDetectorPackage/{{VERSION}}/pydetector.html

5 Download, Documentation & Support

Download
--------

The Source Code:
     https://github.com/slsdetectorgroup/slsDetectorPackage
        
Documentation
-------------

Installation:
    https://slsdetectorgroup.github.io/slsDetectorPackage/{{VERSION}}/installation.html

Quick Start Guide:
    https://slsdetectorgroup.github.io//{{VERSION}}/quick_start_guide.html

Firmware Upgrade:
    https://slsdetectorgroup.github.io/slsDetectorPackage/{{VERSION}}/firmware.html

Detector Server upgrade:
    https://slsdetectorgroup.github.io/slsDetectorPackage/{{VERSION}}/serverupgrade.html

Detector Simulators:
    https://slsdetectorgroup.github.io/slsDetectorPackage/{{VERSION}}/virtualserver.html

Consuming slsDetectorPackage:
    https://slsdetectorgroup.github.io/slsDetectorPackage/{{VERSION}}/consuming.html
    
Software Architecture
    https://slsdetectorgroup.github.io/slsDetectorPackage/{{VERSION}}/softwarearchitecture.html

Set up commands in config file
    https://slsdetectorgroup.github.io/slsDetectorPackage/{{VERSION}}/configcommands.html
    
Image Size and Output Characteristics
    https://slsdetectorgroup.github.io/slsDetectorPackage/{{VERSION}}/dataformat.html

API Examples:
    https://github.com/slsdetectorgroup/api-examples

Command Line Documentation:
    https://slsdetectorgroup.github.io/slsDetectorPackage/{{VERSION}}/commandline.html

C++ API Documentation:
    https://slsdetectorgroup.github.io/slsDetectorPackage/{{VERSION}}/detector.html
   
C++ API Example:
    https://slsdetectorgroup.github.io/slsDetectorPackage/{{VERSION}}/examples.html#
    
Python API Documentation:
    https://slsdetectorgroup.github.io/slsDetectorPackage/{{VERSION}}/pygettingstarted.html

Python API Example:
    https://slsdetectorgroup.github.io/slsDetectorPackage/{{VERSION}}/pyexamples.html

Receivers (including custom receiver):
    https://slsdetectorgroup.github.io/slsDetectorPackage/{{VERSION}}/receivers.html
    https://slsdetectorgroup.github.io/slsDetectorPackage/{{VERSION}}/slsreceiver.html

Detector UDP Header:
    https://slsdetectorgroup.github.io/slsDetectorPackage/{{VERSION}}/udpheader.html
    https://slsdetectorgroup.github.io/slsDetectorPackage/{{VERSION}}/udpdetspec.html

Output Data:
    https://slsdetectorgroup.github.io/slsDetectorPackage/{{VERSION}}/dataformat.html
    https://slsdetectorgroup.github.io/slsDetectorPackage/{{VERSION}}/fileformat.html
    https://slsdetectorgroup.github.io/slsDetectorPackage/{{VERSION}}/slsreceiverheaderformat.html
    https://slsdetectorgroup.github.io/slsDetectorPackage/{{VERSION}}/masterfileattributes.html
    https://slsdetectorgroup.github.io/slsDetectorPackage/{{VERSION}}/binaryfileformat.html
    https://slsdetectorgroup.github.io/slsDetectorPackage/{{VERSION}}/hdf5fileformat.html

slsReceiver Zmq Format:
    https://slsdetectorgroup.github.io/slsDetectorPackage/{{VERSION}}/slsreceiver.html#zmq-json-header-format

TroubleShooting:
    https://slsdetectorgroup.github.io/slsDetectorPackage/{{VERSION}}/troubleshooting.html
    https://slsdetectorgroup.github.io/slsDetectorPackage/{{VERSION}}/troubleshooting.html#receiver-pc-tuning-options
    
Further Documentation:
    https://www.psi.ch/en/detectors/documentation
    
Info on Releases:
    https://slsdetectorgroup.github.io/slsDetectorPackage/index.html


Support
-------

    dhanya.thattil@psi.ch
    erik.frojdh@psi.ch
    alice.mazzoleni@psi.ch