Compare commits
86 Commits
olddevelop
...
3.0.1
Author | SHA1 | Date | |
---|---|---|---|
6126780660 | |||
9b7f9b1be1 | |||
26c829d766 | |||
3fde5c5b55 | |||
3e5f546ebe | |||
9833a7d330 | |||
8f9155e578 | |||
9df1eac3c1 | |||
5ededf9be4 | |||
3e8774798a | |||
834794ad98 | |||
56c504abbb | |||
4d6346e678 | |||
dc7e448759 | |||
e658cbacda | |||
1e6c6dea71 | |||
0e5d4d1d8e | |||
a2986784d3 | |||
975cbb576e | |||
e48a92d9cd | |||
befdcf7f36 | |||
02f5c472a8 | |||
75ed2cd2e4 | |||
3be045f9b6 | |||
8fae982802 | |||
128ec88b5f | |||
d5fc158330 | |||
864e6e4c81 | |||
343d96ff16 | |||
4142328437 | |||
6c797988c7 | |||
215c262981 | |||
081b809078 | |||
9263567cd8 | |||
58e90a85be | |||
025c836e25 | |||
5d5abae3f4 | |||
e2ad46386e | |||
308d44e452 | |||
69da61b1fb | |||
460168ce04 | |||
4e429c0d77 | |||
bf4fab549d | |||
f7705eb1da | |||
a2217e2066 | |||
aaa02706fc | |||
6a80bc5b54 | |||
b9275646ad | |||
9e2f2697c7 | |||
b6b0df62b6 | |||
0ba537e479 | |||
75ddf535dc | |||
b1de501bef | |||
0f3a63f101 | |||
3b4b2d707f | |||
f405aa1733 | |||
df0fdb7ecb | |||
91b7a87557 | |||
9468b9ca1e | |||
d7982e178e | |||
9cf5714a5b | |||
0c9ac8911a | |||
4730c8c0a9 | |||
43efb8acfd | |||
6ecca8fcb0 | |||
17cb63a57f | |||
4f83fcb001 | |||
ab94af6d29 | |||
7c725cc69b | |||
f0198d2d2e | |||
5ddccbdee4 | |||
8fb39b8c7e | |||
bd5293f4b1 | |||
b91180f5b2 | |||
7c3b5065a5 | |||
9aef802bea | |||
f7d85231f2 | |||
5b3a911e8d | |||
65f5e1c1ab | |||
839896c7e6 | |||
4a7e246604 | |||
7f293115c4 | |||
f59f40a659 | |||
64fd82f92c | |||
cd232fd732 | |||
172fa66b1f |
45
.travis.yml
@ -1,45 +0,0 @@
|
|||||||
sudo: false
|
|
||||||
|
|
||||||
language: cpp
|
|
||||||
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
- os: linux
|
|
||||||
env: CONDA_PY=3.6
|
|
||||||
|
|
||||||
dist: trusty
|
|
||||||
|
|
||||||
install:
|
|
||||||
- sudo apt-get update
|
|
||||||
- ldd --version
|
|
||||||
- wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh;
|
|
||||||
- bash miniconda.sh -b -p $HOME/miniconda
|
|
||||||
- export PATH="$HOME/miniconda/bin:$PATH"
|
|
||||||
- rm -f miniconda.sh
|
|
||||||
- hash -r
|
|
||||||
- conda config --set always_yes yes --set changeps1 no
|
|
||||||
- conda config --add channels conda-forge
|
|
||||||
- conda config --add channels slsdetectorgroup
|
|
||||||
- conda update conda
|
|
||||||
- conda update --all
|
|
||||||
- conda install conda-build anaconda-client
|
|
||||||
|
|
||||||
# Useful for debugging any issues with conda
|
|
||||||
- conda info -a
|
|
||||||
|
|
||||||
|
|
||||||
# Replace dep1 dep2 ... with your dependencies
|
|
||||||
- conda create -q -n test-environment python=$CONDA_PY
|
|
||||||
- source activate test-environment
|
|
||||||
- conda-build .
|
|
||||||
|
|
||||||
script:
|
|
||||||
- echo "No test scripts to be run!"
|
|
||||||
|
|
||||||
|
|
||||||
deploy:
|
|
||||||
provider: script
|
|
||||||
script: find $HOME/miniconda/conda-bld/${TRAVIS_OS_NAME}-64 -name "*.tar.bz2" -exec anaconda -t $CONDA_TOKEN upload --force {} \;
|
|
||||||
on:
|
|
||||||
branch: developer
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
cmake_minimum_required(VERSION 2.8)
|
||||||
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
|
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
|
||||||
set (CALIBRATE OFF)
|
set (CALIBRATE OFF)
|
||||||
|
|
||||||
option (USE_HDF5 "HDF5 File format" OFF)
|
option (USE_HDF5 "HDF5 File format" OFF)
|
||||||
@ -7,18 +7,13 @@ option (USE_TEXTCLIENT "Text Client" OFF)
|
|||||||
option (USE_RECEIVER "Receiver" OFF)
|
option (USE_RECEIVER "Receiver" OFF)
|
||||||
option (USE_GUI "GUI" OFF)
|
option (USE_GUI "GUI" OFF)
|
||||||
|
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-misleading-indentation")
|
||||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.0)
|
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++98 -Wno-misleading-indentation")
|
|
||||||
else ()
|
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++98")
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
find_package(Qt4)
|
find_package(Qt4)
|
||||||
find_package(Qwt 6)
|
find_package(Qwt 6)
|
||||||
find_package(CBF)
|
find_package(CBF)
|
||||||
find_package(Doxygen)
|
find_package(Doxygen)
|
||||||
# find_package(PNG REQUIRED)
|
find_package(PNG REQUIRED)
|
||||||
|
|
||||||
if (USE_HDF5)
|
if (USE_HDF5)
|
||||||
find_package(HDF5 1.10 COMPONENTS CXX)
|
find_package(HDF5 1.10 COMPONENTS CXX)
|
||||||
@ -36,10 +31,8 @@ endif (USE_TEXTCLIENT)
|
|||||||
|
|
||||||
if (USE_RECEIVER)
|
if (USE_RECEIVER)
|
||||||
add_subdirectory(slsReceiverSoftware)
|
add_subdirectory(slsReceiverSoftware)
|
||||||
add_subdirectory(manual/manual-api)
|
|
||||||
endif (USE_RECEIVER)
|
endif (USE_RECEIVER)
|
||||||
|
|
||||||
|
|
||||||
if (USE_GUI)
|
if (USE_GUI)
|
||||||
if (QT4_FOUND AND QWT_FOUND)
|
if (QT4_FOUND AND QWT_FOUND)
|
||||||
add_subdirectory(slsDetectorGui)
|
add_subdirectory(slsDetectorGui)
|
||||||
|
5
Makefile
@ -19,12 +19,11 @@ RECEIVERDIR = $(LIBRARYRXRDIR)
|
|||||||
CALWIZDIR = $(WD)/calibrationWizards
|
CALWIZDIR = $(WD)/calibrationWizards
|
||||||
MANDIR = $(WD)/manual
|
MANDIR = $(WD)/manual
|
||||||
CALIBDIR = $(WD)/slsDetectorCalibration
|
CALIBDIR = $(WD)/slsDetectorCalibration
|
||||||
MANAPIDIR = $(MANDIR)/manual-api
|
|
||||||
|
|
||||||
TABSPACE := "\t"
|
TABSPACE := "\t"
|
||||||
|
|
||||||
|
|
||||||
INCLUDES=-I. -I$(LIBRARYDIR)/commonFiles -I$(LIBRARYDIR)/slsDetector -I$(LIBRARYDIR)/usersFunctions -I$(LIBRARYDIR)/multiSlsDetector -I$(LIBRARYDIR)/slsDetectorUtils -I$(LIBRARYDIR)/slsDetectorCommand -I$(LIBRARYDIR)/slsDetectorAnalysis -I$(LIBRARYDIR)/slsReceiverInterface -I$(LIBRARYRXRDIR)/include -I$(LIBRARYDIR)/threadFiles -I$(LIBRARYDIR)/sharedMemory -I$(ASM)
|
INCLUDES=-I. -I$(LIBRARYDIR)/commonFiles -I$(LIBRARYDIR)/slsDetector -I$(LIBRARYDIR)/usersFunctions -I$(LIBRARYDIR)/multiSlsDetector -I$(LIBRARYDIR)/slsDetectorUtils -I$(LIBRARYDIR)/slsDetectorCommand -I$(LIBRARYDIR)/slsDetectorAnalysis -I$(LIBRARYDIR)/slsReceiverInterface -I$(LIBRARYRXRDIR)/include -I$(LIBRARYDIR)/threadFiles -I$(ASM)
|
||||||
|
|
||||||
INCLUDESRXR += -I. -I$(LIBRARYRXRDIR)/include -I$(CALIBDIR) -I$(ASM)
|
INCLUDESRXR += -I. -I$(LIBRARYRXRDIR)/include -I$(CALIBDIR) -I$(ASM)
|
||||||
#LIBFLAGRXR +=
|
#LIBFLAGRXR +=
|
||||||
@ -80,7 +79,6 @@ slsReceiver_static: receiver
|
|||||||
receiver: #libreceiver
|
receiver: #libreceiver
|
||||||
# cd $(RECEIVERDIR) && $(MAKE) receiver FLAGS='$(FLAGS)' DESTDIR='$(BINDIR)' LIBS='$(LDFLAGRXR)' INCLUDES='$(INCLUDESRXR)' LIBDIR='$(LIBDIR)'
|
# cd $(RECEIVERDIR) && $(MAKE) receiver FLAGS='$(FLAGS)' DESTDIR='$(BINDIR)' LIBS='$(LDFLAGRXR)' INCLUDES='$(INCLUDESRXR)' LIBDIR='$(LIBDIR)'
|
||||||
cd $(RECEIVERDIR) && $(MAKE) FLAGS='$(FLAGS)' DESTDIR='$(BINDIR)' LIBS='$(LDFLAGRXR)' INCLUDES='$(INCLUDESRXR)' LIBDIR='$(LIBDIR)'
|
cd $(RECEIVERDIR) && $(MAKE) FLAGS='$(FLAGS)' DESTDIR='$(BINDIR)' LIBS='$(LDFLAGRXR)' INCLUDES='$(INCLUDESRXR)' LIBDIR='$(LIBDIR)'
|
||||||
cd $(MANAPIDIR) && $(MAKE) slsMultiReceiver
|
|
||||||
@echo ""
|
@echo ""
|
||||||
@echo "#######################################"
|
@echo "#######################################"
|
||||||
@echo "# Back in slsDetectorPackage Makefile #"
|
@echo "# Back in slsDetectorPackage Makefile #"
|
||||||
@ -153,7 +151,6 @@ clean:
|
|||||||
cd $(DOCDIR) && rm -rf *
|
cd $(DOCDIR) && rm -rf *
|
||||||
rm -rf slsDetectorPackageDocs;
|
rm -rf slsDetectorPackageDocs;
|
||||||
rm -rf $(DETAILDOC)
|
rm -rf $(DETAILDOC)
|
||||||
rm -rf $(MANAPIDIR)/slsMultiReceiver
|
|
||||||
|
|
||||||
|
|
||||||
#install_lib:
|
#install_lib:
|
||||||
|
15
README.md
@ -1,13 +1,10 @@
|
|||||||
### Documentation
|
|
||||||
Detailed documentation can be found on the [official site.](https://www.psi.ch/detectors/users-support)
|
|
||||||
|
|
||||||
### Binaries
|
### Binaries
|
||||||
Documentation to obtain the binaries via the conda package is available for [lib](https://github.com/slsdetectorgroup/sls_detector_lib) and [gui](https://github.com/slsdetectorgroup/sls_detector_gui)
|
Documentation to obtain the binaries via the conda package is available [here.](https://github.com/slsdetectorgroup/sls_detector_software)
|
||||||
|
|
||||||
### Source code
|
### Source code
|
||||||
One can also obtain the source code from this repository and compile while realizing the setup dependencies as required.
|
One can also obtain the source code from this repository and compile while realizing the setup dependencies as required.
|
||||||
```
|
```
|
||||||
git clone https://github.com/slsdetectorgroup/slsDetectorPackage.git
|
git clone https://github.com/slsdetectorgroup/slsDetectorPackage.git --branch 3.0.1
|
||||||
|
|
||||||
```
|
```
|
||||||
#### Setup dependencies
|
#### Setup dependencies
|
||||||
@ -19,7 +16,7 @@ Requirements: Qt 4.8 and Qwt 6.0
|
|||||||
```
|
```
|
||||||
If either of them does not exist, the GUI client will not be built.
|
If either of them does not exist, the GUI client will not be built.
|
||||||
|
|
||||||
* Advanced user Calibration wizards<br>
|
* Calibration wizards<br>
|
||||||
Requirements: ROOT
|
Requirements: ROOT
|
||||||
```
|
```
|
||||||
export ROOTSYS=/usr/local/root-5.34
|
export ROOTSYS=/usr/local/root-5.34
|
||||||
@ -43,10 +40,6 @@ Usage: [-c] [-b] [-h] [-d HDF5 directory] [-j]<br>
|
|||||||
* -r: Build/Rebuilds only receiver<br>
|
* -r: Build/Rebuilds only receiver<br>
|
||||||
* -g: Build/Rebuilds only gui<br>
|
* -g: Build/Rebuilds only gui<br>
|
||||||
* -j: Number of threads to compile through<br>
|
* -j: Number of threads to compile through<br>
|
||||||
* -e: Debug mode
|
|
||||||
|
|
||||||
Basic Option:
|
|
||||||
./cmk.sh -b
|
|
||||||
|
|
||||||
For only make:
|
For only make:
|
||||||
./cmk.sh
|
./cmk.sh
|
||||||
@ -87,5 +80,5 @@ After compiling, the libraries and executables will be found at `bin` directory
|
|||||||
```
|
```
|
||||||
$ ls bin/
|
$ ls bin/
|
||||||
gui_client libSlsDetector.a libSlsDetector.so libSlsReceiver.a libSlsReceiver.so
|
gui_client libSlsDetector.a libSlsDetector.so libSlsReceiver.a libSlsReceiver.so
|
||||||
sls_detector_acquire sls_detector_get slsDetectorGui sls_detector_help sls_detector_put slsReceiver slsMultiReceiver
|
sls_detector_acquire sls_detector_get slsDetectorGui sls_detector_help sls_detector_put slsReceiver
|
||||||
```
|
```
|
||||||
|
750
RELEASE.txt
@ -1,508 +1,350 @@
|
|||||||
SLS Detector Package 4.0.0 released on 27.09.2018
|
SLS Detector Package 3.0.1 released on 2018-02-12
|
||||||
=================================================
|
=================================================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
INTRODUCTION
|
INTRODUCTION
|
||||||
|
|
||||||
This document describes the differences between 4.0.0 and 3.1.4 releases.
|
This document describes the differences between 3.0.0 and 3.0.1 release.
|
||||||
|
|
||||||
Download
|
The conda package of the binaries can be downloaded from
|
||||||
--------
|
|
||||||
|
|
||||||
The Source Code (Default C++ API):
|
https://github.com/erikfrojdh/sls_detector_software.git
|
||||||
https://github.com/slsdetectorgroup/slsDetectorPackage
|
|
||||||
|
|
||||||
The Conda Lib Package:
|
|
||||||
https://github.com/slsdetectorgroup/sls_detector_lib
|
|
||||||
|
|
||||||
The Conda GUI Package:
|
|
||||||
https://github.com/slsdetectorgroup/sls_detector_gui
|
|
||||||
|
|
||||||
The Python Interface (including the package):
|
|
||||||
https://github.com/slsdetectorgroup/sls_detector
|
|
||||||
|
|
||||||
|
The conda package of the python API wrap-around to the software package is at
|
||||||
|
|
||||||
Documentation
|
https://github.com/slsdetectorgroup/sls_detector.git
|
||||||
-------------
|
|
||||||
|
|
||||||
Manual (HTML & PDF):
|
Manual (both HTML and pdf versions) are provided in
|
||||||
https://www.psi.ch/detectors/documentation
|
|
||||||
slsDetectorPackage/manual/docs/
|
manual/docs/
|
||||||
|
|
||||||
Command Line Documentation:
|
Documentation from Source Code can be found for the Command Line and C++ API in
|
||||||
|
|
||||||
|
html:
|
||||||
manual/docs/html/slsDetectorClientDocs/index.html
|
manual/docs/html/slsDetectorClientDocs/index.html
|
||||||
manual/docs/pdf/slsDetectorClientDocs.pdf
|
|
||||||
|
|
||||||
C++ API Documentation:
|
|
||||||
manual/docs/html/slsDetectorUsersDocs/index.html
|
manual/docs/html/slsDetectorUsersDocs/index.html
|
||||||
|
pdf:
|
||||||
|
manual/docs/pdf/slsDetectorClientDocs.pdf
|
||||||
manual/docs/pdf/slsDetectorUsersDocs.pdf
|
manual/docs/pdf/slsDetectorUsersDocs.pdf
|
||||||
|
|
||||||
C++ API Example:
|
Documentation to the python API is available at
|
||||||
manual/manual-api/mainClient.cpp
|
|
||||||
manual/manual-api/mainReceiver.cpp
|
https://slsdetectorgroup.github.io/sls_detector/
|
||||||
|
|
||||||
Python API Documentation:
|
|
||||||
https://slsdetectorgroup.github.io/sls_detector/
|
|
||||||
|
|
||||||
Further Documentation:
|
|
||||||
https://www.psi.ch/detectors/users-support
|
|
||||||
|
|
||||||
|
Example including binaries for detector and receiver user classes can be found in
|
||||||
|
|
||||||
|
manual/manual-api
|
||||||
|
|
||||||
Support
|
User documentation can also be accessed directly at this location:
|
||||||
-------
|
|
||||||
|
|
||||||
General Software related:
|
https://www.psi.ch/detectors/users-support
|
||||||
dhanya.thattil@psi.ch
|
|
||||||
anna.bergamaschi@psi.ch
|
|
||||||
|
|
||||||
Python related:
|
|
||||||
erik.frojdh@psi.ch
|
|
||||||
|
|
||||||
|
If you have any software related questions or comments, please send them to:
|
||||||
|
|
||||||
|
dhanya.thattil@psi.ch
|
||||||
|
anna.bergamaschi@psi.ch
|
||||||
|
|
||||||
|
If you have any python related questions or comments, please send them to:
|
||||||
|
|
||||||
|
erik.frojdh@psi.ch
|
||||||
|
|
||||||
|
|
||||||
CONTENTS
|
CONTENTS
|
||||||
|
|
||||||
1. Firmware Requirements
|
- Firmware Requirements
|
||||||
2. Changes in User Interface
|
- Changes in User Interface
|
||||||
3. New/Modified Commands
|
- New Features
|
||||||
4. Other New Features
|
- Resolved Issues
|
||||||
5. Resolved Issues
|
- Known Issues
|
||||||
6. Known Issues
|
|
||||||
7. Next Major Release Plans
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
1. Firmware Requirements
|
Firmware Requirements
|
||||||
========================
|
|
||||||
|
|
||||||
Gotthard
|
|
||||||
========
|
|
||||||
Minimum compatible version : 11.01.2013
|
|
||||||
Latest version : 08.02.2018 (50um and 25um Master)
|
|
||||||
09.02.2018 (25 um Slave)
|
|
||||||
Eiger
|
|
||||||
=====
|
|
||||||
Minimum compatible version : 22
|
|
||||||
Latest version : 22
|
|
||||||
|
|
||||||
Jungfrau
|
|
||||||
========
|
|
||||||
Minimum compatible version : 15.06.2018
|
|
||||||
Latest version : 15.06.2018
|
|
||||||
|
|
||||||
|
|
||||||
Detector Upgrade
|
|
||||||
================
|
|
||||||
Gotthard Cannot be upgraded remotely. Requires programming via USB blaster
|
|
||||||
Eiger Can be upgraded remotely via bit files
|
|
||||||
Jungfrau Can be upgraded remotely using sls_detector_put programfpga <pof>
|
|
||||||
|
|
||||||
Instructions available at
|
|
||||||
https://www.psi.ch/detectors/installation-instructions
|
|
||||||
under Detector Upgrade -> [Detector Type] -> Firmware.
|
|
||||||
|
|
||||||
|
|
||||||
Please refer to the link below for more details on the firmware versions.
|
|
||||||
https://www.psi.ch/detectors/firmware.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
2. Changes in User Interface
|
|
||||||
============================
|
|
||||||
|
|
||||||
Client
|
|
||||||
------
|
|
||||||
|
|
||||||
1. Shared Memory:
|
|
||||||
|
|
||||||
POSIX shared memory has been implemented and they are typically created in
|
|
||||||
/dev/shm/ folder.
|
|
||||||
|
|
||||||
A multiSlsDetector object will create a shared memory segment with naming style:
|
|
||||||
slsDetectorPackage_x_[_z]
|
|
||||||
and an slsDetector object will create a shared memory segment with naming style:
|
|
||||||
slsDetectorPackage_x_sls_y[_z]
|
|
||||||
|
|
||||||
where
|
|
||||||
x is the multi detector id
|
|
||||||
y is the sls detector id
|
|
||||||
z is the environment variable SLSDETNAME, if set.
|
|
||||||
They can be deleted directly.
|
|
||||||
|
|
||||||
Environment variable SLSDETNAME included for user-friendliness
|
|
||||||
of using 2 different detectors from the same client pc. One needn't use
|
|
||||||
different multi detector id if the SLSDETNAME is different for both consoles.
|
|
||||||
|
|
||||||
Constructor will fail if shared memory size is different (different package
|
|
||||||
releases/detectors). Loading config file cleans shared memory.
|
|
||||||
|
|
||||||
|
|
||||||
2. Exceptions in constructors:
|
|
||||||
|
|
||||||
All constructors that have an error throws an exception. For this release,
|
|
||||||
this is caught within the package and interfaced as error codes or messages
|
|
||||||
to the users using command line or API.
|
|
||||||
|
|
||||||
As a result:
|
|
||||||
- slsDetectorsUsers constructor signature now includes a success flag.
|
|
||||||
- If one uses multiSlsDetector, slsDetector, ZmqSocket classes directly,
|
|
||||||
catch exceptions from constructors.
|
|
||||||
- In future releases, the exception will be thrown
|
|
||||||
outside the package for the users to handle it.
|
|
||||||
|
|
||||||
|
|
||||||
3. API Compatibility:
|
|
||||||
|
|
||||||
Client now checks API version of Detector Server - Client and Receiver - Client
|
|
||||||
when connecting for the first time to detector server or receiver server
|
|
||||||
and the online flags have not been set in shm.
|
|
||||||
|
|
||||||
Upon failure, error messages will ensue and further commands will not
|
|
||||||
be executed. Detector servers referred to are only for Eiger, Jungfrau and Gotthard.
|
|
||||||
|
|
||||||
Previously, the detector server would exit on mismatched Firmware-Detector
|
|
||||||
server mismatch. They now wait for client to ask for compatibility check,
|
|
||||||
which is done the first time client connects to the detector and the
|
|
||||||
online flag in shm has not been set.
|
|
||||||
|
|
||||||
|
|
||||||
4. Commands "type", "id" and "replace" are removed.
|
|
||||||
|
|
||||||
|
|
||||||
Receiver
|
|
||||||
--------
|
|
||||||
|
|
||||||
1. Reciever Header Structure in file writing and call back:
|
|
||||||
|
|
||||||
sls_receiver_header structure added to sls_receiver_defs.h for image headers
|
|
||||||
in file writing.
|
|
||||||
|
|
||||||
#define MAX_NUM_PACKETS 512
|
|
||||||
typedef std::bitset<MAX_NUM_PACKETS> sls_bitset;
|
|
||||||
typedef struct {
|
|
||||||
sls_detector_header detHeader; /**< is the detector header */
|
|
||||||
sls_bitset packetsMask; /**< is the packets caught bit mask */
|
|
||||||
} sls_receiver_header;
|
|
||||||
|
|
||||||
It includes the detector header structure + bitmask of 512 bits,
|
|
||||||
where each bit represents a packet caught. This is useful in saving time
|
|
||||||
in writing to file by not padding missing packets and still retaining useful data.
|
|
||||||
|
|
||||||
The binary and HDF5 writer version number changed from 1.0 to 2.0.
|
|
||||||
The detector header version remains as 1.0.
|
|
||||||
|
|
||||||
registerCallBackRawDataReady modified to give this structure pointer,
|
|
||||||
instead of individual structure member pointers.
|
|
||||||
|
|
||||||
|
|
||||||
2. ZmqSocket class:
|
|
||||||
|
|
||||||
If one uses ZmqSocket.h, then the json header has to be parsed outside
|
|
||||||
the class to allow the user to remove the restriction in extracting all data
|
|
||||||
from the json header.
|
|
||||||
|
|
||||||
|
|
||||||
3. Receiver Call back with modified size:
|
|
||||||
|
|
||||||
registerCallBackRawDataModifyReady call back that is similar to the receiver
|
|
||||||
registerCallBackRawDataReady has been added to allow the call back to
|
|
||||||
specify an updated size of image after call back. This is in view to process
|
|
||||||
an image in call back (including extract only a region of the image) and
|
|
||||||
provide this updated size in callback. This new resized/processed image
|
|
||||||
will be written to file or streamed out via zmq. This is useful in ROI
|
|
||||||
selection in the receiver.
|
|
||||||
|
|
||||||
This also means that the call back is now called before writing to file.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
3. New/Modified Commands
|
|
||||||
========================
|
|
||||||
|
|
||||||
Client
|
|
||||||
------
|
|
||||||
|
|
||||||
1. add (modified):
|
|
||||||
appends detector to end of multi detector list.
|
|
||||||
|
|
||||||
2. replace:
|
|
||||||
sets hostname/ip address for a single detector.
|
|
||||||
|
|
||||||
3. user:
|
|
||||||
get user details from shared memory.
|
|
||||||
|
|
||||||
4. checkdetversion:
|
|
||||||
checks client version compatibility with detector server.
|
|
||||||
|
|
||||||
5. checkrecversion:
|
|
||||||
checks client version compatibility with receiver server.
|
|
||||||
|
|
||||||
|
|
||||||
Receiver
|
|
||||||
--------
|
|
||||||
|
|
||||||
1. rx_zmqip:
|
|
||||||
sets/gets the zmq (TCP) ip of the receiver from where data is streamed
|
|
||||||
out from. (Eg. to the gui or intermediate process). By default, it is
|
|
||||||
the same as the zmqip.
|
|
||||||
|
|
||||||
2. zmqip:
|
|
||||||
sets/gets the zmq (TCP) ip, where client listens to, to reconstuct images.
|
|
||||||
(Eg. from receiver or intermediate process). By default, it is the same
|
|
||||||
as rx_zmqip.
|
|
||||||
|
|
||||||
3. rx_jsonaddheader:
|
|
||||||
sets/gets additional json header to be streamed out with the zmq from
|
|
||||||
receiver. Default is empty. Eg. p rx_jsonaddheader \"what\":\"nothing\"
|
|
||||||
|
|
||||||
4. r_discardpolicy:
|
|
||||||
sets/gets the frame discard policy in the receiver.
|
|
||||||
nodiscard - no discard (default),
|
|
||||||
discardempty - discard only empty frames,
|
|
||||||
discardpartial - discard any partial frame(fastest)
|
|
||||||
|
|
||||||
5. r_padding:
|
|
||||||
sets/gets the frame padding in the receiver.
|
|
||||||
0 does not pad partial frames(fastest),
|
|
||||||
1 (default) pads partial frames.
|
|
||||||
One can look at bitmask in the sls_receiver_header to process the unpadded
|
|
||||||
partial frames later.
|
|
||||||
|
|
||||||
6. activate (modified):
|
|
||||||
Extra option added to pad or unpad images in receivers when deactivated.
|
|
||||||
activate i [padding option], where i is activate/deactivate and padding
|
|
||||||
option is "padding" (default) or "nopadding".
|
|
||||||
|
|
||||||
7. rx_udpsocksize:
|
|
||||||
sets/gets the UDP socket buffer size. Already attempts to set by default
|
|
||||||
to 100mb, 2gb for Jungfrau. Does not remember custom values in client
|
|
||||||
shared memory, so must be initialized each time after setting receiver
|
|
||||||
hostname in config file.
|
|
||||||
|
|
||||||
8. rx_realudpsocksize:
|
|
||||||
gets the actual UDP socket buffer size. Usually double the set udp socket
|
|
||||||
buffer size due to kernel bookkeeping.
|
|
||||||
|
|
||||||
9. r_framesperfile:
|
|
||||||
sets/gets the frames per file in receiver. 0 means infinite or all frames
|
|
||||||
in a single file. Default of Eiger changed from 2k to 10k.
|
|
||||||
|
|
||||||
|
|
||||||
Eiger Specific
|
|
||||||
--------------
|
|
||||||
|
|
||||||
1. status trigger:
|
|
||||||
To trigger internally via software, one can use "status trigger".
|
|
||||||
|
|
||||||
2. subdeadtime:
|
|
||||||
sets/gets sub frame dead time in s in 32 bit mode. Subperiod is set in
|
|
||||||
the detector by subexptime + subdeadtime. This value is normally a
|
|
||||||
constant set by an expert catered to individual detector modules in the
|
|
||||||
config file. Receiver files writes master file metadata subperiod
|
|
||||||
instead of subdeadtime.
|
|
||||||
|
|
||||||
3. gappixels:
|
|
||||||
enables/disables gap pixels in system (detector & receiver). 1 sets,
|
|
||||||
0 unsets. In Receiver, 4 bit gap pixels mode is not implemented, but is
|
|
||||||
implemented in client data call back. Gap pixels are at module level
|
|
||||||
and not at multi module level.
|
|
||||||
|
|
||||||
4. measuredperiod:
|
|
||||||
gets the measured frame period (time between last frame and the previous
|
|
||||||
one) in s. Makes sense only for acquisitions of more than 1 frame.
|
|
||||||
|
|
||||||
5. measuredsubperiod:
|
|
||||||
gets the measured subframe period (time between last subframe and the
|
|
||||||
previous one) in s in 32 bit mode.
|
|
||||||
|
|
||||||
6. flags(modified):
|
|
||||||
extra flags "nooverflow" (default) and "overflow" for sub images in 32
|
|
||||||
bit mode. If set to overflow, it will set MSB of pixel data high if
|
|
||||||
there was any saturation in any of the sub images 32 bit mode.
|
|
||||||
|
|
||||||
|
|
||||||
Jungfrau Specific
|
|
||||||
-----------------
|
|
||||||
|
|
||||||
1. storagecells:
|
|
||||||
sets/gets number of additional storage cells per acquisition. For very
|
|
||||||
advanced users only. Range: 0-15. Default: 0.
|
|
||||||
The #images = #frames * #cycles * (#storagecells +1).
|
|
||||||
|
|
||||||
2. storage_start:
|
|
||||||
sets/gets the storage cell that stores the first acquisition of the series.
|
|
||||||
For very advanced users only. Range: 0-15. Default: 15(0xf).
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
4. Other New Features
|
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
|
Please refer to the link below for more details on the firmware versions.
|
||||||
|
https://www.psi.ch/detectors/firmware.
|
||||||
|
|
||||||
|
Gotthard
|
||||||
|
========
|
||||||
|
Minimum compatible version : old one
|
||||||
|
Latest version : 08.02.2018 (50um and 25um Master)
|
||||||
|
09.02.2018 (25 um Slave)
|
||||||
|
|
||||||
|
-Can not be upgraded remotely.
|
||||||
|
|
||||||
|
|
||||||
|
Eiger
|
||||||
|
=====
|
||||||
|
Minimum compatible version : 16
|
||||||
|
Latest version : 21
|
||||||
|
|
||||||
|
-Can be upgraded remotely via bit files.
|
||||||
|
|
||||||
|
|
||||||
|
Jungfrau
|
||||||
|
========
|
||||||
|
Minimum compatible version : 13.11.2017
|
||||||
|
Latest version : 13.11.2017
|
||||||
|
|
||||||
|
-Can be upgraded remotely via sls_detector_put programfpga <pof>.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Changes in User Interface
|
||||||
|
=========================
|
||||||
|
|
||||||
|
|
||||||
Client
|
Client
|
||||||
------
|
------
|
||||||
|
1. Additional functions added for advanced users in users class:
|
||||||
1. (Jungfrau & Gotthard) Settingsdir and caldir is removed from config file.
|
(setSpeed, setClockDivider, setReadOutFlags, setDac, getADC,
|
||||||
Default dacs are stored in detector server. Hence, these folders
|
setAllTrimbits, startReceiver, stopReceiver,
|
||||||
are also removed from slsDetectorPackage/settingsdir. Eiger and Mythen
|
startAcquisition non blocking, setReceiverSilentMode, setHighVoltage,
|
||||||
continue to have them.
|
enableDataStreamingToClient, enableDataStreamingFromReceiver,
|
||||||
|
setReceiverDataStreamingOutPort, setClientDataStreamingInPort)
|
||||||
|
|
||||||
|
2. Zmq set up for client and receiver are separated.
|
||||||
|
zmqport for client and rx_zmqport for receiver. By default, they are the
|
||||||
|
same for the slsDetectorGui to work.
|
||||||
|
|
||||||
2. Depending on 1d position of detectors and detsizechan in config file,
|
3. Users example also works without config file, where detector already
|
||||||
row and column (previously xcoord and ycoord) are given to detector
|
configured in shared memory.
|
||||||
servers (Eiger and Jungfrau) to encode into the udp header.
|
|
||||||
|
|
||||||
3. (Eiger) Setting threshold energy changes such as CAL dac is irrelevant
|
4. Use "sls_detector_get busy 0" to clear acquiring flag in shared memory
|
||||||
when interpolating between two energies and VRS dac is interpolated, not copied.
|
caused due to an earlier interrupted acquisition from Ctrl+C"
|
||||||
|
|
||||||
4. Users API updated with the following functions:
|
5. Set bit, clear bit, read register and write register cannot give -1 for
|
||||||
- setReceiverFramesDiscardPolicy
|
inconsistent values from multiple detectors. One has to check error from
|
||||||
- setReceiverPartialFramesPadding
|
API or read the values individually.
|
||||||
- setReceiverFramesPerFile
|
|
||||||
- sendSoftwareTrigger
|
|
||||||
- setSubFrameExposureDeadTime
|
|
||||||
- setSubFrameExposureTime
|
|
||||||
- enableGapPixels
|
|
||||||
- getMeasuredPeriod
|
|
||||||
- getMeasuredSubFramePeriod
|
|
||||||
- setOverflowMode
|
|
||||||
- setNumberOfStorageCells
|
|
||||||
- setStoragecellStart
|
|
||||||
- setThresholdEnergy (overloaded)
|
|
||||||
- resetFramesCaughtInReceiver
|
|
||||||
- setReceiverFifoDepth
|
|
||||||
- setFlowControl10G
|
|
||||||
- setTenGigabitEthernet
|
|
||||||
- getNMods
|
|
||||||
- setReceiverDataStreamingOutIP
|
|
||||||
- setClientDataStreamingInIP
|
|
||||||
|
|
||||||
SlsReceiver
|
6. multiSlsDetector::char* getSettingsFile() function signature has been
|
||||||
-----------
|
changed to string getSettingsFile().
|
||||||
|
|
||||||
1. slsMultiReceiver executable added that creates multiple receiver child processes.
|
|
||||||
./slsMultiReceiver [start_tcp_port] [num_receivers] [1 for call back, 0 for none]
|
|
||||||
|
|
||||||
2. Default row and column (previously xcoord and ycoord) are hardcoded
|
|
||||||
for missing packets. (Eiger and Jungfrau)
|
Receiver
|
||||||
|
--------
|
||||||
|
7. Modified the help manaual/main-api/mainReceiver.cpp to make it more
|
||||||
|
robust (handling child process exit) and flexible to determine upon
|
||||||
|
start up the number of receivers (child processes), the start TCP port
|
||||||
|
and whether to call back data.
|
||||||
|
|
||||||
|
detReceiver is now executed with [start tcp port] [number of receivers]
|
||||||
|
[1 for call back, 0 for none] as arguments.
|
||||||
|
By default, start tcp port is 1954, number of receivers is 1, and call
|
||||||
|
back is initiated.
|
||||||
|
|
||||||
|
8. rx_datastream to enable/disable data streaming in receiver. Using the GUI
|
||||||
|
or registering data call back in client automatically enables zmq in
|
||||||
|
receiver and client. "externalgui" is removed from the command line. Use
|
||||||
|
this command instead.
|
||||||
|
|
||||||
|
9. Rx_tcpport argument to the slsReceiver can be given using -t.
|
||||||
|
Eg. slsReceiver -t1955
|
||||||
|
|
||||||
|
|
||||||
|
New Features
|
||||||
|
============
|
||||||
|
|
||||||
|
|
||||||
|
Package
|
||||||
|
-------
|
||||||
|
1. In addition to the C++ API, the Python API is also now provided.
|
||||||
|
|
||||||
|
2. CMAKE now with debug flag and rpath, show warnings, compile only certain
|
||||||
|
components (such as receiver or gui)
|
||||||
|
|
||||||
|
3. One repository for entire package and made available at github.
|
||||||
|
|
||||||
|
4. One can do --version or -v to all the binaries to find out the release
|
||||||
|
version of the particular executable.
|
||||||
|
|
||||||
|
5. All the software version numbers have only date in format YYMMDD.
|
||||||
|
|
||||||
|
|
||||||
|
Client
|
||||||
|
------
|
||||||
|
6. Parallelized more commands to detector. Beneficial for large detectors.
|
||||||
|
(setTimer, setFileIndex, setOnline, setReceiverOnline, getReceiverStatus,
|
||||||
|
resetFramesCaught, setFrameIndex, setFileName, getFramesCaughtByReceiver,
|
||||||
|
setDynamicRange, setRateCorrection)
|
||||||
|
|
||||||
|
Option to also use "sls_detector_put threaded 0" to improve speed by
|
||||||
|
eliminating progress display during acquisition. Effective only for
|
||||||
|
large detectors.
|
||||||
|
|
||||||
|
|
||||||
|
Detector Server
|
||||||
|
---------------
|
||||||
|
7. (Eiger) Virtual class to execute on pc.
|
||||||
|
|
||||||
|
8. One can now read temperatures during acquisition. It goes via the stop
|
||||||
|
server.
|
||||||
|
|
||||||
|
9. (Jungfrau) One can start server in "debug" mode and then program the
|
||||||
|
new firmware via software command "sls_detector_put programfpga xx.pof".
|
||||||
|
|
||||||
|
10. (Jungfrau) Server can exit on start up if either the firmware or the
|
||||||
|
server is incompatible with each other.
|
||||||
|
|
||||||
|
11. (Jungfrau) One is able to set transmission delay (ms) of image for each
|
||||||
|
individual detector using "txndelay_frame" command. Beneficial for
|
||||||
|
large detectors.
|
||||||
|
|
||||||
|
12. (Jungfrau) One can set a threshold temperature (temp_threshold) and
|
||||||
|
enable the temperature control feature (temp_control). When the
|
||||||
|
temperature (temp_fpga) overshoots the threshold temperature, it will
|
||||||
|
set the temperature event (temp_event) and power off the chip. One must
|
||||||
|
then switch off the detector and check cooling. Switching back on starts
|
||||||
|
with defaults.
|
||||||
|
|
||||||
|
13. (25um Gotthard) Added start acquisition delay to master module.
|
||||||
|
|
||||||
|
14. (Gotthard) New constraints include minimum exposure time is 186 ns and
|
||||||
|
minimum period is 1278 ns + current exposure time.
|
||||||
|
|
||||||
|
|
||||||
|
Receiver
|
||||||
|
--------
|
||||||
|
14. The detectorip and rx_udpip does not have to be in the same subnet anymore.
|
||||||
|
Add the following commands after rx_hostname in config file to overwrite
|
||||||
|
mac configuration:
|
||||||
|
rx_udpmac [router mac]
|
||||||
|
configuremac 0
|
||||||
|
|
||||||
|
15. Added silent mode to receiver using command r_silent [i] from client.
|
||||||
|
It might be beneficial for max frame rate applications.
|
||||||
|
|
||||||
|
16. Receiver print out can handle black or white backgrounds.
|
||||||
|
|
||||||
|
17. zmq package included updated to v4.0.8.
|
||||||
|
|
||||||
|
18. Zmq streaming from receiver also sends file index in json header.
|
||||||
|
|
||||||
|
|
||||||
Gui
|
Gui
|
||||||
---
|
---
|
||||||
|
18. If acquisition is done, but "stop dummy packet" to the gui was lost in
|
||||||
1. (Jungfrau) Gain plot included. Option under 2D options in Plot tab.
|
the network, stop acquisition command will restream it so that the gui
|
||||||
|
doesnt hang forever. This is used only for very fast detectors like
|
||||||
2. Option to maintain aspect ratio
|
Moench.
|
||||||
|
|
||||||
3. Start and Stop separated to prevent multiple click syndrome.
|
|
||||||
|
|
||||||
|
|
||||||
Detector Server
|
|
||||||
---------------
|
|
||||||
|
|
||||||
1. (Jungfrau) To use programfpga command, one must start server with -update
|
|
||||||
mode and then restart server without -update mode.
|
|
||||||
|
|
||||||
2. (Jungfrau) ASIC Timer configured at server start up and changed a few
|
|
||||||
startup values for firmware v0.7 such as adc phase, ADC_PORT_INVERT_VAL
|
|
||||||
and ADC offset half speed value.
|
|
||||||
|
|
||||||
3. (Jungfrau) Minimum exposure time of 50 us was implemented.
|
|
||||||
|
|
||||||
4. (Eiger and Jungfrau) They can be configured to have x and y coord values
|
|
||||||
of the detector in their udp header.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Resolved Issues
|
||||||
5. Resolved Issues
|
|
||||||
==================
|
|
||||||
|
|
||||||
Client
|
|
||||||
------
|
|
||||||
memory leak for multi threading
|
|
||||||
|
|
||||||
1. Compiler flag -std=c++98 enforced. Debug flag removed.
|
|
||||||
|
|
||||||
2. If trimen gives different list from different detectors, it returns a -1.
|
|
||||||
|
|
||||||
3. Version format for each submodule of the package changed to just date YYMMDD.
|
|
||||||
Users class fixed to give correct version, instead of -1.
|
|
||||||
|
|
||||||
4. Getting settings in users class gave -1. Fixed now.
|
|
||||||
|
|
||||||
5. (Jungfrau) Programming FPGA now creates the rawbin file from pof in tmp
|
|
||||||
rather than source file location (for permission issues).
|
|
||||||
|
|
||||||
6. (Gotthard) ROI segmentation fault fixed.
|
|
||||||
|
|
||||||
Receiver
|
|
||||||
--------
|
|
||||||
|
|
||||||
1. Silent feature of receiver fixed.
|
|
||||||
|
|
||||||
2. Socket descriptor misused earlier for success flag, instead exceptions
|
|
||||||
used that are handled inside the package.
|
|
||||||
|
|
||||||
3. Global optind variable initialized to instantiate multiple receivers
|
|
||||||
in same process. Also removed static members to enable this feature.
|
|
||||||
|
|
||||||
4. Socket buffer size attempts to set for each acquiistion and provide
|
|
||||||
warning if no capabilities. Warnings can be removed using instruction with
|
|
||||||
error provided. Default Jungfrau UDP socket buffer size if 2 GB, default is
|
|
||||||
100 MB.
|
|
||||||
|
|
||||||
5. Refactored code a bit for performance and robustness, blocking push
|
|
||||||
in buffer between listener and dataprocessor
|
|
||||||
|
|
||||||
|
|
||||||
Detector Server
|
|
||||||
---------------
|
|
||||||
|
|
||||||
1. (Jungfrau) Stop server also mapped during a reset. Reading power status
|
|
||||||
instead of user input register for power.
|
|
||||||
|
|
||||||
2. (Eiger) Bug fix for saving trimbits to file (Advanced users).
|
|
||||||
|
|
||||||
3. (Gotthard 25um) config.txt is not read again after detector startup,
|
|
||||||
no matter the number of times the detector server is restarted.
|
|
||||||
|
|
||||||
|
|
||||||
6. Known Issues
|
|
||||||
===============
|
===============
|
||||||
|
|
||||||
Receiver
|
|
||||||
--------
|
|
||||||
|
|
||||||
1. HDF5 compression and filters are not implemented yet.
|
|
||||||
|
|
||||||
|
|
||||||
Detector Server
|
|
||||||
---------------
|
|
||||||
|
|
||||||
1. (Eiger) Registers mapped differently between firmware v20 and v22.
|
|
||||||
So, please ensure correct on-board server before switching between
|
|
||||||
firmware versions. Else one cannot ping it anymore. Will need to flash firmware
|
|
||||||
again to recover.
|
|
||||||
|
|
||||||
2. (Gotthard) To switch back to all ADC from single ADC ROI, one must take
|
|
||||||
even number of images for the receiver to understand complete images.
|
|
||||||
This will be fixed in the next firmware upgrade.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
7. Next Major Release Plans
|
|
||||||
===========================
|
|
||||||
|
|
||||||
Client
|
Client
|
||||||
------
|
------
|
||||||
|
1. gethostbyname used in connecting to sockets was not thread safe for
|
||||||
|
multiple detectors. Using getaddrinfo for stability in multi threaded
|
||||||
|
environment.
|
||||||
|
|
||||||
1. Exceptions thrown to the user to be handled.
|
2. Updated writing content of config and parameter dump into files.
|
||||||
|
|
||||||
2. Compilation using c++11.
|
3. More locking to handle main and processing threads using the threadpool.
|
||||||
|
Removing unlock twice, which is undefined behavior.
|
||||||
|
|
||||||
|
|
||||||
|
Detector Server
|
||||||
|
---------------
|
||||||
|
4. (Eiger) The hardware MAC of the detector is used during configuration
|
||||||
|
and relayed back to client. Similarly, hardware IP for 1 Gbe data mode.
|
||||||
|
|
||||||
|
5. (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.
|
||||||
|
|
||||||
|
6. (Jungfrau) patch server v3.0.0.6.3
|
||||||
|
Able to set settings, high voltage now correctly reads 0 when
|
||||||
|
switched off, dacs are properly set.
|
||||||
|
|
||||||
|
7. (Jungfrau) FPGA reset and programming FPGA firmware via software is done
|
||||||
|
properly
|
||||||
|
|
||||||
|
8. (Gotthard) patch server v3.0.0.5.1
|
||||||
|
Able to read temperature properly.
|
||||||
|
|
||||||
|
9. (Gotthard) butst mode if set too fast had unwanted behavior such as
|
||||||
|
sending same image continuously. Now it is handled to display error
|
||||||
|
and stop acquisition.
|
||||||
|
|
||||||
|
10. (Gotthard) completely removed the possibility to set timing modes
|
||||||
|
other than auto and trigger as they are not implemented anyway. Also
|
||||||
|
signal index 1, 2 and 3 are reserved and hence, cannot be configured for
|
||||||
|
an external trigger.
|
||||||
|
|
||||||
|
11. Non Mythen and non Eiger detectors can also now get settings file from
|
||||||
|
board.
|
||||||
|
|
||||||
|
12. (Gotthard) Did not get first few images initially after configuring MAC
|
||||||
|
of detector. Fixed.
|
||||||
|
|
||||||
3. Support of Mythen II restricted to this major and its minor releases.
|
|
||||||
|
|
||||||
4. Restructuring and refactoring of client code.
|
Receiver
|
||||||
|
--------
|
||||||
|
12. Made it easier to disable the standard receiver and fixing bugs related
|
||||||
|
to the use of a custom one.
|
||||||
|
|
||||||
|
13. (Jungfrau) HDF5 dimensions (npixelsY) required for mapping fixed.
|
||||||
|
|
||||||
|
14. patch2-v3.0.0-slsReceiverSoftware.patch
|
||||||
|
x, y and z coordinates in the call backs and the files are hardcoded
|
||||||
|
for this release.
|
||||||
|
|
||||||
|
15. Rest implementation (not used by standard receiver) removed.
|
||||||
|
|
||||||
|
|
||||||
|
Gui
|
||||||
|
---
|
||||||
|
16. patch1-v3.0.0-slsDetectorGui.patch
|
||||||
|
(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.
|
||||||
|
|
||||||
|
17. Fixed segmentation fault of xputsn properly.
|
||||||
|
|
||||||
|
18. Upon clicking on "Start", clears acquiring flag in shared memory
|
||||||
|
caused due to an earlier interrupted acquisition from Ctrl+C"
|
||||||
|
|
||||||
|
19. Fixed plotting twice caused due to unzooming the first time.
|
||||||
|
|
||||||
|
20. Removed option for compression in Gui as it is not available currently.
|
||||||
|
|
||||||
|
21. Can also show Jungfrau multi detector in x direction in gui.
|
||||||
|
|
||||||
|
22. Switching tabs sometimes results in delay and gates fields being incorrectly
|
||||||
|
enabled. Fixed.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Known Issues
|
||||||
|
============
|
||||||
|
|
||||||
|
|
||||||
|
Client
|
||||||
|
------
|
||||||
|
1. File name prefix can only be done at multi deector level. Changing at
|
||||||
|
individual detector level will not include scan or position variables.
|
||||||
|
|
||||||
|
|
||||||
|
Detector Server
|
||||||
|
---------------
|
||||||
|
2. Standard header fills x-coord in 1D. y-coord and z-coord is not
|
||||||
|
implemented (3D).
|
||||||
|
|
||||||
|
|
||||||
|
Receiver
|
||||||
|
--------
|
||||||
|
3. HDF5 compression and filters are not implemented yet.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1 +1 @@
|
|||||||
rm /dev/shm/slsDetectorPackage*;
|
for i in seq `ipcs -m | cut -d ' ' -f1`; do ipcrm -M $i; done;
|
||||||
|
17
cmk.sh
@ -6,7 +6,6 @@ COMPILERTHREADS=0
|
|||||||
TEXTCLIENT=0
|
TEXTCLIENT=0
|
||||||
RECEIVER=0
|
RECEIVER=0
|
||||||
GUI=0
|
GUI=0
|
||||||
DEBUG=0
|
|
||||||
|
|
||||||
|
|
||||||
CLEAN=0
|
CLEAN=0
|
||||||
@ -25,7 +24,6 @@ Usage: $0 [-c] [-b] [-h] [-d <HDF5 directory>] [-j]
|
|||||||
-r: Build/Rebuilds only receiver
|
-r: Build/Rebuilds only receiver
|
||||||
-g: Build/Rebuilds only gui
|
-g: Build/Rebuilds only gui
|
||||||
-j: Number of threads to compile through
|
-j: Number of threads to compile through
|
||||||
-e: Debug mode
|
|
||||||
|
|
||||||
For only make:
|
For only make:
|
||||||
./cmk.sh
|
./cmk.sh
|
||||||
@ -55,7 +53,7 @@ For rebuilding only certain sections
|
|||||||
|
|
||||||
" ; exit 1; }
|
" ; exit 1; }
|
||||||
|
|
||||||
while getopts ":bchd:j:trge" opt ; do
|
while getopts ":bchd:j:trg" opt ; do
|
||||||
case $opt in
|
case $opt in
|
||||||
b)
|
b)
|
||||||
echo "Building of CMake files Required"
|
echo "Building of CMake files Required"
|
||||||
@ -92,11 +90,7 @@ while getopts ":bchd:j:trge" opt ; do
|
|||||||
echo "Compiling Options: GUI"
|
echo "Compiling Options: GUI"
|
||||||
GUI=1
|
GUI=1
|
||||||
REBUILD=1
|
REBUILD=1
|
||||||
;;
|
;;
|
||||||
e)
|
|
||||||
echo "Compiling Options: Debug"
|
|
||||||
DEBUG=1
|
|
||||||
;;
|
|
||||||
\?)
|
\?)
|
||||||
echo "Invalid option: -$OPTARG"
|
echo "Invalid option: -$OPTARG"
|
||||||
usage
|
usage
|
||||||
@ -151,12 +145,7 @@ else
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#Debug
|
CMAKE_POST+=" -DCMAKE_BUILD_TYPE=Debug "
|
||||||
if [ $DEBUG -eq 1 ]; then
|
|
||||||
CMAKE_POST+=" -DCMAKE_BUILD_TYPE=Debug "
|
|
||||||
echo "Debug Option enabled"
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
#hdf5 rebuild
|
#hdf5 rebuild
|
||||||
if [ $HDF5 -eq 1 ]; then
|
if [ $HDF5 -eq 1 ]; then
|
||||||
|
@ -1,61 +0,0 @@
|
|||||||
detsizechan 2560 1
|
|
||||||
|
|
||||||
hostname bchip074+bchip075+
|
|
||||||
|
|
||||||
#replace my_installation_path
|
|
||||||
settingsdir /my_installation_path/slsDetectorPackage/settingsdir/gotthard
|
|
||||||
caldir /my_installation_path/slsDetectorPackage/settingsdir/gotthard
|
|
||||||
|
|
||||||
0:extsig:0 trigger_in_rising_edge
|
|
||||||
0:rx_tcpport 1954
|
|
||||||
0:rx_udpport 50001
|
|
||||||
0:vhighvoltage 0
|
|
||||||
|
|
||||||
1:extsig:0 trigger_in_rising_edge
|
|
||||||
1:rx_tcpport 1955
|
|
||||||
1:rx_udpport 50002
|
|
||||||
#1:detectorip 10.1.1.52
|
|
||||||
1:vhighvoltage 0
|
|
||||||
|
|
||||||
##############################################################################
|
|
||||||
#########
|
|
||||||
######### Uncomment this part to use the gotthard25umZmq process
|
|
||||||
#########
|
|
||||||
##############################################################################
|
|
||||||
|
|
||||||
# #replace my_receiver_hostname with the hostname of IP of the machine where the receiver runs
|
|
||||||
#0:rx_zmqip my_receiver_hostname
|
|
||||||
#0:rx_zmqport 30003
|
|
||||||
# #replace my_client_hostname with the hostname of IP of the machine where the client/GUI or softIOC runs
|
|
||||||
#0:zmqip my_client_hostname
|
|
||||||
#0:zmqport 40003
|
|
||||||
|
|
||||||
# #replace my_receiver_hostname with the hostname of IP of the machine where the receiver runs
|
|
||||||
#1:rx_zmqip my_receiver_hostname
|
|
||||||
#1:rx_zmqport 30004
|
|
||||||
# #replace my_client_hostname with the hostname of IP of the machine where the client/GUI or softIOC runs
|
|
||||||
#1:zmqip my_client_hostname
|
|
||||||
#1:zmqport 40004
|
|
||||||
|
|
||||||
##############################################################################
|
|
||||||
#########
|
|
||||||
######### until here
|
|
||||||
#########
|
|
||||||
##############################################################################
|
|
||||||
|
|
||||||
|
|
||||||
r_readfreq 1
|
|
||||||
rx_datastream 1
|
|
||||||
|
|
||||||
#replace my_receiver_hostname with the hostname of 1Gb IP of the machine where the receiver runs
|
|
||||||
rx_hostname my_receiver_hostname
|
|
||||||
rx_datastream 1
|
|
||||||
outdir /tmp/
|
|
||||||
angconv none
|
|
||||||
threaded 1
|
|
||||||
|
|
||||||
settings veryhighgain
|
|
||||||
exptime 0.000005
|
|
||||||
period 0.0001
|
|
||||||
|
|
||||||
vhighvoltage 90
|
|
@ -1,61 +0,0 @@
|
|||||||
detsizechan 2560 1
|
|
||||||
|
|
||||||
hostname bchip074+bchip075+
|
|
||||||
|
|
||||||
#replace my_installation_path
|
|
||||||
settingsdir /my_installation_path/slsDetectorPackage/settingsdir/gotthard
|
|
||||||
caldir /my_installation_path/slsDetectorPackage/settingsdir/gotthard
|
|
||||||
|
|
||||||
0:extsig:0 trigger_in_rising_edge
|
|
||||||
0:rx_tcpport 1954
|
|
||||||
0:rx_udpport 50001
|
|
||||||
0:vhighvoltage 0
|
|
||||||
|
|
||||||
1:extsig:0 trigger_in_rising_edge
|
|
||||||
1:rx_tcpport 1955
|
|
||||||
1:rx_udpport 50002
|
|
||||||
#1:detectorip 10.1.1.52
|
|
||||||
1:vhighvoltage 0
|
|
||||||
|
|
||||||
##############################################################################
|
|
||||||
#########
|
|
||||||
######### Uncomment this part to use the gotthard25umZmq process
|
|
||||||
#########
|
|
||||||
##############################################################################
|
|
||||||
|
|
||||||
# #replace my_receiver_hostname with the hostname of IP of the machine where the receiver runs
|
|
||||||
#0:rx_zmqip my_receiver_hostname
|
|
||||||
#0:rx_zmqport 30003
|
|
||||||
# #replace my_client_hostname with the hostname of IP of the machine where the client/GUI or softIOC runs
|
|
||||||
#0:zmqip my_client_hostname
|
|
||||||
#0:zmqport 40003
|
|
||||||
|
|
||||||
# #replace my_receiver_hostname with the hostname of IP of the machine where the receiver runs
|
|
||||||
#1:rx_zmqip my_receiver_hostname
|
|
||||||
#1:rx_zmqport 30004
|
|
||||||
# #replace my_client_hostname with the hostname of IP of the machine where the client/GUI or softIOC runs
|
|
||||||
#1:zmqip my_client_hostname
|
|
||||||
#1:zmqport 40004
|
|
||||||
|
|
||||||
##############################################################################
|
|
||||||
#########
|
|
||||||
######### until here
|
|
||||||
#########
|
|
||||||
##############################################################################
|
|
||||||
|
|
||||||
|
|
||||||
r_readfreq 1
|
|
||||||
rx_datastream 1
|
|
||||||
|
|
||||||
#replace my_receiver_hostname with the hostname of 1Gb IP of the machine where the receiver runs
|
|
||||||
rx_hostname my_receiver_hostname
|
|
||||||
rx_datastream 1
|
|
||||||
outdir /tmp/
|
|
||||||
angconv none
|
|
||||||
threaded 1
|
|
||||||
|
|
||||||
settings veryhighgain
|
|
||||||
exptime 0.000005
|
|
||||||
period 0.0001
|
|
||||||
|
|
||||||
vhighvoltage 90
|
|
@ -3,8 +3,12 @@ hostname bchip007
|
|||||||
#0:port 1952
|
#0:port 1952
|
||||||
#0:stopport 1953
|
#0:stopport 1953
|
||||||
#0:rx_tcpport 1956 must also have this in receiver config file
|
#0:rx_tcpport 1956 must also have this in receiver config file
|
||||||
|
0:settingsdir /home/l_maliakal_d/mySoft/newMythenSoftware/settingsdir/gotthard
|
||||||
0:angdir 1.000000
|
0:angdir 1.000000
|
||||||
0:moveflag 0.000000
|
0:moveflag 0.000000
|
||||||
|
0:lock 0
|
||||||
|
0:caldir /home/l_maliakal_d/mySoft/newMythenSoftware/settingsdir/gotthard
|
||||||
|
0:ffdir /home/l_maliakal_d
|
||||||
0:extsig:0 off
|
0:extsig:0 off
|
||||||
#0:detectorip 129.129.202.9
|
#0:detectorip 129.129.202.9
|
||||||
0:detectormac 00:aa:bb:cc:dd:ee
|
0:detectormac 00:aa:bb:cc:dd:ee
|
||||||
@ -16,6 +20,7 @@ hostname bchip007
|
|||||||
master -1
|
master -1
|
||||||
sync none
|
sync none
|
||||||
outdir /bigRAID/datadir_gotthard/rec_test_data
|
outdir /bigRAID/datadir_gotthard/rec_test_data
|
||||||
|
ffdir /home/l_maliakal_d
|
||||||
headerbefore none
|
headerbefore none
|
||||||
headerafter none
|
headerafter none
|
||||||
headerbeforepar none
|
headerbeforepar none
|
||||||
@ -24,4 +29,4 @@ badchannels none
|
|||||||
angconv none
|
angconv none
|
||||||
globaloff 0.000000
|
globaloff 0.000000
|
||||||
binsize 0.001000
|
binsize 0.001000
|
||||||
|
threaded 1
|
||||||
|
@ -1,14 +0,0 @@
|
|||||||
Turn on the two receivers:
|
|
||||||
slsReceiver --rx_tcpport 1954 &
|
|
||||||
slsReceiver --rx_tcpport 1955 &
|
|
||||||
|
|
||||||
Switch on the photon conversion on the receiver machine (replace my_receiver_hostname):
|
|
||||||
gotthard25umZmq my_receiver_hostname 30003 my_receiver_hostname 40003 &
|
|
||||||
|
|
||||||
Run the configuration file:
|
|
||||||
sls_detector_put config bchip2modules.config
|
|
||||||
|
|
||||||
|
|
||||||
Start your measurements using the command line, the slsDetectorGui or the EPICS driver
|
|
||||||
|
|
||||||
|
|
@ -1,15 +1,18 @@
|
|||||||
hostname bchip038+
|
hostname bchip038+
|
||||||
|
|
||||||
|
settingsdir /home/mySoft/slsDetectorsPackage/settingsdir/jungfrau
|
||||||
|
caldir /home/mySoft/slsDetectorsPackage/settingsdir/jungfrau
|
||||||
|
lock 0
|
||||||
|
|
||||||
0:rx_udpport 50004
|
0:rx_udpport 50004
|
||||||
0:rx_udpip 10.1.1.100
|
0:rx_udpip 10.1.1.100
|
||||||
0:detectorip 10.1.1.10
|
0:detectorip 10.1.1.10
|
||||||
|
|
||||||
rx_hostname pcmoench01
|
rx_hostname pcmoench01
|
||||||
|
|
||||||
powerchip 1
|
powerchip 1
|
||||||
|
timing auto
|
||||||
#extsig:0 trigger_in_rising_edge
|
|
||||||
#timing trigger
|
|
||||||
|
|
||||||
outdir /external_pool/jungfrau_data/softwaretest
|
outdir /external_pool/jungfrau_data/softwaretest
|
||||||
|
threaded 1
|
||||||
|
|
||||||
|
@ -1,6 +1,11 @@
|
|||||||
detsizechan 1024 1024
|
detsizechan 1024 1024
|
||||||
hostname bchip048+bchip052+
|
hostname bchip048+bchip052+
|
||||||
|
|
||||||
|
settingsdir /home/mySoft/slsDetectorsPackage/settingsdir/jungfrau
|
||||||
|
caldir /home/mySoft/slsDetectorsPackage/settingsdir/jungfrau
|
||||||
|
lock 0
|
||||||
|
|
||||||
|
|
||||||
0:rx_udpport 50004
|
0:rx_udpport 50004
|
||||||
0:rx_udpip 10.1.1.100
|
0:rx_udpip 10.1.1.100
|
||||||
0:rx_udpmac F4:52:14:2F:32:00
|
0:rx_udpmac F4:52:14:2F:32:00
|
||||||
@ -17,9 +22,9 @@ hostname bchip048+bchip052+
|
|||||||
rx_hostname pcmoench01
|
rx_hostname pcmoench01
|
||||||
|
|
||||||
powerchip 1
|
powerchip 1
|
||||||
#extsig:0 trigger_in_rising_edge
|
extsig:0 trigger_in_rising_edge
|
||||||
#timing trigger
|
timing auto
|
||||||
|
|
||||||
outdir /external_pool/jungfrau_data/softwaretest
|
outdir /external_pool/jungfrau_data/softwaretest
|
||||||
|
threaded 1
|
||||||
|
|
||||||
|
@ -1,489 +0,0 @@
|
|||||||
hostname bchip085+
|
|
||||||
|
|
||||||
patword 0000 0000000000000000
|
|
||||||
patword 0001 0000000000000000
|
|
||||||
patword 0002 0008000900080000
|
|
||||||
patword 0003 0008000900080000
|
|
||||||
patword 0004 0008000900080000
|
|
||||||
patword 0005 0008000900080000
|
|
||||||
patword 0006 0008000900080000
|
|
||||||
patword 0007 0008000900080000
|
|
||||||
patword 0008 0008000900080000
|
|
||||||
patword 0009 0008000900080000
|
|
||||||
patword 000a 0008000900080000
|
|
||||||
patword 000b 0008000900080000
|
|
||||||
patword 000c 0008000900080000
|
|
||||||
patword 000d 0008000900080000
|
|
||||||
patword 000e 0008000900080000
|
|
||||||
patword 000f 0008000900080000
|
|
||||||
patword 0010 0008000900080000
|
|
||||||
patword 0011 0008000900080000
|
|
||||||
patword 0012 0008000900080000
|
|
||||||
patword 0013 0008000900080000
|
|
||||||
patword 0014 0008000900080000
|
|
||||||
patword 0015 0008000900080000
|
|
||||||
patword 0016 0008400900080020
|
|
||||||
patword 0017 0008400900080020
|
|
||||||
patword 0018 0008599f0418503a
|
|
||||||
patword 0019 0008599f0418503a
|
|
||||||
patword 001a 0108599f0418503a
|
|
||||||
patword 001b 0108599f0418503a
|
|
||||||
patword 001c 0108599f0418503a
|
|
||||||
patword 001d 0108599f0418503a
|
|
||||||
patword 001e 0108599f0418503a
|
|
||||||
patword 001f 0108599f0418503a
|
|
||||||
patword 0020 0108599f0418503a
|
|
||||||
patword 0021 0108599f0418503a
|
|
||||||
patword 0022 0108599f0418503a
|
|
||||||
patword 0023 0108599f0418503a
|
|
||||||
patword 0024 0108599f0418503a
|
|
||||||
patword 0025 0108599f0418503a
|
|
||||||
patword 0026 0108599f0418503a
|
|
||||||
patword 0027 0108599f0418503a
|
|
||||||
patword 0028 0108599f0418503a
|
|
||||||
patword 0029 0108599f0418503a
|
|
||||||
patword 002a 0108599f0418503a
|
|
||||||
patword 002b 0108599f0418503a
|
|
||||||
patword 002c 0108599f0418503a
|
|
||||||
patword 002d 0108599f0418503a
|
|
||||||
patword 002e 0108599f0418503a
|
|
||||||
patword 002f 0108599f0418503a
|
|
||||||
patword 0030 0108599f0418503a
|
|
||||||
patword 0031 0108599f0418503a
|
|
||||||
patword 0032 0108599f0418503a
|
|
||||||
patword 0033 0108599f0418503a
|
|
||||||
patword 0034 0108599f0418503a
|
|
||||||
patword 0035 0108599f0418503a
|
|
||||||
patword 0036 0108599f0418503a
|
|
||||||
patword 0037 0108599f0418503a
|
|
||||||
patword 0038 0108599f0418503a
|
|
||||||
patword 0039 0108599f0418503a
|
|
||||||
patword 003a 0108599f0418503a
|
|
||||||
patword 003b 0108599f0418503a
|
|
||||||
patword 003c 0108599f0418503a
|
|
||||||
patword 003d 0108599f0418503a
|
|
||||||
patword 003e 0108599f0418503a
|
|
||||||
patword 003f 0108599f0418503a
|
|
||||||
patword 0040 0108599f0418503a
|
|
||||||
patword 0041 0108599f0418503a
|
|
||||||
patword 0042 0108599f0418503a
|
|
||||||
patword 0043 0108599f0418503a
|
|
||||||
patword 0044 0108599f0418503a
|
|
||||||
patword 0045 0108599f0418503a
|
|
||||||
patword 0046 0108599f0418503a
|
|
||||||
patword 0047 0108599f0418503a
|
|
||||||
patword 0048 0108599f0418503a
|
|
||||||
patword 0049 0108599f0418503a
|
|
||||||
patword 004a 0108599f0418503a
|
|
||||||
patword 004b 0108599f0418503a
|
|
||||||
patword 004c 0108599f0418503a
|
|
||||||
patword 004d 0108599f0418503a
|
|
||||||
patword 004e 0108599f0418503a
|
|
||||||
patword 004f 0108599f0418503a
|
|
||||||
patword 0050 0108599f0418503a
|
|
||||||
patword 0051 0108599f0418503a
|
|
||||||
patword 0052 0108599f0418503a
|
|
||||||
patword 0053 0108599f0418503a
|
|
||||||
patword 0054 0108599f0418503a
|
|
||||||
patword 0055 0108599f0418503a
|
|
||||||
patword 0056 0108599f0418503a
|
|
||||||
patword 0057 0108599f0418503a
|
|
||||||
patword 0058 0108599f0418503a
|
|
||||||
patword 0059 0108599f0418503a
|
|
||||||
patword 005a 0108599f0418503a
|
|
||||||
patword 005b 0108599f0418503a
|
|
||||||
patword 005c 0108599f0418503a
|
|
||||||
patword 005d 0108599f0418503a
|
|
||||||
patword 005e 0108599f0418503a
|
|
||||||
patword 005f 0108599f0418503a
|
|
||||||
patword 0060 0108599f0418503a
|
|
||||||
patword 0061 0108599f0418503a
|
|
||||||
patword 0062 0108599f0418503a
|
|
||||||
patword 0063 0108599f0418503a
|
|
||||||
patword 0064 0108599f0418503a
|
|
||||||
patword 0065 0108599f0418503a
|
|
||||||
patword 0066 0108599f0418503a
|
|
||||||
patword 0067 0108599f0418503a
|
|
||||||
patword 0068 0108599f0418503a
|
|
||||||
patword 0069 0108599f0418503a
|
|
||||||
patword 006a 0108599f0418503a
|
|
||||||
patword 006b 0108599f0418503a
|
|
||||||
patword 006c 0108599f0418503a
|
|
||||||
patword 006d 0108599f0418503a
|
|
||||||
patword 006e 0108599f0418503a
|
|
||||||
patword 006f 0108599f0418503a
|
|
||||||
patword 0070 0108599f0418503a
|
|
||||||
patword 0071 0108599f0418503a
|
|
||||||
patword 0072 0108599f0418503a
|
|
||||||
patword 0073 0108599f0418503a
|
|
||||||
patword 0074 0108599f0418503a
|
|
||||||
patword 0075 0108599f0418503a
|
|
||||||
patword 0076 0108599f0418503a
|
|
||||||
patword 0077 0108599f0418503a
|
|
||||||
patword 0078 0108599f0418503a
|
|
||||||
patword 0079 0108599f0418503a
|
|
||||||
patword 007a 0108599f0418503a
|
|
||||||
patword 007b 0108599f0418503a
|
|
||||||
patword 007c 0108599f0418503a
|
|
||||||
patword 007d 0108599f0418503a
|
|
||||||
patword 007e 010859960418503a
|
|
||||||
patword 007f 010859960418503a
|
|
||||||
patword 0080 010859960418503a
|
|
||||||
patword 0081 010859960418503a
|
|
||||||
patword 0082 010859960418503a
|
|
||||||
patword 0083 010859960418503a
|
|
||||||
patword 0084 010859960418503a
|
|
||||||
patword 0085 010859960418503a
|
|
||||||
patword 0086 010859960418503a
|
|
||||||
patword 0087 010859960418503a
|
|
||||||
patword 0088 010859960418503a
|
|
||||||
patword 0089 010859960418503a
|
|
||||||
patword 008a 010859960418503a
|
|
||||||
patword 008b 010859960418503a
|
|
||||||
patword 008c 010859960418503a
|
|
||||||
patword 008d 010859960418503a
|
|
||||||
patword 008e 010859960418503a
|
|
||||||
patword 008f 010859960418503a
|
|
||||||
patword 0090 010859960418503a
|
|
||||||
patword 0091 010859960418503a
|
|
||||||
patword 0092 010819960418501a
|
|
||||||
patword 0093 010819960418501a
|
|
||||||
patword 0094 010819960418501a
|
|
||||||
patword 0095 010819960418501a
|
|
||||||
patword 0096 030819960418501a
|
|
||||||
patword 0097 030819960418501a
|
|
||||||
patword 0098 030819960418501a
|
|
||||||
patword 0099 030819960418501a
|
|
||||||
patword 009a 030819960418501a
|
|
||||||
patword 009b 030819960418501a
|
|
||||||
patword 009c 030819960418501a
|
|
||||||
patword 009d 030819960418501a
|
|
||||||
patword 009e 030819960418501a
|
|
||||||
patword 009f 030819960418501a
|
|
||||||
patword 00a0 030819960418501a
|
|
||||||
patword 00a1 030819960418501a
|
|
||||||
patword 00a2 030819960418501a
|
|
||||||
patword 00a3 030819960418501a
|
|
||||||
patword 00a4 030819960418501a
|
|
||||||
patword 00a5 030819960418501a
|
|
||||||
patword 00a6 030819960418501a
|
|
||||||
patword 00a7 030819960418501a
|
|
||||||
patword 00a8 030819960418501a
|
|
||||||
patword 00a9 030819960418501a
|
|
||||||
patword 00aa 030819960418501a
|
|
||||||
patword 00ab 030819960418501a
|
|
||||||
patword 00ac 030819960008501a
|
|
||||||
patword 00ad 030819960008501a
|
|
||||||
patword 00ae 030819960008501a
|
|
||||||
patword 00af 030819960008501a
|
|
||||||
patword 00b0 030819960008501a
|
|
||||||
patword 00b1 030819960008501a
|
|
||||||
patword 00b2 030819960008501a
|
|
||||||
patword 00b3 030819960008501a
|
|
||||||
patword 00b4 030819960008501a
|
|
||||||
patword 00b5 030819960008501a
|
|
||||||
patword 00b6 030819960008501a
|
|
||||||
patword 00b7 030819960008501a
|
|
||||||
patword 00b8 030819960008501a
|
|
||||||
patword 00b9 030819960008501a
|
|
||||||
patword 00ba 030819960008501a
|
|
||||||
patword 00bb 030819960008501a
|
|
||||||
patword 00bc 030819960008501a
|
|
||||||
patword 00bd 030819960008501a
|
|
||||||
patword 00be 030819960008501a
|
|
||||||
patword 00bf 030819960008501a
|
|
||||||
patword 00c0 0308199f0008501a
|
|
||||||
patword 00c1 0308199f0008501a
|
|
||||||
patword 00c2 0308199f0008501a
|
|
||||||
patword 00c3 0308199f0008501a
|
|
||||||
patword 00c4 0308199f0008501a
|
|
||||||
patword 00c5 0308199f0008501a
|
|
||||||
patword 00c6 0308199f0008501a
|
|
||||||
patword 00c7 0308199f0008501a
|
|
||||||
patword 00c8 0308199f0008501a
|
|
||||||
patword 00c9 0308199f0008501a
|
|
||||||
patword 00ca 0308199f0008501a
|
|
||||||
patword 00cb 0308199f0008501a
|
|
||||||
patword 00cc 0308199f0008501a
|
|
||||||
patword 00cd 0308199f0008501a
|
|
||||||
patword 00ce 0308199f0008501a
|
|
||||||
patword 00cf 0308199f0008501a
|
|
||||||
patword 00d0 0308199f0008501a
|
|
||||||
patword 00d1 0308199f0008501a
|
|
||||||
patword 00d2 0308199f0008501a
|
|
||||||
patword 00d3 0308199f0008501a
|
|
||||||
patword 00d4 0308599f0008503a
|
|
||||||
patword 00d5 0308599f0008503a
|
|
||||||
patword 00d6 030c599f000850ba
|
|
||||||
patword 00d7 030c599f000850ba
|
|
||||||
patword 00d8 030c599f000850ba
|
|
||||||
patword 00d9 030c599f000850ba
|
|
||||||
patword 00da 030c599f000850ba
|
|
||||||
patword 00db 030c599f000850ba
|
|
||||||
patword 00dc 030c599f000850ba
|
|
||||||
patword 00dd 030c599f000850ba
|
|
||||||
patword 00de 030c599f000850ba
|
|
||||||
patword 00df 030c599f000850ba
|
|
||||||
patword 00e0 030c599f000850ba
|
|
||||||
patword 00e1 030c599f000850ba
|
|
||||||
patword 00e2 030c599f000850ba
|
|
||||||
patword 00e3 030c599f000850ba
|
|
||||||
patword 00e4 030c599f000850ba
|
|
||||||
patword 00e5 030c599f000850ba
|
|
||||||
patword 00e6 030c599f000850ba
|
|
||||||
patword 00e7 030c599f000850ba
|
|
||||||
patword 00e8 030c599f000850ba
|
|
||||||
patword 00e9 030c599f000850ba
|
|
||||||
patword 00ea 030c799f010858ba
|
|
||||||
patword 00eb 030c799f010858ba
|
|
||||||
patword 00ec 030c599f000850ba
|
|
||||||
patword 00ed 030c599f000850ba
|
|
||||||
patword 00ee 030c599f000850ba
|
|
||||||
patword 00ef 030c599f000850ba
|
|
||||||
patword 00f0 030c599f000850ba
|
|
||||||
patword 00f1 030c599f000850ba
|
|
||||||
patword 00f2 030c599f000850ba
|
|
||||||
patword 00f3 030c599f000850ba
|
|
||||||
patword 00f4 030c599f000850ba
|
|
||||||
patword 00f5 030c599f000850ba
|
|
||||||
patword 00f6 030c599f000850ba
|
|
||||||
patword 00f7 030c599f000850ba
|
|
||||||
patword 00f8 030c599f000850ba
|
|
||||||
patword 00f9 030c599f000850ba
|
|
||||||
patword 00fa 030c599f000850ba
|
|
||||||
patword 00fb 030c599f000850ba
|
|
||||||
patword 00fc 030c599f000850ba
|
|
||||||
patword 00fd 030c599f000850ba
|
|
||||||
patword 00fe 030c599f000850ba
|
|
||||||
patword 00ff 030c599f000850ba
|
|
||||||
patword 0100 030c599f000850ba
|
|
||||||
patword 0101 030c599f000850ba
|
|
||||||
patword 0102 030c599f400850ba
|
|
||||||
patword 0103 030c599f400850ba
|
|
||||||
patword 0104 030c599f600850ba
|
|
||||||
patword 0105 030c599f400850ba
|
|
||||||
patword 0106 030c599f400850ba
|
|
||||||
patword 0107 030c599f400850ba
|
|
||||||
patword 0108 870c599f682e50ba
|
|
||||||
patword 0109 870c599f482850ba
|
|
||||||
patword 010a 870c599f000e50ba
|
|
||||||
patword 010b 870c599f000850ba
|
|
||||||
patword 010c 870c599f000e50ba
|
|
||||||
patword 010d 870c599f000850ba
|
|
||||||
patword 010e 870c599f000e50ba
|
|
||||||
patword 010f 870c599f000850ba
|
|
||||||
patword 0110 870c599f000e50ba
|
|
||||||
patword 0111 870c599f000850ba
|
|
||||||
patword 0112 870c599f000e50ba
|
|
||||||
patword 0113 870c599f000850ba
|
|
||||||
patword 0114 870c599f000e50ba
|
|
||||||
patword 0115 870c599f000850ba
|
|
||||||
patword 0116 870c599f000e50ba
|
|
||||||
patword 0117 870c599f000850ba
|
|
||||||
patword 0118 870c599f000e50ba
|
|
||||||
patword 0119 870c599f000850ba
|
|
||||||
patword 011a 870c599f000e50ba
|
|
||||||
patword 011b 870c599f000850ba
|
|
||||||
patword 011c 870c599f000e50ba
|
|
||||||
patword 011d 870c599f000850ba
|
|
||||||
patword 011e 870c599f000e50ba
|
|
||||||
patword 011f 870c599f000850ba
|
|
||||||
patword 0120 870c599f000e50ba
|
|
||||||
patword 0121 870c599f000850ba
|
|
||||||
patword 0122 870c599f200e50ba
|
|
||||||
patword 0123 870c599f000850ba
|
|
||||||
patword 0124 870c599f000e50ba
|
|
||||||
patword 0125 870c599f000850ba
|
|
||||||
patword 0126 870c599f000e50ba
|
|
||||||
patword 0127 870c599f000850ba
|
|
||||||
patword 0128 870c599f000e50ba
|
|
||||||
patword 0129 870c599f000850ba
|
|
||||||
patword 012a 870c599f000e50ba
|
|
||||||
patword 012b 870c599f000850ba
|
|
||||||
patword 012c 870c599f000e50ba
|
|
||||||
patword 012d 870c599f000850ba
|
|
||||||
patword 012e 870c599f000e50ba
|
|
||||||
patword 012f 870c599f000850ba
|
|
||||||
patword 0130 870c599f000e50ba
|
|
||||||
patword 0131 870c599f000850ba
|
|
||||||
patword 0132 870c599f000e50ba
|
|
||||||
patword 0133 870c599f000850ba
|
|
||||||
patword 0134 870c599f000e50ba
|
|
||||||
patword 0135 870c599f000850ba
|
|
||||||
patword 0136 870c599f000e50ba
|
|
||||||
patword 0137 870c599f000850ba
|
|
||||||
patword 0138 870c599f000e50ba
|
|
||||||
patword 0139 870c599f000850ba
|
|
||||||
patword 013a 870c599f282e50ba
|
|
||||||
patword 013b 870c599f082850ba
|
|
||||||
patword 013c 870c599f000e50ba
|
|
||||||
patword 013d 870c599f000850ba
|
|
||||||
patword 013e 870c599f000e50ba
|
|
||||||
patword 013f 870c599f000850ba
|
|
||||||
patword 0140 870c599f000e50ba
|
|
||||||
patword 0141 870c599f000850ba
|
|
||||||
patword 0142 870c599f000e50ba
|
|
||||||
patword 0143 870c599f000850ba
|
|
||||||
patword 0144 870c599f000e50ba
|
|
||||||
patword 0145 870c599f000850ba
|
|
||||||
patword 0146 870c599f000e50ba
|
|
||||||
patword 0147 870c599f000850ba
|
|
||||||
patword 0148 870c599f000e50ba
|
|
||||||
patword 0149 870c599f000850ba
|
|
||||||
patword 014a 870c599f000e50ba
|
|
||||||
patword 014b 870c599f000850ba
|
|
||||||
patword 014c 870c599f000e50ba
|
|
||||||
patword 014d 870c599f000850ba
|
|
||||||
patword 014e 870c599f000e50ba
|
|
||||||
patword 014f 870c599f000850ba
|
|
||||||
patword 0150 870c599f000e50ba
|
|
||||||
patword 0151 870c599f000850ba
|
|
||||||
patword 0152 870c599f000e50ba
|
|
||||||
patword 0153 870c599f000850ba
|
|
||||||
patword 0154 870c599f200e50ba
|
|
||||||
patword 0155 870c599f000850ba
|
|
||||||
patword 0156 870c599f000e50ba
|
|
||||||
patword 0157 870c599f000850ba
|
|
||||||
patword 0158 870c599f000e50ba
|
|
||||||
patword 0159 870c599f000850ba
|
|
||||||
patword 015a 870c599f000e50ba
|
|
||||||
patword 015b 870c599f000850ba
|
|
||||||
patword 015c 870c599f000e50ba
|
|
||||||
patword 015d 870c599f000850ba
|
|
||||||
patword 015e 870c599f000e50ba
|
|
||||||
patword 015f 870c599f000850ba
|
|
||||||
patword 0160 870c599f000e50ba
|
|
||||||
patword 0161 870c599f000850ba
|
|
||||||
patword 0162 870c599f000e50ba
|
|
||||||
patword 0163 870c599f000850ba
|
|
||||||
patword 0164 870c599f000e50ba
|
|
||||||
patword 0165 870c599f000850ba
|
|
||||||
patword 0166 870c599f000e50ba
|
|
||||||
patword 0167 870c599f000850ba
|
|
||||||
patword 0168 870c599f000e50ba
|
|
||||||
patword 0169 870c599f000850ba
|
|
||||||
patword 016a 870c599f000e50ba
|
|
||||||
patword 016b 870c599f000850ba
|
|
||||||
patword 016c 070c599f000850ba
|
|
||||||
patword 016d 070c599f000850ba
|
|
||||||
patword 016e 000c599f000850ba
|
|
||||||
patword 016f 000c599f000850ba
|
|
||||||
patword 0170 0008599f200e503a
|
|
||||||
patword 0171 0008599f0008503a
|
|
||||||
patword 0172 0008599f200e503a
|
|
||||||
patword 0173 0008599f0008503a
|
|
||||||
patword 0174 0008599f0008503a
|
|
||||||
patword 0175 0008599f0008503a
|
|
||||||
patword 0176 0008599f0008503a
|
|
||||||
patword 0177 0008599f0008503a
|
|
||||||
patword 0178 0008599f0008503a
|
|
||||||
patword 0179 0008599f0008503a
|
|
||||||
patword 017a 0008599f0008503a
|
|
||||||
patword 017b 0008599f0008503a
|
|
||||||
patword 017c 0008599f0008503a
|
|
||||||
patword 017d 0008599f0008503a
|
|
||||||
patword 017e 0008599f0008503a
|
|
||||||
patword 017f 0008599f0008503a
|
|
||||||
patword 0180 0008599f0008503a
|
|
||||||
patword 0181 0008599f0008503a
|
|
||||||
patword 0182 0008599f0008503a
|
|
||||||
patword 0183 0008599f0008503a
|
|
||||||
patword 0184 0008599f0008503a
|
|
||||||
patword 0185 0008599f0008503a
|
|
||||||
patword 0186 0008599f0008503a
|
|
||||||
patword 0187 0008599f0008503a
|
|
||||||
patword 0188 0008599f0008503a
|
|
||||||
patword 0189 0008599f0008503a
|
|
||||||
patword 018a 0008599f0008503a
|
|
||||||
patword 018b 0008599f0008503a
|
|
||||||
patword 018c 0008599f0008503a
|
|
||||||
patword 018d 0008599f0008503a
|
|
||||||
patioctrl 8f0effff6dbffdbf
|
|
||||||
patclkctrl 0000000000000000
|
|
||||||
patlimits 0000 018c
|
|
||||||
patloop0 013a 016b
|
|
||||||
patnloop0 199
|
|
||||||
patloop1 0400 0400
|
|
||||||
patnloop1 0
|
|
||||||
patloop2 0400 0400
|
|
||||||
patnloop2 0
|
|
||||||
patwait0 00aa
|
|
||||||
patwaittime0 40000
|
|
||||||
patwait1 0400
|
|
||||||
patwaittime1 0
|
|
||||||
patwait2 0400
|
|
||||||
patwaittime2 0
|
|
||||||
|
|
||||||
|
|
||||||
####mcp2011
|
|
||||||
#0:rx_udpip 10.1.1.102
|
|
||||||
#0:detectorip 10.1.1.19
|
|
||||||
#0:rx_udpport 32410
|
|
||||||
####gui listening to
|
|
||||||
#zmqip 129.129.202.131
|
|
||||||
#zmqport 30001
|
|
||||||
####data streaming out of
|
|
||||||
#rx_zmqip 10.1.2.103
|
|
||||||
#rx_zmqport 30003
|
|
||||||
#0:rx_hostname mpc2011
|
|
||||||
|
|
||||||
####mx-test-1
|
|
||||||
0:rx_udpip 10.1.1.100
|
|
||||||
0:detectorip 10.1.1.19
|
|
||||||
0:rx_udpport 32410
|
|
||||||
####gui listening to (on receiver pc)
|
|
||||||
zmqip 129.129.202.92
|
|
||||||
zmqport 30001
|
|
||||||
####data streaming out of
|
|
||||||
rx_zmqip 10.1.1.100
|
|
||||||
rx_zmqport 30003
|
|
||||||
0:rx_hostname pcmoench01
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#turn on datastream from commandline
|
|
||||||
rx_datastream 1
|
|
||||||
|
|
||||||
r_readfreq 1
|
|
||||||
|
|
||||||
#0:configuremac -1
|
|
||||||
rx_datastream 1
|
|
||||||
|
|
||||||
r_readfreq 1
|
|
||||||
|
|
||||||
|
|
||||||
dac:6 800
|
|
||||||
dac:0 1300
|
|
||||||
dac:4 1428
|
|
||||||
dac:1 1000
|
|
||||||
dac:7 900
|
|
||||||
dac:3 680
|
|
||||||
dac:2 1400
|
|
||||||
dac:5 1200
|
|
||||||
adcinvert 4a342593
|
|
||||||
samples 5000
|
|
||||||
adcphase 90
|
|
||||||
adcpipeline 15
|
|
||||||
adcreg 14 40
|
|
||||||
powerchip 1
|
|
||||||
vhighvoltage 90
|
|
||||||
period 0.005
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
frames 100
|
|
||||||
period 0.1
|
|
||||||
outdir /scratch/
|
|
||||||
enablefwrite 0
|
|
||||||
|
|
@ -8,11 +8,13 @@ hostname bchip007+bchip009+
|
|||||||
#0:port 1952
|
#0:port 1952
|
||||||
#0:stopport 1953
|
#0:stopport 1953
|
||||||
#0:rx_tcpport 1956
|
#0:rx_tcpport 1956
|
||||||
|
0:settingsdir /home/l_msdetect/dhanya/slsDetectorsPackage/settingsdir/gotthard
|
||||||
0:angdir 1.000000
|
0:angdir 1.000000
|
||||||
0:moveflag 0.000000
|
0:moveflag 0.000000
|
||||||
|
0:lock 0
|
||||||
|
0:caldir /home/l_msdetect/dhanya/slsDetectorsPackage/settingsdir/gotthard
|
||||||
0:ffdir /home/l_msdetect
|
0:ffdir /home/l_msdetect
|
||||||
0:extsig:0 off
|
0:extsig:0 off
|
||||||
|
|
||||||
0:detectorip 10.1.1.2
|
0:detectorip 10.1.1.2
|
||||||
#0:detectormac 00:aa:bb:cc:dd:ee
|
#0:detectormac 00:aa:bb:cc:dd:ee
|
||||||
#0:rx_udpport 50001
|
#0:rx_udpport 50001
|
||||||
@ -26,11 +28,13 @@ hostname bchip007+bchip009+
|
|||||||
#1:port 1952
|
#1:port 1952
|
||||||
#1:stopport 1953
|
#1:stopport 1953
|
||||||
1:rx_tcpport 1957
|
1:rx_tcpport 1957
|
||||||
|
1:settingsdir /home/l_msdetect/dhanya/slsDetectorsPackage/settingsdir/gotthard
|
||||||
1:angdir 1.000000
|
1:angdir 1.000000
|
||||||
1:moveflag 0.000000
|
1:moveflag 0.000000
|
||||||
|
1:lock 0
|
||||||
|
1:caldir /home/l_msdetect/dhanya/slsDetectorsPackage/settingsdir/gotthard
|
||||||
1:ffdir /home/l_msdetect
|
1:ffdir /home/l_msdetect
|
||||||
1:extsig:0 off
|
1:extsig:0 off
|
||||||
|
|
||||||
1:detectorip 10.1.2.2
|
1:detectorip 10.1.2.2
|
||||||
#1:detectormac 00:aa:bb:cc:dd:ee
|
#1:detectormac 00:aa:bb:cc:dd:ee
|
||||||
1:rx_udpport 50004
|
1:rx_udpport 50004
|
||||||
@ -52,4 +56,4 @@ badchannels none
|
|||||||
angconv none
|
angconv none
|
||||||
globaloff 0.000000
|
globaloff 0.000000
|
||||||
binsize 0.001000
|
binsize 0.001000
|
||||||
|
threaded 1
|
||||||
|
13
manual/docs/html/slsDetectors-FAQ/WARNINGS
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
No implementation found for style `graphicx'
|
||||||
|
No implementation found for style `eucal'
|
||||||
|
No implementation found for style `amsxtra'
|
||||||
|
No implementation found for style `upref'
|
||||||
|
No implementation found for style `layout'
|
||||||
|
No implementation found for style `calc'
|
||||||
|
No implementation found for style `framed'
|
||||||
|
|
||||||
|
? brace missing for \
|
||||||
|
|
||||||
|
Substitution of arg to newlabelxx delayed.
|
||||||
|
|
||||||
|
? brace missing for \textit
|
101
manual/docs/html/slsDetectors-FAQ/footnode.html
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||||
|
|
||||||
|
<!--Converted with LaTeX2HTML 2008 (1.71)
|
||||||
|
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||||
|
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||||
|
* with significant contributions from:
|
||||||
|
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||||
|
<HTML>
|
||||||
|
<HEAD>
|
||||||
|
<TITLE>Footnotes</TITLE>
|
||||||
|
<META NAME="description" CONTENT="Footnotes">
|
||||||
|
<META NAME="keywords" CONTENT="slsDetectors-FAQ">
|
||||||
|
<META NAME="resource-type" CONTENT="document">
|
||||||
|
<META NAME="distribution" CONTENT="global">
|
||||||
|
|
||||||
|
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
|
||||||
|
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||||
|
|
||||||
|
<LINK REL="STYLESHEET" HREF="slsDetectors-FAQ.css">
|
||||||
|
|
||||||
|
</HEAD>
|
||||||
|
|
||||||
|
<BODY >
|
||||||
|
|
||||||
|
<DL>
|
||||||
|
<DT><A NAME="foot1316">... tab </A><A
|
||||||
|
HREF="MYTHEN.html#tex2html20"><SUP>3.1</SUP></A></DT>
|
||||||
|
<DD>The default name of the calibrated trimfiles is <I>trimbits/beamline/</I><I>settings</I><I>/noise.snxxx</I> where <I>settings</I> is the chosen settings. You can change it in <I>src/qDetector.h</I> and then recompile the acquisition program as described in <A HREF="#sec:installation"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
|
||||||
|
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>.
|
||||||
|
|
||||||
|
<PRE>.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
</PRE>
|
||||||
|
</DD>
|
||||||
|
<DT><A NAME="foot1317">....snxxx </A><A
|
||||||
|
HREF="MYTHEN.html#tex2html21"><SUP>3.2</SUP></A></DT>
|
||||||
|
<DD>The default name of the calibration file <I>calibration/</I><I>settings</I><I>.snxxx</I> where <I>settings</I> is the chosen settings. You can change it in <I>src/qDetector.h</I> and then recompile the acquisition program.
|
||||||
|
|
||||||
|
<PRE>.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
</PRE>
|
||||||
|
</DD>
|
||||||
|
</DL>
|
||||||
|
</BODY>
|
||||||
|
</HTML>
|
1583
manual/docs/html/slsDetectors-FAQ/images.pl
Normal file
2096
manual/docs/html/slsDetectors-FAQ/images.tex
Normal file
BIN
manual/docs/html/slsDetectors-FAQ/img1.png
Normal file
After Width: | Height: | Size: 242 B |
BIN
manual/docs/html/slsDetectors-FAQ/img10.png
Normal file
After Width: | Height: | Size: 3.6 KiB |
BIN
manual/docs/html/slsDetectors-FAQ/img11.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
manual/docs/html/slsDetectors-FAQ/img12.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
manual/docs/html/slsDetectors-FAQ/img13.png
Normal file
After Width: | Height: | Size: 682 B |
BIN
manual/docs/html/slsDetectors-FAQ/img14.png
Normal file
After Width: | Height: | Size: 37 KiB |
BIN
manual/docs/html/slsDetectors-FAQ/img15.png
Normal file
After Width: | Height: | Size: 223 B |
BIN
manual/docs/html/slsDetectors-FAQ/img16.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
manual/docs/html/slsDetectors-FAQ/img17.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
manual/docs/html/slsDetectors-FAQ/img18.png
Normal file
After Width: | Height: | Size: 9.7 KiB |
BIN
manual/docs/html/slsDetectors-FAQ/img19.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
manual/docs/html/slsDetectors-FAQ/img2.png
Normal file
After Width: | Height: | Size: 4.8 KiB |
BIN
manual/docs/html/slsDetectors-FAQ/img20.png
Normal file
After Width: | Height: | Size: 255 B |
BIN
manual/docs/html/slsDetectors-FAQ/img21.png
Normal file
After Width: | Height: | Size: 471 B |
BIN
manual/docs/html/slsDetectors-FAQ/img22.png
Normal file
After Width: | Height: | Size: 269 B |
BIN
manual/docs/html/slsDetectors-FAQ/img23.png
Normal file
After Width: | Height: | Size: 259 B |
BIN
manual/docs/html/slsDetectors-FAQ/img24.png
Normal file
After Width: | Height: | Size: 416 B |
BIN
manual/docs/html/slsDetectors-FAQ/img25.png
Normal file
After Width: | Height: | Size: 485 B |
BIN
manual/docs/html/slsDetectors-FAQ/img26.png
Normal file
After Width: | Height: | Size: 461 B |
BIN
manual/docs/html/slsDetectors-FAQ/img27.png
Normal file
After Width: | Height: | Size: 473 B |
BIN
manual/docs/html/slsDetectors-FAQ/img28.png
Normal file
After Width: | Height: | Size: 348 B |
BIN
manual/docs/html/slsDetectors-FAQ/img29.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
manual/docs/html/slsDetectors-FAQ/img3.png
Normal file
After Width: | Height: | Size: 9.1 KiB |
BIN
manual/docs/html/slsDetectors-FAQ/img30.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
manual/docs/html/slsDetectors-FAQ/img31.png
Normal file
After Width: | Height: | Size: 9.0 KiB |
BIN
manual/docs/html/slsDetectors-FAQ/img32.png
Normal file
After Width: | Height: | Size: 578 B |
BIN
manual/docs/html/slsDetectors-FAQ/img33.png
Normal file
After Width: | Height: | Size: 495 B |
BIN
manual/docs/html/slsDetectors-FAQ/img34.png
Normal file
After Width: | Height: | Size: 550 B |
BIN
manual/docs/html/slsDetectors-FAQ/img35.png
Normal file
After Width: | Height: | Size: 159 B |
BIN
manual/docs/html/slsDetectors-FAQ/img36.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
manual/docs/html/slsDetectors-FAQ/img4.png
Normal file
After Width: | Height: | Size: 211 B |
BIN
manual/docs/html/slsDetectors-FAQ/img5.png
Normal file
After Width: | Height: | Size: 215 B |
BIN
manual/docs/html/slsDetectors-FAQ/img6.png
Normal file
After Width: | Height: | Size: 161 B |
BIN
manual/docs/html/slsDetectors-FAQ/img7.png
Normal file
After Width: | Height: | Size: 9.8 KiB |
BIN
manual/docs/html/slsDetectors-FAQ/img8.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
manual/docs/html/slsDetectors-FAQ/img9.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
41
manual/docs/html/slsDetectors-FAQ/index.html
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||||
|
|
||||||
|
<!--Converted with LaTeX2HTML 2008 (1.71)
|
||||||
|
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||||
|
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||||
|
* with significant contributions from:
|
||||||
|
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||||
|
<HTML>
|
||||||
|
<HEAD>
|
||||||
|
<TITLE>SLS Detectors
|
||||||
|
Frequently Asked Questions</TITLE>
|
||||||
|
<META NAME="description" CONTENT="SLS Detectors
|
||||||
|
Frequently Asked Questions">
|
||||||
|
<META NAME="keywords" CONTENT="slsDetectors-FAQ">
|
||||||
|
<META NAME="resource-type" CONTENT="document">
|
||||||
|
<META NAME="distribution" CONTENT="global">
|
||||||
|
|
||||||
|
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
|
||||||
|
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||||
|
|
||||||
|
<LINK REL="STYLESHEET" HREF="slsDetectors-FAQ.css">
|
||||||
|
|
||||||
|
</HEAD>
|
||||||
|
|
||||||
|
<BODY >
|
||||||
|
|
||||||
|
<P>
|
||||||
|
|
||||||
|
<H1 ALIGN=CENTER>SLS Detectors
|
||||||
|
<BR>
|
||||||
|
Frequently Asked Questions</H1>
|
||||||
|
<P ALIGN=CENTER><STRONG>Anna Bergamaschi</STRONG>
|
||||||
|
</P>
|
||||||
|
<BR><P ALIGN=CENTER><B>Date:</B> February 27, 2018</P>
|
||||||
|
|
||||||
|
<HR>
|
||||||
|
|
||||||
|
<BR><HR>
|
||||||
|
|
||||||
|
</BODY>
|
||||||
|
</HTML>
|
134
manual/docs/html/slsDetectors-FAQ/internals.pl
Normal file
@ -0,0 +1,134 @@
|
|||||||
|
# LaTeX2HTML 2008 (1.71)
|
||||||
|
# Associate internals original text with physical files.
|
||||||
|
|
||||||
|
|
||||||
|
$key = q/sec:usersFunc/;
|
||||||
|
$ref_files{$key} = "$dir".q|How_can_detector_movement_p.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:merging/;
|
||||||
|
$ref_files{$key} = "$dir".q|How_are_different_positions.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:timing/;
|
||||||
|
$ref_files{$key} = "$dir".q|How_can_I_synchronize_my.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:gating/;
|
||||||
|
$ref_files{$key} = "$dir".q|How_can_I_synchronize_my.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:improvetrimming/;
|
||||||
|
$ref_files{$key} = "$dir".q|MYTHEN.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:multidet/;
|
||||||
|
$ref_files{$key} = "$dir".q|How_can_I_control_many.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/eq:acqflow/;
|
||||||
|
$ref_files{$key} = "$dir".q|Which_is_sequence_acquisiti.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:autotiming/;
|
||||||
|
$ref_files{$key} = "$dir".q|How_can_I_synchronize_my.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:3/;
|
||||||
|
$ref_files{$key} = "$dir".q|Scaling_Poisson_variates.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:samplefluo/;
|
||||||
|
$ref_files{$key} = "$dir".q|How_do_I_chose_comparator.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:settings/;
|
||||||
|
$ref_files{$key} = "$dir".q|MYTHEN.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:2/;
|
||||||
|
$ref_files{$key} = "$dir".q|Advanced_binning.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:effidet/;
|
||||||
|
$ref_files{$key} = "$dir".q|Sensors.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:11/;
|
||||||
|
$ref_files{$key} = "$dir".q|Basic_binning.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:thrscanfluo/;
|
||||||
|
$ref_files{$key} = "$dir".q|How_do_I_chose_comparator.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:dataFormat/;
|
||||||
|
$ref_files{$key} = "$dir".q|In_which_data_format_are.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:mythensett/;
|
||||||
|
$ref_files{$key} = "$dir".q|Frontend_electronics.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:sync/;
|
||||||
|
$ref_files{$key} = "$dir".q|How_can_several_controllers.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:badff/;
|
||||||
|
$ref_files{$key} = "$dir".q|Why_isn_t_my_flat_field_fla.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:datareceiver/;
|
||||||
|
$ref_files{$key} = "$dir".q|How_can_I_configure_data.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:effiback/;
|
||||||
|
$ref_files{$key} = "$dir".q|Sensors.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:trig/;
|
||||||
|
$ref_files{$key} = "$dir".q|How_can_I_synchronize_my.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:ffsetup/;
|
||||||
|
$ref_files{$key} = "$dir".q|Dynamic_acquisition_flat_fi.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:thresholdscanuntrimmed/;
|
||||||
|
$ref_files{$key} = "$dir".q|MYTHEN.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:trimdistribution/;
|
||||||
|
$ref_files{$key} = "$dir".q|MYTHEN.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:angcal/;
|
||||||
|
$ref_files{$key} = "$dir".q|How_is_channel_number_cover.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:trimdir/;
|
||||||
|
$ref_files{$key} = "$dir".q|What_are_settings_calibrati.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:trimplot/;
|
||||||
|
$ref_files{$key} = "$dir".q|MYTHEN.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:thresholdscantrimmed/;
|
||||||
|
$ref_files{$key} = "$dir".q|MYTHEN.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:noisetrim/;
|
||||||
|
$ref_files{$key} = "$dir".q|MYTHEN.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:encal/;
|
||||||
|
$ref_files{$key} = "$dir".q|In_what_consists_energy_cal.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:thrscan/;
|
||||||
|
$ref_files{$key} = "$dir".q|How_do_I_chose_comparator.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
1;
|
||||||
|
|
269
manual/docs/html/slsDetectors-FAQ/labels.pl
Normal file
@ -0,0 +1,269 @@
|
|||||||
|
# LaTeX2HTML 2008 (1.71)
|
||||||
|
# Associate labels original text with physical files.
|
||||||
|
|
||||||
|
|
||||||
|
$key = q/sec:usersFunc/;
|
||||||
|
$external_labels{$key} = "$URL/" . q|How_can_detector_movement_p.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:merging/;
|
||||||
|
$external_labels{$key} = "$URL/" . q|How_are_different_positions.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:timing/;
|
||||||
|
$external_labels{$key} = "$URL/" . q|How_can_I_synchronize_my.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:gating/;
|
||||||
|
$external_labels{$key} = "$URL/" . q|How_can_I_synchronize_my.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:improvetrimming/;
|
||||||
|
$external_labels{$key} = "$URL/" . q|MYTHEN.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:multidet/;
|
||||||
|
$external_labels{$key} = "$URL/" . q|How_can_I_control_many.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/eq:acqflow/;
|
||||||
|
$external_labels{$key} = "$URL/" . q|Which_is_sequence_acquisiti.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:autotiming/;
|
||||||
|
$external_labels{$key} = "$URL/" . q|How_can_I_synchronize_my.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:3/;
|
||||||
|
$external_labels{$key} = "$URL/" . q|Scaling_Poisson_variates.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:samplefluo/;
|
||||||
|
$external_labels{$key} = "$URL/" . q|How_do_I_chose_comparator.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:settings/;
|
||||||
|
$external_labels{$key} = "$URL/" . q|MYTHEN.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:2/;
|
||||||
|
$external_labels{$key} = "$URL/" . q|Advanced_binning.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:effidet/;
|
||||||
|
$external_labels{$key} = "$URL/" . q|Sensors.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:11/;
|
||||||
|
$external_labels{$key} = "$URL/" . q|Basic_binning.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:thrscanfluo/;
|
||||||
|
$external_labels{$key} = "$URL/" . q|How_do_I_chose_comparator.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:dataFormat/;
|
||||||
|
$external_labels{$key} = "$URL/" . q|In_which_data_format_are.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:mythensett/;
|
||||||
|
$external_labels{$key} = "$URL/" . q|Frontend_electronics.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:sync/;
|
||||||
|
$external_labels{$key} = "$URL/" . q|How_can_several_controllers.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:badff/;
|
||||||
|
$external_labels{$key} = "$URL/" . q|Why_isn_t_my_flat_field_fla.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:datareceiver/;
|
||||||
|
$external_labels{$key} = "$URL/" . q|How_can_I_configure_data.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:effiback/;
|
||||||
|
$external_labels{$key} = "$URL/" . q|Sensors.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:trig/;
|
||||||
|
$external_labels{$key} = "$URL/" . q|How_can_I_synchronize_my.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:ffsetup/;
|
||||||
|
$external_labels{$key} = "$URL/" . q|Dynamic_acquisition_flat_fi.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:thresholdscanuntrimmed/;
|
||||||
|
$external_labels{$key} = "$URL/" . q|MYTHEN.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:trimdistribution/;
|
||||||
|
$external_labels{$key} = "$URL/" . q|MYTHEN.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:angcal/;
|
||||||
|
$external_labels{$key} = "$URL/" . q|How_is_channel_number_cover.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:trimdir/;
|
||||||
|
$external_labels{$key} = "$URL/" . q|What_are_settings_calibrati.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:trimplot/;
|
||||||
|
$external_labels{$key} = "$URL/" . q|MYTHEN.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:thresholdscantrimmed/;
|
||||||
|
$external_labels{$key} = "$URL/" . q|MYTHEN.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:noisetrim/;
|
||||||
|
$external_labels{$key} = "$URL/" . q|MYTHEN.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:encal/;
|
||||||
|
$external_labels{$key} = "$URL/" . q|In_what_consists_energy_cal.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:thrscan/;
|
||||||
|
$external_labels{$key} = "$URL/" . q|How_do_I_chose_comparator.html|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
1;
|
||||||
|
|
||||||
|
|
||||||
|
# LaTeX2HTML 2008 (1.71)
|
||||||
|
# labels from external_latex_labels array.
|
||||||
|
|
||||||
|
|
||||||
|
$key = q/sec:usersFunc/;
|
||||||
|
$external_latex_labels{$key} = q|1.10|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:merging/;
|
||||||
|
$external_latex_labels{$key} = q|5.2|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:timing/;
|
||||||
|
$external_latex_labels{$key} = q|1.8|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:gating/;
|
||||||
|
$external_latex_labels{$key} = q|1.4|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:improvetrimming/;
|
||||||
|
$external_latex_labels{$key} = q|3.4.1|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:multidet/;
|
||||||
|
$external_latex_labels{$key} = q|1.1|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/eq:acqflow/;
|
||||||
|
$external_latex_labels{$key} = q|1.7|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:autotiming/;
|
||||||
|
$external_latex_labels{$key} = q|1.3|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:3/;
|
||||||
|
$external_latex_labels{$key} = q|5.2.6|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:samplefluo/;
|
||||||
|
$external_latex_labels{$key} = q|3.4|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:settings/;
|
||||||
|
$external_latex_labels{$key} = q|3.1|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:2/;
|
||||||
|
$external_latex_labels{$key} = q|5.2.3|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:effidet/;
|
||||||
|
$external_latex_labels{$key} = q|2.1|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:11/;
|
||||||
|
$external_latex_labels{$key} = q|5.2.2|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:thrscanfluo/;
|
||||||
|
$external_latex_labels{$key} = q|3.3|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:dataFormat/;
|
||||||
|
$external_latex_labels{$key} = q|1.11|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:mythensett/;
|
||||||
|
$external_latex_labels{$key} = q|2.3|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:sync/;
|
||||||
|
$external_latex_labels{$key} = q|1.9|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:badff/;
|
||||||
|
$external_latex_labels{$key} = q|3.5|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:datareceiver/;
|
||||||
|
$external_latex_labels{$key} = q|1.2|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:effiback/;
|
||||||
|
$external_latex_labels{$key} = q|2.2|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:trig/;
|
||||||
|
$external_latex_labels{$key} = q|1.6|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:ffsetup/;
|
||||||
|
$external_latex_labels{$key} = q|3.6|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:thresholdscanuntrimmed/;
|
||||||
|
$external_latex_labels{$key} = q|3.7|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:trimdistribution/;
|
||||||
|
$external_latex_labels{$key} = q|3.8|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:angcal/;
|
||||||
|
$external_latex_labels{$key} = q|5.1|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:trimdir/;
|
||||||
|
$external_latex_labels{$key} = q|1.4|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:trimplot/;
|
||||||
|
$external_latex_labels{$key} = q|3.9|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:thresholdscantrimmed/;
|
||||||
|
$external_latex_labels{$key} = q|3.10|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:noisetrim/;
|
||||||
|
$external_latex_labels{$key} = q|3.4.1|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/sec:encal/;
|
||||||
|
$external_latex_labels{$key} = q|3.5|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
$key = q/fig:thrscan/;
|
||||||
|
$external_latex_labels{$key} = q|3.2|;
|
||||||
|
$noresave{$key} = "$nosave";
|
||||||
|
|
||||||
|
1;
|
||||||
|
|
30
manual/docs/html/slsDetectors-FAQ/slsDetectors-FAQ.css
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
/* Century Schoolbook font is very similar to Computer Modern Math: cmmi */
|
||||||
|
.MATH { font-family: "Century Schoolbook", serif; }
|
||||||
|
.MATH I { font-family: "Century Schoolbook", serif; font-style: italic }
|
||||||
|
.BOLDMATH { font-family: "Century Schoolbook", serif; font-weight: bold }
|
||||||
|
|
||||||
|
/* implement both fixed-size and relative sizes */
|
||||||
|
SMALL.XTINY { font-size : xx-small }
|
||||||
|
SMALL.TINY { font-size : x-small }
|
||||||
|
SMALL.SCRIPTSIZE { font-size : smaller }
|
||||||
|
SMALL.FOOTNOTESIZE { font-size : small }
|
||||||
|
SMALL.SMALL { }
|
||||||
|
BIG.LARGE { }
|
||||||
|
BIG.XLARGE { font-size : large }
|
||||||
|
BIG.XXLARGE { font-size : x-large }
|
||||||
|
BIG.HUGE { font-size : larger }
|
||||||
|
BIG.XHUGE { font-size : xx-large }
|
||||||
|
|
||||||
|
/* heading styles */
|
||||||
|
H1 { }
|
||||||
|
H2 { }
|
||||||
|
H3 { }
|
||||||
|
H4 { }
|
||||||
|
H5 { }
|
||||||
|
|
||||||
|
/* mathematics styles */
|
||||||
|
DIV.displaymath { } /* math displays */
|
||||||
|
TD.eqno { } /* equation-number cells */
|
||||||
|
|
||||||
|
|
||||||
|
/* document-specific styles come next */
|
41
manual/docs/html/slsDetectors-FAQ/slsDetectors-FAQ.html
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||||
|
|
||||||
|
<!--Converted with LaTeX2HTML 2008 (1.71)
|
||||||
|
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||||
|
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||||
|
* with significant contributions from:
|
||||||
|
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||||
|
<HTML>
|
||||||
|
<HEAD>
|
||||||
|
<TITLE>SLS Detectors
|
||||||
|
Frequently Asked Questions</TITLE>
|
||||||
|
<META NAME="description" CONTENT="SLS Detectors
|
||||||
|
Frequently Asked Questions">
|
||||||
|
<META NAME="keywords" CONTENT="slsDetectors-FAQ">
|
||||||
|
<META NAME="resource-type" CONTENT="document">
|
||||||
|
<META NAME="distribution" CONTENT="global">
|
||||||
|
|
||||||
|
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
|
||||||
|
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||||
|
|
||||||
|
<LINK REL="STYLESHEET" HREF="slsDetectors-FAQ.css">
|
||||||
|
|
||||||
|
</HEAD>
|
||||||
|
|
||||||
|
<BODY >
|
||||||
|
|
||||||
|
<P>
|
||||||
|
|
||||||
|
<H1 ALIGN=CENTER>SLS Detectors
|
||||||
|
<BR>
|
||||||
|
Frequently Asked Questions</H1>
|
||||||
|
<P ALIGN=CENTER><STRONG>Anna Bergamaschi</STRONG>
|
||||||
|
</P>
|
||||||
|
<BR><P ALIGN=CENTER><B>Date:</B> February 27, 2018</P>
|
||||||
|
|
||||||
|
<HR>
|
||||||
|
|
||||||
|
<BR><HR>
|
||||||
|
|
||||||
|
</BODY>
|
||||||
|
</HTML>
|
BIN
manual/docs/pdf/slsDetectorInstall.pdf
Normal file
BIN
manual/docs/pdf/slsDetectors-FAQ.pdf
Normal file
@ -1,35 +0,0 @@
|
|||||||
set(SOURCES
|
|
||||||
mainReceiver.cpp
|
|
||||||
)
|
|
||||||
|
|
||||||
include_directories(
|
|
||||||
../../slsReceiverSoftware/include
|
|
||||||
../../slsDetectorSoftware/slsDetectorAnalysis
|
|
||||||
../../build/bin
|
|
||||||
../../slsdetectorSoftware/slsDetector
|
|
||||||
)
|
|
||||||
|
|
||||||
add_executable(slsMultiReceiver
|
|
||||||
${SOURCES}
|
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(slsMultiReceiver
|
|
||||||
slsReceiverShared
|
|
||||||
pthread
|
|
||||||
zmq
|
|
||||||
rt
|
|
||||||
${HDF5_LIBRARIES}
|
|
||||||
)
|
|
||||||
|
|
||||||
if (HDF5_FOUND)
|
|
||||||
target_link_libraries(slsMultiReceiver
|
|
||||||
${HDF5_LIBRARIES}
|
|
||||||
)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
|
|
||||||
set_target_properties(slsMultiReceiver PROPERTIES
|
|
||||||
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
|
|
||||||
)
|
|
||||||
|
|
||||||
install(TARGETS slsMultiReceiver DESTINATION bin)
|
|
@ -1,26 +1,18 @@
|
|||||||
PKGDIR = ../..
|
INCLUDES = -I .
|
||||||
LIBDIR = $(PKGDIR)/build/bin
|
|
||||||
INCLUDES = -I . -I$(PKGDIR)/slsReceiverSoftware/include -I$(PKGDIR)/slsDetectorSoftware/slsDetectorAnalysis -I$(LIBDIR) -I$(PKGDIR)/slsDetectorSoftware/slsDetector
|
|
||||||
SRC_DET = mainClient.cpp
|
SRC_DET = mainClient.cpp
|
||||||
SRC_REC = mainReceiver.cpp
|
SRC_REC = mainReceiver.cpp
|
||||||
ZMQLIBDIR = $(PKGDIR)/slsReceiverSoftware/include
|
LIBDIR = .
|
||||||
LDFLAG_DET = -I. -L$(LIBDIR) -Wl,-rpath=$(LIBDIR) -lSlsDetector -L/usr/lib64/ -pthread -lrt -L$(ZMQLIBDIR) -Wl,-rpath=$(ZMQLIBDIR) -lzmq
|
LDFLAG_DET = -I. -L$(LIBDIR) -lSlsDetector -L/usr/lib64/ -pthread -lrt -L. -lzmq
|
||||||
LDFLAG_REC = -I. -L$(LIBDIR) -Wl,-rpath=$(LIBDIR) -lSlsReceiver -L/usr/lib64/ -pthread -lrt -L$(ZMQLIBDIR) -Wl,-rpath=$(ZMQLIBDIR) -lzmq
|
LDFLAG_REC = -I. -L$(LIBDIR) -lSlsReceiver -L/usr/lib64/ -pthread -lrt -L. -lzmq
|
||||||
DESTDIR ?= ../docs
|
DESTDIR ?= ../docs
|
||||||
|
|
||||||
HDF5 ?= no
|
|
||||||
HDF5_DIR ?= /opt/hdf5v1.10.0
|
|
||||||
|
|
||||||
ifeq ($(HDF5),yes)
|
all: docs detUser detReceiver
|
||||||
LDFLAG_REC += -L$(HDF5_DIR)/lib -Wl,-rpath=$(HDF5_DIR)/lib -lhdf5 -lhdf5_cpp -lsz -lz -DHDF5C
|
|
||||||
endif
|
|
||||||
|
|
||||||
all: docs detUser slsMultiReceiver
|
|
||||||
#all: docs
|
#all: docs
|
||||||
|
|
||||||
docs: createdocs docspdf docshtml removedocs
|
docs: createdocs docspdf docshtml removedocs
|
||||||
|
|
||||||
createdocs: slsDetectorUsers.doxy mainClient.cpp mainReceiver.cpp
|
createdocs: slsDetectorUsers.doxy slsDetectorUsers.h detectorData.h slsReceiverUsers.h mainClient.cpp mainReceiver.cpp
|
||||||
doxygen slsDetectorUsers.doxy
|
doxygen slsDetectorUsers.doxy
|
||||||
|
|
||||||
docspdf:
|
docspdf:
|
||||||
@ -43,20 +35,18 @@ detUser:$(SRC_DET)
|
|||||||
mkdir -p bin
|
mkdir -p bin
|
||||||
g++ -o bin/detUser $(SRC_DET) $(INCLUDES) $(LDFLAG_DET) -lm -lstdc++
|
g++ -o bin/detUser $(SRC_DET) $(INCLUDES) $(LDFLAG_DET) -lm -lstdc++
|
||||||
|
|
||||||
slsMultiReceiver:$(SRC_REC)
|
detReceiver:$(SRC_REC)
|
||||||
echo "creating receiver"
|
echo "creating receiver"
|
||||||
echo $LDFLAG_REC
|
|
||||||
mkdir -p bin
|
mkdir -p bin
|
||||||
g++ -o bin/slsMultiReceiver $(SRC_REC) $(INCLUDES) $(LDFLAG_REC) -lm -lstdc++
|
g++ -o bin/detReceiver $(SRC_REC) $(INCLUDES) $(LDFLAG_REC) -lm -lstdc++
|
||||||
cp bin/slsMultiReceiver $(LIBDIR)
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
echo "cleaning for manual-api"
|
echo "cleaning for manual-api"
|
||||||
rm -rf bin/detUser bin/slsMultiReceiver bin/detReceiver slsDetectorUsersDocs
|
rm -rf bin/detUser bin/detReceiver slsDetectorUsersDocs
|
||||||
rm -rf slsDetectorUsersDocs
|
rm -rf slsDetectorUsersDocs
|
||||||
rm -rf $(DESTDIR)/html/slsDetectorUsersDocs
|
rm -rf $(DESTDIR)/html/slsDetectorUsersDocs
|
||||||
rm -rf $(DESTDIR)/pdf/slsDetectorUsersDocs.pdf
|
rm -rf $(DESTDIR)/pdf/slsDetectorUsersDocs.pdf
|
||||||
rm -rf $(LIBDIR)/slsMultiReceiver
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
1
manual/manual-api/detectorData.h
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../../slsDetectorSoftware/slsDetectorAnalysis/detectorData.h
|
1
manual/manual-api/libSlsDetector.so
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../../build/bin/libSlsDetector.so
|
1
manual/manual-api/libSlsReceiver.so
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../../build/bin/libSlsReceiver.so
|
1
manual/manual-api/libzmq.a
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../../slsReceiverSoftware/include/libzmq.a
|
@ -54,12 +54,7 @@ int main(int argc, char **argv) {
|
|||||||
|
|
||||||
|
|
||||||
/** - slsDetectorUsers Object is instantiated with appropriate ID */
|
/** - slsDetectorUsers Object is instantiated with appropriate ID */
|
||||||
int ret = 1;
|
slsDetectorUsers *pDetector = new slsDetectorUsers (id);
|
||||||
slsDetectorUsers *pDetector = new slsDetectorUsers (ret, id);
|
|
||||||
if (ret == 1) {
|
|
||||||
std::cout << "Error: Could not instantiate slsDetectorUsers" << std::endl;
|
|
||||||
return EXIT_FAILURE;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/** - if specified, load configuration file (necessary at least the first time it is called to properly configure advanced settings in the shared memory) */
|
/** - if specified, load configuration file (necessary at least the first time it is called to properly configure advanced settings in the shared memory) */
|
||||||
@ -76,6 +71,11 @@ int main(int argc, char **argv) {
|
|||||||
|
|
||||||
/** - registering data callback */
|
/** - registering data callback */
|
||||||
pDetector->registerDataCallback(&dataCallback, NULL);
|
pDetector->registerDataCallback(&dataCallback, NULL);
|
||||||
|
/** - if receiver exists, enable data streaming from receiver to get the data */
|
||||||
|
pDetector->enableDataStreamingFromReceiver(1);
|
||||||
|
/** - create zmq sockets in client to enable data streaming in of data from receiver/different process */
|
||||||
|
pDetector->enableDataStreamingToClient(1);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/** - ensuring detector status is idle before starting acquisition. exiting if not idle */
|
/** - ensuring detector status is idle before starting acquisition. exiting if not idle */
|
||||||
|
@ -54,7 +54,7 @@ void sigInterruptHandler(int p){
|
|||||||
*/
|
*/
|
||||||
void printHelp() {
|
void printHelp() {
|
||||||
cprintf(RESET, "Usage:\n"
|
cprintf(RESET, "Usage:\n"
|
||||||
"./slsMultiReceiver(detReceiver) [start_tcp_port] [num_receivers] [1 for call back, 0 for none]\n\n");
|
"./detReceiver [start_tcp_port] [num_receivers] [1 for call back, 0 for none]\n\n");
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -71,7 +71,7 @@ void printHelp() {
|
|||||||
*/
|
*/
|
||||||
int StartAcq(char* filepath, char* filename, uint64_t fileindex, uint32_t datasize, void*p){
|
int StartAcq(char* filepath, char* filename, uint64_t fileindex, uint32_t datasize, void*p){
|
||||||
cprintf(BLUE, "#### StartAcq: filepath:%s filename:%s fileindex:%llu datasize:%u ####\n",
|
cprintf(BLUE, "#### StartAcq: filepath:%s filename:%s fileindex:%llu datasize:%u ####\n",
|
||||||
filepath, filename, (long long unsigned int)fileindex, datasize);
|
filepath, filename, fileindex, datasize);
|
||||||
|
|
||||||
cprintf(BLUE, "--StartAcq: returning 0\n");
|
cprintf(BLUE, "--StartAcq: returning 0\n");
|
||||||
return 0;
|
return 0;
|
||||||
@ -83,80 +83,45 @@ int StartAcq(char* filepath, char* filename, uint64_t fileindex, uint32_t datasi
|
|||||||
* @param p pointer to object
|
* @param p pointer to object
|
||||||
*/
|
*/
|
||||||
void AcquisitionFinished(uint64_t frames, void*p){
|
void AcquisitionFinished(uint64_t frames, void*p){
|
||||||
cprintf(BLUE, "#### AcquisitionFinished: frames:%llu ####\n",(long long unsigned int)frames);
|
cprintf(BLUE, "#### AcquisitionFinished: frames:%llu ####\n",frames);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get Receiver Data Call back
|
* Get Receiver Data Call back
|
||||||
* Prints in different colors(for each receiver process) the different headers for each image call back.
|
* Prints in different colors(for each receiver process) the different headers for each image call back.
|
||||||
* @param metadata sls_receiver_header metadata
|
* @param frameNumber frame number
|
||||||
|
* @param expLength real time exposure length (in 100ns) or sub frame number (Eiger 32 bit mode only)
|
||||||
|
* @param packetNumber number of packets caught for this frame
|
||||||
|
* @param bunchId bunch id from beamline
|
||||||
|
* @param timestamp time stamp in 10MHz clock (not implemented for most)
|
||||||
|
* @param modId module id (not implemented for most)
|
||||||
|
* @param xCoord x coordinates (detector id in 1D)
|
||||||
|
* @param yCoord y coordinates (not implemented)
|
||||||
|
* @param zCoord z coordinates (not implemented)
|
||||||
|
* @param debug debug values if any
|
||||||
|
* @param roundRNumber (not implemented)
|
||||||
|
* @param detType detector type see :: detectorType
|
||||||
|
* @param version version of standard header (structure format)
|
||||||
* @param datapointer pointer to data
|
* @param datapointer pointer to data
|
||||||
* @param datasize data size in bytes.
|
* @param datasize data size in bytes
|
||||||
* @param p pointer to object
|
* @param p pointer to object
|
||||||
*/
|
*/
|
||||||
void GetData(char* metadata, char* datapointer, uint32_t datasize, void* p){
|
void GetData(uint64_t frameNumber, uint32_t expLength, uint32_t packetNumber, uint64_t bunchId, uint64_t timestamp,
|
||||||
slsReceiverDefs::sls_receiver_header* header = (slsReceiverDefs::sls_receiver_header*)metadata;
|
uint16_t modId, uint16_t xCoord, uint16_t yCoord, uint16_t zCoord, uint32_t debug, uint16_t roundRNumber, uint8_t detType, uint8_t version,
|
||||||
slsReceiverDefs::sls_detector_header detectorHeader = header->detHeader;
|
char* datapointer, uint32_t datasize, void* p){
|
||||||
|
|
||||||
PRINT_IN_COLOR (detectorHeader.modId?detectorHeader.modId:detectorHeader.row,
|
PRINT_IN_COLOR (modId?modId:xCoord,
|
||||||
"#### %d GetData: ####\n"
|
"#### %d GetData: ####\n"
|
||||||
"frameNumber: %llu\t\texpLength: %u\t\tpacketNumber: %u\t\tbunchId: %llu"
|
"frameNumber: %llu\t\texpLength: %u\t\tpacketNumber: %u\t\tbunchId: %llu\t\ttimestamp: %llu\t\tmodId: %u\t\t"
|
||||||
"\t\ttimestamp: %llu\t\tmodId: %u\t\t"
|
"xCoord: %u\t\tyCoord: %u\t\tzCoord: %u\t\tdebug: %u\t\troundRNumber: %u\t\tdetType: %u\t\t"
|
||||||
"row: %u\t\tcolumn: %u\t\treserved: %u\t\tdebug: %u"
|
"version: %u\t\tfirstbytedata: 0x%x\t\tdatsize: %u\n\n",
|
||||||
"\t\troundRNumber: %u\t\tdetType: %u\t\tversion: %u"
|
xCoord, frameNumber, expLength, packetNumber, bunchId, timestamp, modId,
|
||||||
//"\t\tpacketsMask:%s"
|
xCoord, yCoord, zCoord, debug, roundRNumber, detType, version,
|
||||||
"\t\tfirstbytedata: 0x%x\t\tdatsize: %u\n\n",
|
((uint8_t)(*((uint8_t*)(datapointer)))), datasize);
|
||||||
detectorHeader.row, (long long unsigned int)detectorHeader.frameNumber,
|
|
||||||
detectorHeader.expLength, detectorHeader.packetNumber, (long long unsigned int)detectorHeader.bunchId,
|
|
||||||
(long long unsigned int)detectorHeader.timestamp, detectorHeader.modId,
|
|
||||||
detectorHeader.row, detectorHeader.column, detectorHeader.reserved,
|
|
||||||
detectorHeader.debug, detectorHeader.roundRNumber,
|
|
||||||
detectorHeader.detType, detectorHeader.version,
|
|
||||||
//header->packetsMask.to_string().c_str(),
|
|
||||||
((uint8_t)(*((uint8_t*)(datapointer)))), datasize);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get Receiver Data Call back (modified)
|
|
||||||
* Prints in different colors(for each receiver process) the different headers for each image call back.
|
|
||||||
* @param metadata sls_receiver_header metadata
|
|
||||||
* @param datapointer pointer to data
|
|
||||||
* @param datasize data size in bytes.
|
|
||||||
* @param revDatasize new data size in bytes after the callback.
|
|
||||||
* This will be the size written/streamed. (only smaller value is allowed).
|
|
||||||
* @param p pointer to object
|
|
||||||
*/
|
|
||||||
void GetData(char* metadata, char* datapointer, uint32_t &revDatasize, void* p){
|
|
||||||
slsReceiverDefs::sls_receiver_header* header = (slsReceiverDefs::sls_receiver_header*)metadata;
|
|
||||||
slsReceiverDefs::sls_detector_header detectorHeader = header->detHeader;
|
|
||||||
|
|
||||||
PRINT_IN_COLOR (detectorHeader.modId?detectorHeader.modId:detectorHeader.row,
|
|
||||||
"#### %d GetData: ####\n"
|
|
||||||
"frameNumber: %llu\t\texpLength: %u\t\tpacketNumber: %u\t\tbunchId: %llu"
|
|
||||||
"\t\ttimestamp: %llu\t\tmodId: %u\t\t"
|
|
||||||
"row: %u\t\tcolumn: %u\t\treserved: %u\t\tdebug: %u"
|
|
||||||
"\t\troundRNumber: %u\t\tdetType: %u\t\tversion: %u"
|
|
||||||
//"\t\tpacketsMask:%s"
|
|
||||||
"\t\tfirstbytedata: 0x%x\t\tdatsize: %u\n\n",
|
|
||||||
detectorHeader.row, (long long unsigned int)detectorHeader.frameNumber,
|
|
||||||
detectorHeader.expLength, detectorHeader.packetNumber, (long long unsigned int)detectorHeader.bunchId,
|
|
||||||
(long long unsigned int)detectorHeader.timestamp, detectorHeader.modId,
|
|
||||||
detectorHeader.row, detectorHeader.column, detectorHeader.reserved,
|
|
||||||
detectorHeader.debug, detectorHeader.roundRNumber,
|
|
||||||
detectorHeader.detType, detectorHeader.version,
|
|
||||||
//header->packetsMask.to_string().c_str(),
|
|
||||||
((uint8_t)(*((uint8_t*)(datapointer)))), revDatasize);
|
|
||||||
|
|
||||||
// if data is modified, eg ROI and size is reduced
|
|
||||||
revDatasize = 26000;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Example of main program using the slsReceiverUsers class
|
* Example of main program using the slsReceiverUsers class
|
||||||
*
|
*
|
||||||
@ -244,8 +209,7 @@ int main(int argc, char *argv[]) {
|
|||||||
|
|
||||||
/* - Call back for raw data */
|
/* - Call back for raw data */
|
||||||
cprintf(BLUE, "Registering GetData() \n");
|
cprintf(BLUE, "Registering GetData() \n");
|
||||||
if (withCallback == 1) receiver->registerCallBackRawDataReady(GetData,NULL);
|
receiver->registerCallBackRawDataReady(GetData,NULL);
|
||||||
else if (withCallback == 2) receiver->registerCallBackRawDataModifyReady(GetData,NULL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -81,11 +81,7 @@ LATEX_HIDE_INDICES = YES
|
|||||||
SOURCE_BROWSER = YES
|
SOURCE_BROWSER = YES
|
||||||
|
|
||||||
PREDEFINED = __cplusplus
|
PREDEFINED = __cplusplus
|
||||||
|
|
||||||
INPUT = ../../slsDetectorSoftware/slsDetector/slsDetectorUsers.h \
|
INPUT = slsDetectorUsers.h detectorData.h slsReceiverUsers.h mainClient.cpp mainReceiver.cpp
|
||||||
../../slDetectorSoftware/slsDetectorAnalysis/detectorData.h \
|
|
||||||
../../slsReceiverSoftware/include/slsReceiverUsers.h \
|
|
||||||
mainClient.cpp \
|
|
||||||
mainReceiver.cpp
|
|
||||||
|
|
||||||
OUTPUT_DIRECTORY = slsDetectorUsersDocs
|
OUTPUT_DIRECTORY = slsDetectorUsersDocs
|
||||||
|
1
manual/manual-api/slsDetectorUsers.h
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../../slsDetectorSoftware/slsDetector/slsDetectorUsers.h
|
1
manual/manual-api/slsReceiverUsers.h
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../../slsReceiverSoftware/include/slsReceiverUsers.h
|
1
manual/manual-api/zmq.h
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../../slsReceiverSoftware/include/zmq.h
|
Before Width: | Height: | Size: 432 KiB |
Before Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 863 KiB |
Before Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 167 KiB |
@ -4,46 +4,31 @@ DESTDIR=../docs
|
|||||||
TEX=latex
|
TEX=latex
|
||||||
|
|
||||||
|
|
||||||
MAINTEXS2= slsDetectorInstall.tex
|
MAINTEXS= slsDetectorInstall.tex slsDetectors-FAQ.tex
|
||||||
MAINTEXS=slsDetectors-FAQ.tex
|
|
||||||
|
|
||||||
TEXS=slsDetector-softFAQ.tex singlePhotonCounting-FAQ.tex angConv-FAQ.tex generalDet-FAQ.tex
|
TEXS=slsDetector-softFAQ.tex singlePhotonCounting-FAQ.tex angConv-FAQ.tex generalDet-FAQ.tex
|
||||||
|
|
||||||
DVIS = $(MAINTEXS:.tex=.dvi)
|
DVIS = $(MAINTEXS:.tex=.dvi)
|
||||||
PSS = $(MAINTEXS:.tex=.ps)
|
PSS = $(MAINTEXS:.tex=.ps)
|
||||||
PDFS = $(MAINTEXS:.tex=.pdf)
|
PDFS = $(MAINTEXS:.tex=.pdf)
|
||||||
PDFS2 = $(MAINTEXS2:.tex=.pdf)
|
|
||||||
HTMLS = $(MAINTEXS:%.tex=%)
|
HTMLS = $(MAINTEXS:%.tex=%)
|
||||||
HTMLS2 = $(MAINTEXS2:%.tex=%)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
all: pdf html
|
all: pdf html
|
||||||
echo $(PWD)
|
echo $(PWD)
|
||||||
echo $(PDFS)
|
echo $(PDFS)
|
||||||
echo $(PDFS2)
|
|
||||||
echo $(HTMLS)
|
echo $(HTMLS)
|
||||||
echo $(HTMLS2)
|
|
||||||
|
|
||||||
pdf: $(PDFS) $(PDFS2)
|
pdf: $(PDFS)
|
||||||
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
|
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
|
||||||
$(shell test -d $(DESTDIR)/pdf || mkdir -p $(DESTDIR)/pdf)
|
$(shell test -d $(DESTDIR)/pdf || mkdir -p $(DESTDIR)/pdf)
|
||||||
mv $(PDFS) $(DESTDIR)/pdf
|
mv $(PDFS) $(DESTDIR)/pdf
|
||||||
mv $(PDFS2) $(DESTDIR)/pdf
|
|
||||||
|
|
||||||
html: $(HTMLS) $(HTMLS2)
|
html: $(HTMLS)
|
||||||
|
|
||||||
|
|
||||||
$(HTMLS): $(TEXS) $(MAINTEXS)
|
$(HTMLS): $(TEXS) $(MAINTEXS)
|
||||||
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
|
|
||||||
$(shell test -d $(DESTDIR)/html || mkdir -p $(DESTDIR)/html)
|
|
||||||
$(shell test -d $(DESTDIR)/html/$@ && rm -fr $(DESTDIR)/html/$@)
|
|
||||||
echo "***************************** $@"
|
|
||||||
latex $@.tex
|
|
||||||
latex2html $@.tex
|
|
||||||
mv $@ $(DESTDIR)/html
|
|
||||||
|
|
||||||
$(HTMLS2): $(MAINTEXS2)
|
|
||||||
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
|
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
|
||||||
$(shell test -d $(DESTDIR)/html || mkdir -p $(DESTDIR)/html)
|
$(shell test -d $(DESTDIR)/html || mkdir -p $(DESTDIR)/html)
|
||||||
$(shell test -d $(DESTDIR)/html/$@ && rm -fr $(DESTDIR)/html/$@)
|
$(shell test -d $(DESTDIR)/html/$@ && rm -fr $(DESTDIR)/html/$@)
|
||||||
@ -68,7 +53,7 @@ $(HTMLS2): $(MAINTEXS2)
|
|||||||
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf *.aux *.log *.toc *.out $(DVIS) $(PSS) $(PDFS) $(PDFS2) $(HTMLS) $(HTMLS2)
|
rm -rf *.aux *.log *.toc *.out $(DVIS) $(PSS) $(PDFS) $(HTMLS)
|
||||||
rm -rf $(DESTDIR)/html/slsDetectors-FAQ
|
rm -rf $(DESTDIR)/html/slsDetectors-FAQ
|
||||||
rm -rf $(DESTDIR)/html/slsDetectorInstall
|
rm -rf $(DESTDIR)/html/slsDetectorInstall
|
||||||
rm -rf $(DESTDIR)/pdf/slsDetectors-FAQ.pdf
|
rm -rf $(DESTDIR)/pdf/slsDetectors-FAQ.pdf
|
||||||
|
@ -28,10 +28,9 @@
|
|||||||
The SLS detectors software is intended to control the detectors developed by
|
The SLS detectors software is intended to control the detectors developed by
|
||||||
the SLS Detectors group. The detectors currently supported are:
|
the SLS Detectors group. The detectors currently supported are:
|
||||||
|
|
||||||
\indent MYTHEN, GOTTHARD, EIGER and JUNGFRAU.
|
MYTHEN, GOTTHARD, EIGER and JUNGFRAU.\bigskip
|
||||||
|
|
||||||
|
\noindent The package provides software for the distributed system that comprises of
|
||||||
The package provides software for the distributed system that comprises of
|
|
||||||
detectors, data receivers (to process detector data), and the client (to control
|
detectors, data receivers (to process detector data), and the client (to control
|
||||||
or monitor the system). The client and data receivers can be embedded in
|
or monitor the system). The client and data receivers can be embedded in
|
||||||
the user's acquisitions system. Furthermore, the package also provides some
|
the user's acquisitions system. Furthermore, the package also provides some
|
||||||
@ -61,11 +60,6 @@ The \textit{data receiver}, which can be run on a different machine than the
|
|||||||
client, receives the data from the detector and processes it. The receiver can
|
client, receives the data from the detector and processes it. The receiver can
|
||||||
be configured, controlled and monitored by the client.
|
be configured, controlled and monitored by the client.
|
||||||
|
|
||||||
\item \textcolor{blue}{slsMultiReceiver}: \\
|
|
||||||
It is the same as the \textit{slsReceiver}, but that it is a single process
|
|
||||||
for many multiple slsReceiver child processes. One can configure the start TCP port,
|
|
||||||
number of slsReceiver processes and if call back should be enabled or not.
|
|
||||||
|
|
||||||
\item \textcolor{blue}{slsDetectorGUI}: \\
|
\item \textcolor{blue}{slsDetectorGUI}: \\
|
||||||
The \textit{graphical user interface}, which provides a user friendly way
|
The \textit{graphical user interface}, which provides a user friendly way
|
||||||
of operating the detectors and data receivers with online data preview.
|
of operating the detectors and data receivers with online data preview.
|
||||||
@ -84,28 +78,18 @@ However, only control commands work, not the data acquisition itself.
|
|||||||
\section{Install Binaries via Conda}
|
\section{Install Binaries via Conda}
|
||||||
This section is useful only if one wants to download only the binaries for
|
This section is useful only if one wants to download only the binaries for
|
||||||
specific distribution and use the package via command line. Please refer later
|
specific distribution and use the package via command line. Please refer later
|
||||||
sections to download source code and compile them.
|
sections to download source code and compile them.\bigskip
|
||||||
|
|
||||||
|
\noindent One can download and install Miniconda via
|
||||||
|
|
||||||
One can download and install Miniconda via
|
\url{https://conda.io/miniconda.html} \bigskip
|
||||||
|
|
||||||
\url{https://conda.io/miniconda.html}
|
\noindent The conda package uses Travis CI for continuous integration with
|
||||||
|
|
||||||
|
|
||||||
The conda package uses Travis CI for continuous integration with
|
|
||||||
automatic deployment to Anaconda Cloud. One can download only the package or the
|
automatic deployment to Anaconda Cloud. One can download only the package or the
|
||||||
package including the python interface.
|
package including the python interface. \bigskip
|
||||||
|
|
||||||
|
\noindent After the installation, the binaries will be available in your path.
|
||||||
|
|
||||||
After the installation, the binaries will be available in your path.
|
|
||||||
|
|
||||||
Please remember to clear shared memory after installation.
|
|
||||||
\begin{verbatim}
|
|
||||||
#displays list of shared memeory segments
|
|
||||||
ipcs -m
|
|
||||||
#remove segments that have nattach equal to zero. They key is the first column
|
|
||||||
ipcrm -M [key]
|
|
||||||
\end{verbatim}
|
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Only the package
|
\item Only the package
|
||||||
@ -115,13 +99,13 @@ conda config --add channels conda-forge
|
|||||||
conda config --add channels slsdetectorgroup
|
conda config --add channels slsdetectorgroup
|
||||||
|
|
||||||
#Install latest version
|
#Install latest version
|
||||||
conda install sls_detector_lib
|
conda install sls_detector_software
|
||||||
conda install sls_detector_gui
|
|
||||||
|
|
||||||
#Install specific release
|
#Install specific release (GLIBC2.14)
|
||||||
conda install sls_detector_lib=4.0.0
|
conda install sls_detector_software=3.0.1
|
||||||
conda install sls_detector_gui=4.0.0
|
|
||||||
|
|
||||||
|
#Scientific Linux 6 version (GLIBC2.12)
|
||||||
|
conda install sls_detector_software=SL6_3.0.1
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
\item The package including Python interface
|
\item The package including Python interface
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
@ -132,9 +116,11 @@ conda config --add channels sls_detector
|
|||||||
#Install latest version
|
#Install latest version
|
||||||
conda install sls_detector
|
conda install sls_detector
|
||||||
|
|
||||||
#Install specific release
|
#Install specific release (GLIBC2.14)
|
||||||
conda install sls_detector=4.0.0
|
conda install sls_detector=3.0.1
|
||||||
|
|
||||||
|
#Scientific Linux 6 version (GLIBC2.12)
|
||||||
|
conda install sls_detector=SL6_3.0.1
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
@ -151,13 +137,13 @@ acquisition system, or if one wants to download the source code and compile.
|
|||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
#Clone source code with specific release
|
#Clone source code with specific release
|
||||||
git clone https://github.com/slsdetectorgroup/slsDetectorPackage.git --branch
|
git clone https://github.com/slsdetectorgroup/slsDetectorPackage.git --branch
|
||||||
4.0.0
|
3.0.1
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
\item The package including Python interface
|
\item The package including Python interface
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
#Clone source code with specific release
|
#Clone source code with specific release
|
||||||
git clone https://github.com/slsdetectorgroup/sls_detector.git --branch
|
git clone https://github.com/slsdetectorgroup/sls_detector.git --branch
|
||||||
4.0.0
|
3.0.1
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
@ -208,10 +194,9 @@ required. One can install it:
|
|||||||
\item via download from:\\
|
\item via download from:\\
|
||||||
\url{
|
\url{
|
||||||
https://download.qt.io/archive/qt/4.8/4.8.2/qt-everywhere-opensource-src-4.8.2.t
|
https://download.qt.io/archive/qt/4.8/4.8.2/qt-everywhere-opensource-src-4.8.2.t
|
||||||
ar.gz}
|
ar.gz} \bigskip
|
||||||
|
|
||||||
|
\noindent To install:
|
||||||
To install:
|
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
> gunzip qt-everywhere-opensource-src-4.8.2.tar.gz
|
> gunzip qt-everywhere-opensource-src-4.8.2.tar.gz
|
||||||
> tar xvf qt-everywhere-opensource-src-4.8.2.tar
|
> tar xvf qt-everywhere-opensource-src-4.8.2.tar
|
||||||
@ -222,17 +207,14 @@ To install:
|
|||||||
By default Qt4 will be installed in /usr/local/Trolltech/Qt-4.8.2/.
|
By default Qt4 will be installed in /usr/local/Trolltech/Qt-4.8.2/.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
|
\noindent \textbf{Setup Environment}
|
||||||
|
|
||||||
\textbf{Setup Environment}
|
\noindent One has to ensure that \verb=PATH= and \verb=LD_LIBRARY_PATH= have
|
||||||
|
|
||||||
|
|
||||||
One has to ensure that \verb=PATH= and \verb=LD_LIBRARY_PATH= have
|
|
||||||
been updated to include Qt4 install path, binaries and libraries.
|
been updated to include Qt4 install path, binaries and libraries.
|
||||||
Confirm by executing \verb=qmake -v= and ensuring the result points to Qt4 (not
|
Confirm by executing \verb=qmake -v= and ensuring the result points to Qt4 (not
|
||||||
Qt3 or Qt5).
|
Qt3 or Qt5). \bigskip
|
||||||
|
|
||||||
|
\noindent If the environment is not set up, one can add the libraries and
|
||||||
If the environment is not set up, one can add the libraries and
|
|
||||||
executables to the .bashrc by adding
|
executables to the .bashrc by adding
|
||||||
\verb=LD_LIBRARY_PATH= and \verb=PATH=:
|
\verb=LD_LIBRARY_PATH= and \verb=PATH=:
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
@ -246,10 +228,9 @@ export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
|
|||||||
Before installing Qwt, one must install Qt
|
Before installing Qwt, one must install Qt
|
||||||
and ensure that \verb=QTDIR=, \verb=LD_LIBRARY_PATH= and \verb=PATH= point to
|
and ensure that \verb=QTDIR=, \verb=LD_LIBRARY_PATH= and \verb=PATH= point to
|
||||||
the correct Qt4
|
the correct Qt4
|
||||||
version.
|
version. \bigskip
|
||||||
|
|
||||||
|
\noindent A Qwt version equal or higher than 6 is required. One can
|
||||||
A Qwt version equal or higher than 6 is required. One can
|
|
||||||
install it:
|
install it:
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item via YUM:
|
\item via YUM:
|
||||||
@ -259,9 +240,9 @@ install it:
|
|||||||
\item via download from:\\
|
\item via download from:\\
|
||||||
\url{
|
\url{
|
||||||
https://sourceforge.net/projects/qwt/files/qwt/6.0.0/qwt-6.0.0.zip/download}
|
https://sourceforge.net/projects/qwt/files/qwt/6.0.0/qwt-6.0.0.zip/download}
|
||||||
|
\bigskip
|
||||||
|
|
||||||
|
\noindent To install:
|
||||||
To install:
|
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
> cd qwt-6.0.0
|
> cd qwt-6.0.0
|
||||||
> qmake
|
> qmake
|
||||||
@ -271,14 +252,12 @@ To install:
|
|||||||
By default Qwt will be installed int /usr/local/qwt-6.0.0
|
By default Qwt will be installed int /usr/local/qwt-6.0.0
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\textbf{Setup Environment}
|
\noindent \textbf{Setup Environment}
|
||||||
|
|
||||||
|
\noindent One has to ensure that \verb=QWTDIR= and \verb=LD_LIBRARY_PATH= have
|
||||||
|
been updated to include Qwt install path and libraries. \bigskip
|
||||||
|
|
||||||
One has to ensure that \verb=QWTDIR= and \verb=LD_LIBRARY_PATH= have
|
\noindent If the environment is not set up, one can add the libraries to the
|
||||||
been updated to include Qwt install path and libraries.
|
|
||||||
|
|
||||||
|
|
||||||
If the environment is not set up, one can add the libraries to the
|
|
||||||
.bashrc by adding \verb=LD_LIBRARY_PATH=:
|
.bashrc by adding \verb=LD_LIBRARY_PATH=:
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
export QWTDIR=/usr/local/qwt-6.0.0/
|
export QWTDIR=/usr/local/qwt-6.0.0/
|
||||||
@ -345,8 +324,6 @@ Usage: [-c] [-b] [-h] [-d HDF5 directory] [-j]
|
|||||||
|
|
||||||
Some example options for compilation:
|
Some example options for compilation:
|
||||||
|
|
||||||
Most basic option: \verb=./cmk.sh -b=
|
|
||||||
|
|
||||||
For only make: \verb=./cmk.sh=
|
For only make: \verb=./cmk.sh=
|
||||||
|
|
||||||
For make clean;make: \verb=./cmk.sh -c=
|
For make clean;make: \verb=./cmk.sh -c=
|
||||||
@ -390,66 +367,10 @@ sls_detector_help sls_detector_put slsReceiver
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\subsection{Setting environment variables}
|
|
||||||
One can set up the environment variables in the following ways.
|
|
||||||
|
|
||||||
\subsubsection{Using .bashrc file}
|
|
||||||
\begin{enumerate}
|
|
||||||
\item \verb=emacs ~/.bashrc=
|
|
||||||
\item Add the following function \verb=setup_slsdet= and replace \verb=path=
|
|
||||||
with absolute path of installed directory
|
|
||||||
\begin{verbatim}
|
|
||||||
function setup_slsdet
|
|
||||||
{
|
|
||||||
export PKGPATH=[path]
|
|
||||||
export LD_LIBRARY_PATH=$PKGPATH/slsDetectorPackage/build/bin:$LD_LIBRARY_PATH
|
|
||||||
export PATH=$PKGPATH/slsDetectorPackage/build/bin:$PATH
|
|
||||||
cd $PKGPATH/slsDetectorPackage/build/bin
|
|
||||||
}
|
|
||||||
\end{verbatim}
|
|
||||||
\item \verb=source ~/.bashrc=
|
|
||||||
\item Next time, just run \verb=setup_slsdet= to load the environment
|
|
||||||
variables.
|
|
||||||
\end{enumerate}
|
|
||||||
|
|
||||||
|
|
||||||
One can also add the GUI environment variables if installed locally by adding
|
|
||||||
the following in the function \verb=setup_sldet= \\
|
|
||||||
\begin{verbatim}
|
|
||||||
export QTDIR=/path-where-it-is/Qt-4.8.2
|
|
||||||
export QWTDIR=/path-where-it-is/qwt-6.0.1
|
|
||||||
export QWT3D=/path-where-it-is/qwtplot3d
|
|
||||||
export QMAKESPEC=$QTDIR/mkspecs/linux-g++
|
|
||||||
export LD_LIBRARY_PATH=$QTDIR/lib:$QWTDIR/lib:$QWT3D/lib:$LD_LIBRARY _PATH
|
|
||||||
export PATH=$QTDIR/bin:$PATH
|
|
||||||
\end{verbatim}
|
|
||||||
|
|
||||||
\subsubsection{Without .bashrc file}
|
|
||||||
Go to binaries folder slsDetectorPackage/build/bin and execute the following:
|
|
||||||
\begin{verbatim}
|
|
||||||
export LD_LIBRARY_PATH=$PWD:$LD_LIBRARY_PATH
|
|
||||||
export PATH=$PWD:$PATH
|
|
||||||
\end{verbatim}
|
|
||||||
|
|
||||||
|
|
||||||
\subsection{Clean Shared Memory}
|
|
||||||
It is very crucial to clean the shared memory, before using a new version of
|
|
||||||
the SLS Detector Package or a different detector type.
|
|
||||||
|
|
||||||
One can use the \verb=cleansharedmemory.sh= script available under the
|
|
||||||
slsDetector Package.
|
|
||||||
|
|
||||||
One can also just delete the files that are typically located under /dev/shm/ folder
|
|
||||||
and starts with slsDetectorPackage.
|
|
||||||
|
|
||||||
One no longer has to delete segments using ipcs.
|
|
||||||
|
|
||||||
|
|
||||||
\section{Software Upgrade}
|
\section{Software Upgrade}
|
||||||
|
|
||||||
The upgrade of the package could require an upgrade of the on-board detector
|
The upgrade of the package could require an upgrade of the on-board detector
|
||||||
server and/or firmware running on the detector as well.
|
server and/or firmware running on the detector as well.
|
||||||
|
|
||||||
|
|
||||||
\subsection{MYTHEN}
|
\subsection{MYTHEN}
|
||||||
@ -458,7 +379,7 @@ themselves (which would require dedicated softwares) but only to download on the
|
|||||||
detector board the programming files and/or software package provided by
|
detector board the programming files and/or software package provided by
|
||||||
the SLS Detectors group.
|
the SLS Detectors group.
|
||||||
|
|
||||||
\subsubsection{MYTHEN Firmware}
|
\subsubsection{Firmware}
|
||||||
|
|
||||||
To upgrade the firmware you need either a working version of the Altera
|
To upgrade the firmware you need either a working version of the Altera
|
||||||
Quartus software or of the Quartus programmer, which can easily be downloaded
|
Quartus software or of the Quartus programmer, which can easily be downloaded
|
||||||
@ -468,10 +389,9 @@ from: \\
|
|||||||
|
|
||||||
\noindent Normally, installation of the software and of the driver for the
|
\noindent Normally, installation of the software and of the driver for the
|
||||||
USB-Blaster (provided together with the MYTHEN detector) are simpler under
|
USB-Blaster (provided together with the MYTHEN detector) are simpler under
|
||||||
Windows.
|
Windows. \bigskip
|
||||||
|
|
||||||
|
\noindent Under Windows, the first time that you connect the USB-Blaster to one
|
||||||
Under Windows, the first time that you connect the USB-Blaster to one
|
|
||||||
of your USB ports, you will be asked to install new hardware. Set the path to
|
of your USB ports, you will be asked to install new hardware. Set the path to
|
||||||
search for the driver to:
|
search for the driver to:
|
||||||
\verb=C:\altera\80sp1\qprogrammer\drivers\usb-blasterp= (where
|
\verb=C:\altera\80sp1\qprogrammer\drivers\usb-blasterp= (where
|
||||||
@ -494,7 +414,7 @@ your cable (pin1 corresponds) and that you have selected the correct programming
|
|||||||
connector.
|
connector.
|
||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
|
|
||||||
\subsubsection{MYTHEN On-board Software}
|
\subsubsection{On-board Software}
|
||||||
\begin{enumerate}
|
\begin{enumerate}
|
||||||
\item Connect to the board using telnet:
|
\item Connect to the board using telnet:
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
@ -534,311 +454,6 @@ acqusition program correctly start.
|
|||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\subsection{GOTTHARD}
|
|
||||||
|
|
||||||
In such cases, the users are not expected to compile the software
|
|
||||||
themselves (which would require dedicated softwares) but only to download on the
|
|
||||||
detector board the programming files and/or software package provided by
|
|
||||||
the SLS Detectors group.
|
|
||||||
|
|
||||||
\subsubsection{GOTTHARD Firmware}
|
|
||||||
\textit{For SLS Detector Package v4.0.0} \\
|
|
||||||
\indent Minimum compatible version: \\
|
|
||||||
\indent \indent 11.01.2013 \\
|
|
||||||
\indent Latest version: \\
|
|
||||||
\indent \indent 08.02.2018 (50um) \\
|
|
||||||
\indent \indent 08.02.2018 (25 um Master) \\
|
|
||||||
\indent \indent 09.02.2018 (25 um Slave) \\
|
|
||||||
|
|
||||||
Normally, the firmware will be upgraded by us as it requires programming the
|
|
||||||
FPGA via the USB-Blaster.
|
|
||||||
|
|
||||||
|
|
||||||
To upgrade the firmware you need either a working version of the Altera
|
|
||||||
Quartus software or of the Quartus programmer, which can easily be downloaded
|
|
||||||
from: \\
|
|
||||||
\url{https://www.altera.com/download/programming/quartus2/pq2-index.jsp}
|
|
||||||
|
|
||||||
|
|
||||||
Normally, installation of the software and of the driver for the
|
|
||||||
USB-Blaster (provided together with the MYTHEN detector) are simpler under
|
|
||||||
Windows.
|
|
||||||
|
|
||||||
|
|
||||||
Under Windows, the first time that you connect the USB-Blaster to one
|
|
||||||
of your USB ports, you will be asked to install new hardware. Set the path to
|
|
||||||
search for the driver to:
|
|
||||||
\verb=C:\altera\80sp1\qprogrammer\drivers\usb-blasterp= (where
|
|
||||||
\verb=C:\altera\80sp1\qprogrammer\= is assumed to be ther path where your
|
|
||||||
Quartus version is installed).
|
|
||||||
\begin{enumerate}
|
|
||||||
\item After starting the Quartus programmer, click on Hardware Setup and in the
|
|
||||||
"Currently selected hardware" window select USB-Blaster.
|
|
||||||
\item In the Mode combo box select "Active Serial Programming".
|
|
||||||
\item Plug the end of your USB-Blaster WITH THE ADAPTER PROVIDED in the
|
|
||||||
connector ASMI on the MCS board taking care that pin1 corresponds to the one
|
|
||||||
indexed and with the rectangualr pad.
|
|
||||||
\item Click on add file and from select the programming file provided when
|
|
||||||
the upgrade has been reccomended.
|
|
||||||
\item Check "Program/Configure" and "Verify".
|
|
||||||
\item Push the start button and wait until the programming process is
|
|
||||||
finished (progress bar top left).
|
|
||||||
\item In case the programmer gives you error messages, check the polarity of
|
|
||||||
your cable (pin1 corresponds) and that you have selected the correct programming
|
|
||||||
connector.
|
|
||||||
\end{enumerate}
|
|
||||||
|
|
||||||
\subsubsection{GOTTHARD On-board Software}
|
|
||||||
Every SLS Detector package release will have its coresponding matching on-board
|
|
||||||
server under \textbf{slsDetectorPackage/serverBin}.
|
|
||||||
|
|
||||||
\begin{enumerate}
|
|
||||||
\item Install tftp if the pc does not have it.
|
|
||||||
\item Copy the server from serverBin folder to /tftpboot (or equivalent tftp
|
|
||||||
folder) of the pc
|
|
||||||
\item Copy the server to the detector by:
|
|
||||||
\begin{enumerate}
|
|
||||||
\item Connect to the blackfin on the detector\\
|
|
||||||
\verb=telnet bchipxxx=
|
|
||||||
\item Prevent existing on-board server from respawning by:
|
|
||||||
\begin{enumerate}
|
|
||||||
\item Edit \verb=/etc/inittab=
|
|
||||||
\item Comment out the line
|
|
||||||
\verb=#ttyS0::respawn:/gotthardDetectorServervxxx=
|
|
||||||
\item Reboot blackfin using \verb=reboot=
|
|
||||||
\item Run \verb=ps= to ensure no gotthardDetectorServers are running
|
|
||||||
\end{enumerate}
|
|
||||||
\item Copy new on-board server from pc to the blackfin using: \\
|
|
||||||
\verb=tftp pcxxx -r gotthardDetectorServerxxx -g=
|
|
||||||
\item Respawn the new server (server starts at detector statup):
|
|
||||||
\begin{enumerate}
|
|
||||||
\item Edit \verb=/etc/inittab=
|
|
||||||
\item Uncomment out the line
|
|
||||||
\verb=ttyS0::respawn:/gotthardDetectorServervxxx=
|
|
||||||
\item Reboot blackfin using \verb=reboot=
|
|
||||||
\item Run \verb=ps= to ensure that both the gotthardDetectorServers are
|
|
||||||
running.\\
|
|
||||||
\verb=gotthardDetectorServerxxx= \\
|
|
||||||
\verb=gotthardDetectorServerxxx 1953=
|
|
||||||
\end{enumerate}
|
|
||||||
\end{enumerate}
|
|
||||||
\end{enumerate}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\subsection{EIGER}
|
|
||||||
|
|
||||||
In such cases, the users are not expected to compile the software
|
|
||||||
themselves (which would require dedicated softwares) but only to download on the
|
|
||||||
detector board the programming files and/or software package provided by
|
|
||||||
the SLS Detectors group.
|
|
||||||
|
|
||||||
\subsubsection{EIGER Firmware}
|
|
||||||
\textit{For SLS Detector Package v4.0.0} \\
|
|
||||||
\indent Minimum compatible version: 22 \\
|
|
||||||
\indent Latest version: 22 \\
|
|
||||||
|
|
||||||
|
|
||||||
\begin{enumerate}
|
|
||||||
\item One must get the latest package's corresponding bit files from the SLS
|
|
||||||
Detector Group.
|
|
||||||
\item If one does not have the bcp script, that should also be obtained from
|
|
||||||
the SLS Detector Group. It is required to program the bit files and requires
|
|
||||||
that tftp be installed on the pc.
|
|
||||||
\item Bring the detector into programmable mode by either of the following ways.
|
|
||||||
Both ways end up in just the central LED blinking.
|
|
||||||
\begin{enumerate}
|
|
||||||
\item hard reset on the back panel boards resulting in blinking LEDS
|
|
||||||
\item by having the following program running in the background.
|
|
||||||
\begin{verbatim}
|
|
||||||
boot_recovery
|
|
||||||
\end{verbatim}
|
|
||||||
\end{enumerate}
|
|
||||||
\item Start a terminal for each half module and run the following to see
|
|
||||||
progress.
|
|
||||||
\begin{verbatim}
|
|
||||||
nc -p 3000 -u bebxxx 3000
|
|
||||||
\end{verbatim}
|
|
||||||
\item Run the following to update firmware
|
|
||||||
\begin{verbatim}
|
|
||||||
#update back end fpga
|
|
||||||
bcp download.bit bebxxx:/fw0
|
|
||||||
|
|
||||||
#update front left fpga
|
|
||||||
bcp download.bit bebxxx:/febl
|
|
||||||
|
|
||||||
#update front right fpga
|
|
||||||
bcp download.bit bebxxx:/febr
|
|
||||||
|
|
||||||
#update kernel
|
|
||||||
bcp download.bit bebxxx:/kernel
|
|
||||||
\end{verbatim}
|
|
||||||
Please update bit files with great caution as it could make your board
|
|
||||||
inaccessible, if done incorrectly.
|
|
||||||
\end{enumerate}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\subsubsection{EIGER On-board Software}
|
|
||||||
Every SLS Detector package release will have its coresponding matching on-board
|
|
||||||
server under \textbf{slsDetectorPackage/serverBin}.
|
|
||||||
|
|
||||||
|
|
||||||
Update the on-board software without connecting to the detector
|
|
||||||
\begin{verbatim}
|
|
||||||
#password for the boards: root
|
|
||||||
|
|
||||||
#Kill existing servers that are running on the detector
|
|
||||||
ssh root@beb031 killall eigerDetectorServer;
|
|
||||||
|
|
||||||
#Copy on-board server to detector inside executables folder
|
|
||||||
scp ~/path-where-it-is/eigerDetectorServerxxx root@bebxxx:~/executables;
|
|
||||||
|
|
||||||
#Overwrite the actual eigerDetectorServer on board
|
|
||||||
scp ~/path-where-it-is/eigerDetectorServerxxx
|
|
||||||
root@bebxxx:~/executables/eigerDetectorServer;
|
|
||||||
|
|
||||||
#sync
|
|
||||||
ssh root@bebxxx sync;
|
|
||||||
|
|
||||||
#reboot the eiger board
|
|
||||||
\end{verbatim}
|
|
||||||
|
|
||||||
|
|
||||||
\bigskip One can connect to the detector by:
|
|
||||||
\begin{verbatim}
|
|
||||||
ssh root@bebxxx
|
|
||||||
password: root
|
|
||||||
\end{verbatim}
|
|
||||||
|
|
||||||
|
|
||||||
The on-board server is in ~/executables folder and respawned at startup in \\
|
|
||||||
\verb=/etc/rc5.d/S50board_com.sh=
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\subsection{JUNGFRAU}
|
|
||||||
|
|
||||||
In such cases, the users are not expected to compile the software
|
|
||||||
themselves (which would require dedicated softwares) but only to download on the
|
|
||||||
detector board the programming files and/or software package provided by
|
|
||||||
the SLS Detectors group.
|
|
||||||
|
|
||||||
\subsubsection{JUNGFRAU Firmware}
|
|
||||||
\textit{For SLS Detector Package v4.0.0} \\
|
|
||||||
\indent Minimum compatible version: 15.06.2018 \\
|
|
||||||
\indent Latest version: 15.06.2018 \\
|
|
||||||
|
|
||||||
|
|
||||||
At times, one has to update the firmware, which then also requires updating the
|
|
||||||
on-board software.
|
|
||||||
|
|
||||||
|
|
||||||
\textbf{\textit{Jungfrau firmware can be upgraded via the SLS Detector Package
|
|
||||||
binaries from the command line.}}
|
|
||||||
|
|
||||||
\begin{enumerate}
|
|
||||||
\item One must get the latest package's corresponding POF file from the SLS
|
|
||||||
Detector Group.
|
|
||||||
\item Update the latest SLS Detector package installed.
|
|
||||||
\item Update the on-board software as per the instructions in the next
|
|
||||||
section.
|
|
||||||
\item Start the on-board server in update mode:
|
|
||||||
\begin{enumerate}
|
|
||||||
\item Connect to the blackfin on the detector\\
|
|
||||||
\verb=telnet bchipxxx=
|
|
||||||
\item Prevent existing on-board server from respawning by:
|
|
||||||
\begin{enumerate}
|
|
||||||
\item Edit \verb=/etc/inittab=
|
|
||||||
\item Comment out the line
|
|
||||||
\verb=#ttyS0::respawn:/jungfrauDetectorServervxxx=
|
|
||||||
\item Reboot blackfin using \verb=reboot=
|
|
||||||
\item Run \verb=ps= to ensure no jungfrauDetectorServers are running
|
|
||||||
\end{enumerate}
|
|
||||||
\item Start the server in update mode using: \\
|
|
||||||
\verb=./jungfrauDetectorServerxxx -update= \\
|
|
||||||
Leave this console on to come back to it later.
|
|
||||||
\end{enumerate}
|
|
||||||
\item From the command line of the pc, clear shared memory \\
|
|
||||||
\verb=./sls_detector_get free= \\
|
|
||||||
If one gets shmget error, please clean the shared memory properly using the
|
|
||||||
script in \verb=slsDetectorPackage/cleansharedmemory.sh=
|
|
||||||
\item Add the detector to shared memory using \\
|
|
||||||
\verb=./sls_detector_put hostname bchipxxx=
|
|
||||||
\item Program the FPGA using \\
|
|
||||||
\verb=./sls_detector_put programfpga xxx.pof=
|
|
||||||
\item Once the programming is done:
|
|
||||||
\begin{enumerate}
|
|
||||||
\item Switch to the console that has the update server running and kill it
|
|
||||||
using Ctrl+C and ensure no jungfrauDetectorServers are
|
|
||||||
running
|
|
||||||
\item Restart the new server to see if it runs with the new firmware \\
|
|
||||||
\verb=./jungfrauDetectorServerxxx= \\
|
|
||||||
If the server didn't start properly, please contact us with the error message
|
|
||||||
shown when starting the server up, else continue with the following steps.
|
|
||||||
\item Respawn the new server (server starts at detector statup):
|
|
||||||
\begin{enumerate}
|
|
||||||
\item Edit \verb=/etc/inittab=
|
|
||||||
\item Uncomment out the line
|
|
||||||
\verb=ttyS0::respawn:/jungfrauDetectorServervxxx=
|
|
||||||
\item Reboot blackfin using \verb=reboot=
|
|
||||||
\item Run \verb=ps= to ensure that both the gotthardDetectorServers are
|
|
||||||
running.\\
|
|
||||||
\verb=jungfrauDetectorServervxxx= \\
|
|
||||||
\verb=jungfrauDetectorServervxxx 1953=
|
|
||||||
\end{enumerate}
|
|
||||||
\end{enumerate}
|
|
||||||
|
|
||||||
\end{enumerate}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\subsubsection{JUNGFRAU On-board Software}
|
|
||||||
Every SLS Detector package release will have its coresponding matching on-board
|
|
||||||
server under \textbf{slsDetectorPackage/serverBin}.
|
|
||||||
|
|
||||||
|
|
||||||
\begin{enumerate}
|
|
||||||
\item Install tftp if the pc does not have it.
|
|
||||||
\item Copy the server from serverBin folder to /tftpboot (or equivalent tftp
|
|
||||||
folder) of the pc
|
|
||||||
\item Copy the server to the detector by:
|
|
||||||
\begin{enumerate}
|
|
||||||
\item Connect to the blackfin on the detector\\
|
|
||||||
\verb=telnet bchipxxx=
|
|
||||||
\item Prevent existing on-board server from respawning by:
|
|
||||||
\begin{enumerate}
|
|
||||||
\item Edit \verb=/etc/inittab=
|
|
||||||
\item Comment out the line
|
|
||||||
\verb=#ttyS0::respawn:/jungfrauDetectorServervxxx=
|
|
||||||
\item Reboot blackfin using \verb=reboot=
|
|
||||||
\item Run \verb=ps= to ensure no gotthardDetectorServers are running
|
|
||||||
\end{enumerate}
|
|
||||||
\item Copy new on-board server from pc to the blackfin using: \\
|
|
||||||
\verb=tftp pcxxx -r jungfrauDetectorServervxxx -g=
|
|
||||||
\item Respawn the new server (server starts at detector statup):
|
|
||||||
\begin{enumerate}
|
|
||||||
\item Edit \verb=/etc/inittab=
|
|
||||||
\item Uncomment out the line
|
|
||||||
\verb=ttyS0::respawn:/jungfrauDetectorServervxxx=
|
|
||||||
\item Reboot blackfin using \verb=reboot=
|
|
||||||
\item Run \verb=ps= to ensure that both the gotthardDetectorServers are
|
|
||||||
running.\\
|
|
||||||
\verb=jungfrauDetectorServervxxx= \\
|
|
||||||
\verb=jungfrauDetectorServervxxx 1953=
|
|
||||||
\end{enumerate}
|
|
||||||
\end{enumerate}
|
|
||||||
\end{enumerate}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\begin{comment}
|
\begin{comment}
|
||||||
\section{Detector system architecture}
|
\section{Detector system architecture}
|
||||||
|
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
mkdir build
|
|
||||||
mkdir install
|
|
||||||
cd build
|
|
||||||
cmake .. \
|
|
||||||
-DCMAKE_PREFIX_PATH=$CONDA_PREFIX \
|
|
||||||
-DCMAKE_INSTALL_PREFIX=install \
|
|
||||||
-DUSE_TEXTCLIENT=ON \
|
|
||||||
-DUSE_RECEIVER=ON \
|
|
||||||
-DUSE_GUI=ON \
|
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
|
||||||
-DUSE_HDF5=OFF\
|
|
||||||
|
|
||||||
|
|
||||||
cmake --build . -- -j10
|
|
||||||
cmake --build . --target install
|
|
@ -1,15 +0,0 @@
|
|||||||
|
|
||||||
mkdir $PREFIX/lib
|
|
||||||
mkdir $PREFIX/bin
|
|
||||||
mkdir $PREFIX/include
|
|
||||||
|
|
||||||
#No libs for gui?
|
|
||||||
|
|
||||||
#Binaries
|
|
||||||
cp build/bin/gui_client $PREFIX/bin/.
|
|
||||||
cp build/bin/slsDetectorGui $PREFIX/bin/.
|
|
||||||
|
|
||||||
|
|
||||||
#Which headers do we need for development??
|
|
||||||
|
|
||||||
# cp include/some_lib.h $PREFIX/include/.
|
|
@ -1,23 +0,0 @@
|
|||||||
|
|
||||||
mkdir $PREFIX/lib
|
|
||||||
mkdir $PREFIX/bin
|
|
||||||
mkdir $PREFIX/include
|
|
||||||
mkdir $PREFIX/include/slsDetectorPackage
|
|
||||||
|
|
||||||
#Shared and static libraries
|
|
||||||
cp build/bin/libSlsDetector.so $PREFIX/lib/.
|
|
||||||
cp build/bin/libSlsDetector.a $PREFIX/lib/.
|
|
||||||
cp build/bin/libSlsReceiver.so $PREFIX/lib/.
|
|
||||||
cp build/bin/libSlsReceiver.a $PREFIX/lib/.
|
|
||||||
|
|
||||||
#Binaries
|
|
||||||
cp build/bin/sls_detector_acquire $PREFIX/bin/.
|
|
||||||
cp build/bin/sls_detector_get $PREFIX/bin/.
|
|
||||||
cp build/bin/sls_detector_put $PREFIX/bin/.
|
|
||||||
cp build/bin/sls_detector_help $PREFIX/bin/.
|
|
||||||
cp build/bin/slsReceiver $PREFIX/bin/.
|
|
||||||
cp build/bin/slsMultiReceiver $PREFIX/bin/.
|
|
||||||
|
|
||||||
#Which headers do we need for development??
|
|
||||||
cp build/install/include/* $PREFIX/include/slsDetectorPackage/
|
|
||||||
# cp include/some_lib.h $PREFIX/include/.
|
|
@ -1,89 +0,0 @@
|
|||||||
|
|
||||||
package:
|
|
||||||
name: sls_detector_software
|
|
||||||
version: "developer"
|
|
||||||
|
|
||||||
source:
|
|
||||||
- path: ..
|
|
||||||
|
|
||||||
build:
|
|
||||||
number: 0
|
|
||||||
rpaths:
|
|
||||||
- lib/
|
|
||||||
|
|
||||||
requirements:
|
|
||||||
build:
|
|
||||||
- {{ compiler('c') }}
|
|
||||||
- {{compiler('cxx')}}
|
|
||||||
- cmake
|
|
||||||
- qwt 6.*
|
|
||||||
- qt=4.8.7=7
|
|
||||||
- zeromq=4.2.5=hfc679d8_5
|
|
||||||
- pyzmq
|
|
||||||
- xorg-libx11
|
|
||||||
- xorg-libice
|
|
||||||
- xorg-libxext
|
|
||||||
- xorg-libsm
|
|
||||||
- xorg-libxau
|
|
||||||
- xorg-libxrender
|
|
||||||
- xorg-libxfixes
|
|
||||||
- {{ cdt('mesa-libgl-devel') }} # [linux]
|
|
||||||
- {{ cdt('mesa-libegl-devel') }} # [linux]
|
|
||||||
- {{ cdt('mesa-dri-drivers') }} # [linux]
|
|
||||||
- {{ cdt('libselinux') }} # [linux]
|
|
||||||
- {{ cdt('libxdamage') }} # [linux]
|
|
||||||
- {{ cdt('libxxf86vm') }} # [linux]
|
|
||||||
|
|
||||||
host:
|
|
||||||
- libstdcxx-ng
|
|
||||||
- libgcc-ng
|
|
||||||
- libpng >=1.6.32,<1.6.35
|
|
||||||
- xorg-libx11
|
|
||||||
- xorg-libice
|
|
||||||
- xorg-libxext
|
|
||||||
- xorg-libsm
|
|
||||||
- xorg-libxau
|
|
||||||
- xorg-libxrender
|
|
||||||
- xorg-libxfixes
|
|
||||||
|
|
||||||
run:
|
|
||||||
- libstdcxx-ng
|
|
||||||
- libgcc-ng
|
|
||||||
|
|
||||||
outputs:
|
|
||||||
- name: sls_detector_lib
|
|
||||||
version: "developer"
|
|
||||||
script: copy_lib.sh
|
|
||||||
requirements:
|
|
||||||
build:
|
|
||||||
- {{ compiler('c') }}
|
|
||||||
- {{compiler('cxx')}}
|
|
||||||
- name: sls_detector_gui
|
|
||||||
version: "developer"
|
|
||||||
script: copy_gui.sh
|
|
||||||
requirements:
|
|
||||||
build:
|
|
||||||
- {{ compiler('c') }}
|
|
||||||
- {{compiler('cxx')}}
|
|
||||||
- cmake
|
|
||||||
- qwt 6.*
|
|
||||||
- qt=4.8.7=7
|
|
||||||
- zeromq=4.2.5=hfc679d8_5
|
|
||||||
- pyzmq
|
|
||||||
- xorg-libx11
|
|
||||||
- xorg-libice
|
|
||||||
- xorg-libxext
|
|
||||||
- xorg-libsm
|
|
||||||
- xorg-libxau
|
|
||||||
- xorg-libxrender
|
|
||||||
- xorg-libxfixes
|
|
||||||
- {{ cdt('mesa-libgl-devel') }} # [linux]
|
|
||||||
- {{ cdt('mesa-libegl-devel') }} # [linux]
|
|
||||||
- {{ cdt('mesa-dri-drivers') }} # [linux]
|
|
||||||
- {{ cdt('libselinux') }} # [linux]
|
|
||||||
- {{ cdt('libxdamage') }} # [linux]
|
|
||||||
- {{ cdt('libxxf86vm') }} # [linux]
|
|
||||||
run:
|
|
||||||
- sls_detector_lib=developer
|
|
||||||
- qwt 6.*
|
|
||||||
- qt=4.8.7=7
|
|
1
serverBin/eigerDetectorServerv3.0.0.16.10
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv3.0.0.16.10
|
@ -1 +0,0 @@
|
|||||||
../slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv4.0.0.22.0
|
|
1
serverBin/gotthardDetectorServerv3.0.0.6
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServerv3.0.0.6
|
@ -1 +0,0 @@
|
|||||||
../slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServerv4.0.0.3
|
|
1
serverBin/jungfrauDetectorServerv3.0.0.6.3
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServerv3.0.0.6.3
|
@ -1 +0,0 @@
|
|||||||
../slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServerv4.0.0.0
|
|
1
serverBin/moenchDetectorServerv2.0.3
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../slsDetectorSoftware/moenchDetectorServer/moenchDetectorServerv2.0.3
|
1
settingsdir/gotthard/dynamicgain/calibration.sn
Executable file
@ -0,0 +1 @@
|
|||||||
|
227 5.6
|
8
settingsdir/gotthard/dynamicgain/settings.sn
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
Vref 660
|
||||||
|
VcascN 650
|
||||||
|
VcascP 1480
|
||||||
|
Vout 1520
|
||||||
|
Vcasc 1320
|
||||||
|
Vin 1350
|
||||||
|
Vref_comp 350
|
||||||
|
Vib_test 2001
|
1
settingsdir/gotthard/highgain/calibration.sn
Normal file
@ -0,0 +1 @@
|
|||||||
|
227 5.6
|