diff --git a/.gitignore b/.gitignore
index 28cdacd3c..4ef28dd50 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,3 +8,4 @@ bin/
*.toc
build
docs/
+RELEASE.txt
diff --git a/README.md b/README.md
index 4e866a4aa..c73101c0b 100644
--- a/README.md
+++ b/README.md
@@ -1,44 +1,80 @@
# slsDetector package
+The SLS Detectors Package is intended to control the detectors developed by the SLS Detectors Group.
+The detectors currently supported are namely MYTHEN, GOTTHARD, EIGER, JUNGFRAU and MOENCH.
## Installation
-### Get source
-The source code is organised into several submodules, and the top level module is
-sls_detectors_package.
+### Get binaries
+Documentation to obtain the binaries via the conda package is available [here.](https://github.com/slsdetectorgroup/sls_detector_software)
-```
- $ git clone git@git.psi.ch:sls_detectors_software/sls_detectors_package.git
- $ cd sls_detectors_package
- $ ./checkout.sh
-```
+### Get source code
+One can also obtain the source code from this repository and compile as follows.
-### Setup dependencies
-The GUI client requires Qt 4.8 and Qwt 6.0
+### Setup dependencies
+* Gui Client
+Requirements: Qt 4.8 and Qwt 6.0
```
export QTDIR=/usr/local/Trolltech/
export QWTDIR=/usr/local/qwt-6.0.1/
```
If either of them does not exist, the GUI client will not be built.
-The calibration wizards require ROOT
+* Calibration wizards
+Requirements: ROOT
```
export ROOTSYS=/usr/local/root-5.34
```
-### Compile
-Use cmake to create out-of-source builds, by creating an build folder parallel to source directory.
+### Compile using script cmk.sh
+Usage: [-c] [-b] [-h] [-d HDF5 directory] [-j]
+ * -[no option]: only make
+ * -c: Clean
+ * -b: Builds/Rebuilds CMake files normal mode
+ * -h: Builds/Rebuilds Cmake files with HDF5 package
+ * -d: HDF5 Custom Directory
+ * -t: Build/Rebuilds only text client
+ * -r: Build/Rebuilds only receiver
+ * -g: Build/Rebuilds only gui
+ * -j: Number of threads to compile through
+
+For only make:
+./cmk.sh
+
+For make clean;make:
+./cmk.sh -c
+
+For using hdf5 without custom dir /blabla:
+./cmk.sh -h -d /blabla
+
+For rebuilding cmake without hdf5
+./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
+
+For rebuilding only certain sections
+./cmk.sh -tg #only text client and gui
+./cmk.sh -r #only receiver
+
+
+### Compile without script
+Use cmake to create out-of-source builds, by creating a build folder parallel to source directory.
```
$ cd ..
- $ mkdir sls_detectors_package-build
- $ cd sls_detectors_package-build
- $ cmake ../sls_detectors_package
+ $ mkdir slsDetectorPackage-build
+ $ cd slsDetectorPackage-build
+ $ cmake ../slsDetectorPackage -DUSE_TEXTCLIENT=ON -DUSE_RECEIVER=ON -DUSE_GUI=OFF -DCMAKE_BUILD_TYPE=Debug -DUSE_HDF5=OFF
$ make
```
Use the following as an example to compile statically and using specific hdf5 folder
```
- $ HDF5_ROOT=/opt/hdf5v1.10.0 cmake -DHDF5_USE_STATIC_LIBRARIES=TRUE ../slsDetectorsPackage
+ $ HDF5_ROOT=/opt/hdf5v1.10.0 cmake ../slsDetectorPackage -DUSE_TEXTCLIENT=ON -DUSE_RECEIVER=ON -DUSE_GUI=OFF -DCMAKE_BUILD_TYPE=Debug -DUSE_HDF5=ON
```
The libraries and executables will be found at `bin` directory
```
diff --git a/RELEASE.txt b/RELEASE.txt
index dc6ea1404..aa8246486 100644
--- a/RELEASE.txt
+++ b/RELEASE.txt
@@ -1,12 +1,11 @@
-
-SLS Detector Package 3.1.0 released on 2017-10-02
+SLS Detector Package 3.0.1 released on 2017-09-27
=================================================
INTRODUCTION
-This document describes the differences between 3.1.0 and 3.0.1 release.
+This document describes the differences between 3.0.0 and 3.0.1 release.
Manual (both HTML and pdf versions) are provided in
manual/docs/
@@ -43,43 +42,116 @@ CONTENTS
Changes in User Interface
-=========================
+=========================
- Client
- ------
- 1. User Detector API for call back has been changed. Instead of providing double* data,
- it will now provided in char* with the bit width. One can decode the char* to get an
- array with data type of their own choosing.
-
Receiver
- --------
- 2. (Eiger) Gap Pixels are included in the data provided. It can be enabled/disabled using
- 'gappixels' from the command line.
-
+ --------
+ 1. Bug Fix: Example receiver users code now handles child process exit
+ better. Example receiver code in slsDetectorsPackage/manual/manual-api
+ folder (mainReceiver.cpp).
+
+ 2. detReceiver is now executed with [start tcp port] [number of receivers]
+ as arguments. By default, start tcp port is 1954 and number of receivers
+ is 1.
+
+ User
+ ----
+
+ 3. Added a few advanced user functions in slsDetectorUser class.
+
+
New Features
============
+ Detector Server
+ ---------------
+ 1. (Eiger): Virtual class to execute on pc for integration.
+
+
+ Client
+ ------
+
+ 2. Parallelized more commands to detector. Beneficial for large multi detector systems.
+
+ 3. One can set "threaded" to 0 in the config file and acquire from command line. It will
+ not give you progress, but might be faster for large multi detector systems.
+
+
+ Receiver
+ --------
+
+ 4. Added silent mode to receiver using command r_silent [i] from client.
+ It might be beneficial for max frame rate applications.
+
+
+Resolved Issues
+===============
+
Gui
---
- 1. (Jungfrau) Now features gain plot. Enabled or disabled on the fly using the check button
- in the tab plot under 2D options.
-
-
-Resolved Issues
-===============
-
-
-
-Resolved Issues
-===============
+
+ 1. Bug fix:(Eiger) In expert mode and in advanced tab, when trimbits
+ loaded are different for every pixel, the gui complains and sets
+ all trimbits to zero. This has been resolved. Now, the "Set All
+ Trimbits" field is just set to -1.
+
+ 2. Minor alignment issue in Advanced Tab fixed.
+
+ Client
+ ------
+
+ 3. Made it easier to disable the standard receiver and fixing bugs related to the use of a
+ custom one.
+
+ Detector Server
+ ---------------
+
+ 4. (Eiger): Status will return error if there was the unlikely trouble reading status
+ register in the front end board. Earlier, it would only return idle.
+
+ Receiver
+ --------
+
+ 5. Bug fix: x, y and z coordinates in the call backs and the files
+ are still not corrected in the detector udp header and must be
+ hardcoded for this release. It is done now.
+
+ 6. File class in receiver should be created only if file write is
+ enabled. This has been corrected to that.
Known Issues
============
+ Client
+ ------
+
+ 1. Changing file name prefix at the single detector level will not concatenate scan or
+ position variables to the file name prefix. This is now done only at the multi
+ detector level.
+
+
+ Detector Server
+ ---------------
+
+ 2. (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).
+
+ 3. Standard header fills x-coord in 1D. y-coord and z-coord is not implemented (3D).
+
+
+ Receiver
+ --------
+
+ 4. HDF5 compression and filters are not implemented yet.
+
+
+
+
diff --git a/checkout.sh b/checkout.sh
deleted file mode 100755
index 01a3f21f4..000000000
--- a/checkout.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#git clone $1@git.psi.ch:sls_det_software/sls_detectors_package.git slsDetectorsPackage
-
-#cd slsDetectorsPackage
-
-git clone $1@git.psi.ch:sls_detectors_software/sls_detector_software.git slsDetectorSoftware
-
-git clone $1@git.psi.ch:sls_detectors_software/sls_detector_gui.git slsDetectorGui
-
-git clone $1@git.psi.ch:sls_detectors_software/sls_receiver_software.git slsReceiverSoftware
-
-git clone $1@git.psi.ch:sls_detectors_software/sls_detector_calibration.git slsDetectorCalibration
-
-#git clone $1@git.psi.ch:sls_detectors_software/sls_image_reconstruction.git slsImageReconstruction
-
-git clone $1@git.psi.ch:sls_detectors_software/calibration_wizards.git calibrationWizards
-
-#git clone git@git.psi.ch:sls_detectors_software/tests.git tests
diff --git a/manual/Makefile b/manual/Makefile
index a341e3a5c..bf70e0f0b 100644
--- a/manual/Makefile
+++ b/manual/Makefile
@@ -5,7 +5,7 @@ DESTDIR?=docs
-MAINDIRS= manual-main
+MAINDIRS= manual-main manual-api manual-calwiz manual-client manual-gui
#manual-calwiz manual-calwiz manual-gui manual-client manual-api
CLEANDIRS=$(MAINDIRS:manual-%=clean-%)
PDFDIRS=$(MAINDIRS:manual-%=pdf-%)
diff --git a/manual/docs/html/slsDetectors-FAQ/index.html b/manual/docs/html/slsDetectors-FAQ/index.html
index 7146179fa..3cc00c9b6 100644
--- a/manual/docs/html/slsDetectors-FAQ/index.html
+++ b/manual/docs/html/slsDetectors-FAQ/index.html
@@ -53,7 +53,7 @@ Frequently Asked Questions">
Frequently Asked Questions
Anna Bergamaschi
-Date: November 28, 2017
+Date: February 9, 2018