mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-07 10:30:41 +02:00
updated release.txt and the cmk.sh help script
This commit is contained in:
parent
5c6a99afca
commit
ccc60dacf4
152
RELEASE.txt
152
RELEASE.txt
@ -31,84 +31,154 @@ CONTENTS
|
||||
Changes in User Interface
|
||||
=========================
|
||||
This release has no changes in user interface from the previous 2.3 version.
|
||||
However, receiver data call backs have been redefined for the
|
||||
standard image header.
|
||||
|
||||
Reiterating, both 2.3 and 3.0 supports the following features:
|
||||
|
||||
Receiver
|
||||
--------
|
||||
- The files will be written in this format in the default mode:
|
||||
* ASCII file header of 1024 bytes (only for EIGER detectors)
|
||||
* series of images, each preceded by a Standard Header image
|
||||
(header described below)
|
||||
1. The files will be written in this format in the binary mode:
|
||||
* ASCII file: header of 1024 bytes (only for EIGER detectors)
|
||||
* binary files: series of images, each preceded by a
|
||||
Standard Image Header (header described below)
|
||||
|
||||
- Stanard Header image header in file and call back
|
||||
arguments defined. It is in the following format defined as
|
||||
sls_detector_header defined in
|
||||
slsReceiverSoftware/include/sls_receiver_defs.h
|
||||
Mostly 0 if not applicatble or implemented, but updated in next release
|
||||
from firmware.
|
||||
2. Stanard Image Header in file and call back
|
||||
arguments defined. It is in the following format defined as
|
||||
sls_detector_header defined in
|
||||
slsReceiverSoftware/include/sls_receiver_defs.h
|
||||
Mostly 0 if not applicatble or implemented, but updated in next release
|
||||
from firmware.
|
||||
|
||||
* Frame Number : 8 bytes # Image Number
|
||||
* Exposure Length : 4 bytes # sub frame number in 32 bit mode
|
||||
Eiger.
|
||||
* Packet Number : 4 bytes # Number of packets in an image
|
||||
* Bunch ID : 8 bytes # Bunch Id in beamline for jungfrau.
|
||||
* Timestamp : 8 bytes # Not implemened
|
||||
* Module Id : 2 bytes # Not implemented
|
||||
* X Coordinate : 2 bytes # Id of part of detector in 1D
|
||||
* Y Coordinate : 2 bytes # Not implemented
|
||||
* Exposure Length : 4 bytes # Sub frame number in 32 bit mode (Eiger)
|
||||
Real time exposre time in 100ns (Others)
|
||||
* Packet Number : 4 bytes # Number of packets caught in the image
|
||||
* Bunch ID : 8 bytes # Bunch Id in beamline (Jungfrau)
|
||||
* Timestamp : 8 bytes # Not implemened.
|
||||
Time stamp with 10MHz clock
|
||||
* Module Id : 2 bytes # Not implemented. Unique module ID.
|
||||
* X Coordinate : 2 bytes # Currently as Id of part of detector in 1D
|
||||
(Future Releases) as X coordinate
|
||||
in complete detector system
|
||||
* Y Coordinate : 2 bytes # Not implemented
|
||||
Y coordinate in complete detector system
|
||||
* Z Coordinate : 2 bytes # Not implemented
|
||||
Z coordinate in complete detector system
|
||||
* Debug : 4 bytes # Not implemented
|
||||
For debugging purposes
|
||||
* Round Robin Number : 2 bytes # Not implemented
|
||||
Round Robin Number
|
||||
* Detector Type : 1 byte # Detector type defined by enum
|
||||
detectorType in slsReceiverSoftware
|
||||
/include/sls_receiver_defs.h
|
||||
* Header Version : 1 byte # 1
|
||||
* Header Version : 1 byte # 1.0 currently
|
||||
|
||||
- The call back value for Start Acquisition Call back is insignificant at the
|
||||
moment and left for future use. Instead, the following rules apply:
|
||||
3. The call back value for Start Acquisition Call back is insignificant at the
|
||||
moment and left for future use. Instead, the following rules apply:
|
||||
* If file write is enabled from the client, we will write the files.
|
||||
* If callbacks are registered, they will be called.
|
||||
For example, the user prefers to write the data himself, one must disable
|
||||
file write (so we dont write) and register the callbacks (so the user gets
|
||||
the data).
|
||||
For example, the user prefers to write the data himself, one must disable
|
||||
file write (so we dont write) and register the callbacks (so the user gets
|
||||
the data).
|
||||
|
||||
|
||||
|
||||
New Features
|
||||
============
|
||||
Receiver
|
||||
--------
|
||||
- One can choose the file format using the command "fileformat binary/hdf5" from
|
||||
the client.
|
||||
|
||||
- Virtual HDF5 file maps all the files into a single file.
|
||||
|
||||
- Gotthard, Propix and Moench also save data in the same was as Jungfrau and Eiger
|
||||
(ie. without any packet headers, only image header followed by image data)
|
||||
|
||||
|
||||
Eiger
|
||||
-----
|
||||
- The ascii part of the file (file header with acquisition parameters) moved to
|
||||
a separate file called the master file. So one master file per acquisition.
|
||||
Package
|
||||
-------
|
||||
1. One can compile using cmake or the ./cmk.sh script(also uses cmake)
|
||||
Run ./cmk.sh -help to get more info. This method does not touch the
|
||||
source files.
|
||||
|
||||
2. One can compile the normal way using Makefile (editing Makefile.include
|
||||
for the hdf5 options), but this will modify other gitInfo files.
|
||||
|
||||
|
||||
General
|
||||
-------
|
||||
- UDP Packets from all the detectors will contain the standard sls detector header.
|
||||
X, Y and Z Coordinates define the position of the detector in 3d.
|
||||
3. UDP Packets from all the detectors will contain the standard sls detector header.
|
||||
X, Y and Z Coordinates define the position of the detector in 3d.
|
||||
|
||||
|
||||
Receiver
|
||||
--------
|
||||
4. One can choose the file format using the command "fileformat binary/hdf5" from
|
||||
the client, but one must compile with the options as defined in README.md
|
||||
|
||||
5. Virtual HDF5 file maps all the files into a single file.
|
||||
|
||||
6. Gotthard, Propix and Moench also save data in the same way as Jungfrau and Eiger,
|
||||
as described above (ie. without any packet headers, only standard image headers
|
||||
for each image data)
|
||||
|
||||
7. (Eiger) The ascii part of the file (file header with acquisition parameters) moved to
|
||||
a separate file called the master file. So one master file per acquisition.
|
||||
|
||||
|
||||
Client
|
||||
------
|
||||
8. (Eiger) Can now set Threshold without uploading Trimbits.
|
||||
|
||||
|
||||
Gui
|
||||
---
|
||||
9. Set the data streaming port (individually/ a single one that calculates for the other
|
||||
receiver streamer threads) via the command line
|
||||
|
||||
|
||||
Users
|
||||
-----
|
||||
10. Users example forks new child processes for every extra receiver object.
|
||||
|
||||
|
||||
|
||||
Resolved Issues
|
||||
===============
|
||||
Client
|
||||
------
|
||||
1. Memory Leak fixed when setting receiver parameters such as udp port or detector
|
||||
network parameter. The signature in slsDetector.cpp and corresponding files have
|
||||
changed, but does not change the slsDetectorUser API.
|
||||
|
||||
2. Bug Fix: Has been made more threadsafe (strtok). Removed bug of configuring MAC
|
||||
correctly even in multiple thread mode.
|
||||
|
||||
3. Bug Fix: Client crashing when rx_hostname is IP instead of a hostname has been fixed.
|
||||
|
||||
|
||||
Server
|
||||
------
|
||||
4. (Eiger/Jungfrau) Bug Fix: Client crashing should not crash the server as SIGPIPE
|
||||
signal is caught.
|
||||
|
||||
5. (Eiger) Buf Fix: Front End Temperature read out conversion fixed.
|
||||
|
||||
|
||||
Receiver
|
||||
--------
|
||||
6. Bug Fix: Ctrl+C kills the receiver properly calling the appropriate destructors.
|
||||
|
||||
7. Acquire & Unblocking acquire (receiver start, status start, receiver stop) can work
|
||||
also when switching from gui to command line and vice versa.
|
||||
|
||||
|
||||
|
||||
|
||||
Known Issues
|
||||
============
|
||||
Server
|
||||
------
|
||||
1. (Eiger) The hardware mac of the detector is used (not relayed back to the client).
|
||||
For 1 GbE, the hardware IP of the detector is used (also not relayed back to the
|
||||
client).
|
||||
|
||||
2. Standard header fills x-coord in 1D. y-coord and z-coord is not implemented (3D).
|
||||
|
||||
|
||||
3. HDF5 compression and filters are not implemented yet.
|
||||
|
||||
|
||||
|
||||
|
||||
|
23
cmk.sh
23
cmk.sh
@ -17,6 +17,29 @@ Usage: $0 [-c] [-b] [-h] [-d <HDF5 directory>] [-j]
|
||||
-h: Builds/Rebuilds Cmake files with HDF5 package
|
||||
-d: HDF5 Custom Directory
|
||||
-j: Number of threads to compile through
|
||||
|
||||
For only make:
|
||||
./cmk.sh
|
||||
|
||||
For make clean;make:
|
||||
./cmk.sh -c
|
||||
|
||||
For using hdf5 without default dir /opt/hdf5v1.10.0:
|
||||
./cmk.sh -h
|
||||
|
||||
For using hdf5 without custom dir /blabla:
|
||||
./cmk.sh -h -d /blabla
|
||||
|
||||
For rebuilding cmake without hdf5 (Use this if you had previously run with hdf5 and now you dont want it)
|
||||
./cmk.sh -b
|
||||
|
||||
For using multiple cores to compile faster:
|
||||
(all these options work)
|
||||
./cmk.sh -j9
|
||||
./cmk.sh -cj9 #with clean
|
||||
./cmk.sh -hj9 #with hdf5
|
||||
./cmk.sh -j9 -h #with hdf
|
||||
|
||||
" ; exit 1; }
|
||||
|
||||
while getopts ":bchd:j:" opt ; do
|
||||
|
Loading…
x
Reference in New Issue
Block a user