mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-08 19:10:42 +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
|
Changes in User Interface
|
||||||
=========================
|
=========================
|
||||||
This release has no changes in user interface from the previous 2.3 version.
|
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:
|
Reiterating, both 2.3 and 3.0 supports the following features:
|
||||||
|
|
||||||
Receiver
|
Receiver
|
||||||
--------
|
--------
|
||||||
- The files will be written in this format in the default mode:
|
1. The files will be written in this format in the binary mode:
|
||||||
* ASCII file header of 1024 bytes (only for EIGER detectors)
|
* ASCII file: header of 1024 bytes (only for EIGER detectors)
|
||||||
* series of images, each preceded by a Standard Header image
|
* binary files: series of images, each preceded by a
|
||||||
(header described below)
|
Standard Image Header (header described below)
|
||||||
|
|
||||||
- Stanard Header image header in file and call back
|
2. Stanard Image Header in file and call back
|
||||||
arguments defined. It is in the following format defined as
|
arguments defined. It is in the following format defined as
|
||||||
sls_detector_header defined in
|
sls_detector_header defined in
|
||||||
slsReceiverSoftware/include/sls_receiver_defs.h
|
slsReceiverSoftware/include/sls_receiver_defs.h
|
||||||
Mostly 0 if not applicatble or implemented, but updated in next release
|
Mostly 0 if not applicatble or implemented, but updated in next release
|
||||||
from firmware.
|
from firmware.
|
||||||
|
|
||||||
* Frame Number : 8 bytes # Image Number
|
* Frame Number : 8 bytes # Image Number
|
||||||
* Exposure Length : 4 bytes # sub frame number in 32 bit mode
|
* Exposure Length : 4 bytes # Sub frame number in 32 bit mode (Eiger)
|
||||||
Eiger.
|
Real time exposre time in 100ns (Others)
|
||||||
* Packet Number : 4 bytes # Number of packets in an image
|
* Packet Number : 4 bytes # Number of packets caught in the image
|
||||||
* Bunch ID : 8 bytes # Bunch Id in beamline for jungfrau.
|
* Bunch ID : 8 bytes # Bunch Id in beamline (Jungfrau)
|
||||||
* Timestamp : 8 bytes # Not implemened
|
* Timestamp : 8 bytes # Not implemened.
|
||||||
* Module Id : 2 bytes # Not implemented
|
Time stamp with 10MHz clock
|
||||||
* X Coordinate : 2 bytes # Id of part of detector in 1D
|
* Module Id : 2 bytes # Not implemented. Unique module ID.
|
||||||
* Y Coordinate : 2 bytes # Not implemented
|
* 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 : 2 bytes # Not implemented
|
||||||
|
Z coordinate in complete detector system
|
||||||
* Debug : 4 bytes # Not implemented
|
* Debug : 4 bytes # Not implemented
|
||||||
|
For debugging purposes
|
||||||
* Round Robin Number : 2 bytes # Not implemented
|
* Round Robin Number : 2 bytes # Not implemented
|
||||||
|
Round Robin Number
|
||||||
* Detector Type : 1 byte # Detector type defined by enum
|
* Detector Type : 1 byte # Detector type defined by enum
|
||||||
detectorType in slsReceiverSoftware
|
detectorType in slsReceiverSoftware
|
||||||
/include/sls_receiver_defs.h
|
/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
|
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:
|
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 file write is enabled from the client, we will write the files.
|
||||||
* If callbacks are registered, they will be called.
|
* If callbacks are registered, they will be called.
|
||||||
For example, the user prefers to write the data himself, one must disable
|
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
|
file write (so we dont write) and register the callbacks (so the user gets
|
||||||
the data).
|
the data).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
New Features
|
New Features
|
||||||
============
|
============
|
||||||
Receiver
|
Package
|
||||||
--------
|
-------
|
||||||
- One can choose the file format using the command "fileformat binary/hdf5" from
|
1. One can compile using cmake or the ./cmk.sh script(also uses cmake)
|
||||||
the client.
|
Run ./cmk.sh -help to get more info. This method does not touch the
|
||||||
|
source files.
|
||||||
- Virtual HDF5 file maps all the files into a single file.
|
|
||||||
|
2. One can compile the normal way using Makefile (editing Makefile.include
|
||||||
- Gotthard, Propix and Moench also save data in the same was as Jungfrau and Eiger
|
for the hdf5 options), but this will modify other gitInfo files.
|
||||||
(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.
|
|
||||||
|
|
||||||
|
|
||||||
General
|
General
|
||||||
-------
|
-------
|
||||||
- UDP Packets from all the detectors will contain the standard sls detector header.
|
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.
|
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
|
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
|
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
|
-h: Builds/Rebuilds Cmake files with HDF5 package
|
||||||
-d: HDF5 Custom Directory
|
-d: HDF5 Custom Directory
|
||||||
-j: Number of threads to compile through
|
-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; }
|
" ; exit 1; }
|
||||||
|
|
||||||
while getopts ":bchd:j:" opt ; do
|
while getopts ":bchd:j:" opt ; do
|
||||||
|
Loading…
x
Reference in New Issue
Block a user