diff --git a/docs/src/dependencies.rst b/docs/src/dependencies.rst index 703a30799..6b4117d5c 100644 --- a/docs/src/dependencies.rst +++ b/docs/src/dependencies.rst @@ -42,7 +42,7 @@ The documentation that you are reading now is built with * Doxygen (to extract C++ classes etc.) * Breathe (Sphinx plugin to handle doxygen xml) - * Sphinx + * Sphinx with sphinx_rtd_theme ----------------------- Packaged in libs/ diff --git a/docs/src/installation.rst b/docs/src/installation.rst index 868b7aef2..eb5822f5f 100644 --- a/docs/src/installation.rst +++ b/docs/src/installation.rst @@ -1,9 +1,5 @@ -Installation -============================================== -Build from source using CMake ---------------------------------- .. note :: @@ -13,17 +9,54 @@ Build from source using CMake without being communicated. If absolute stability of the API is needed please use one of the release versions. +.. warning :: + + Before building from source make sure that you have the + :doc:`dependencies <../dependencies>` installed. If installing using conda, conda will + manage the dependencies. + + + +Installation +============================================== + +Build from source using CMake +--------------------------------- + +Note that on some systems, for example RH7, cmake v3+ is available under the cmake3 alias. +It is also required to clone with the option --recursive to get the git submodules used +in the package. + + .. code-block:: bash - git clone https://github.com/slsdetectorgroup/slsDetectorPackage.git + git clone --recursive https://github.com/slsdetectorgroup/slsDetectorPackage.git mkdir build && cd build cmake ../slsDetectorPackage -DCMAKE_INSTALL_PREFIX=/your/install/path - make -j12 + make -j12 #or whatever number of cores you are using to build make install +The easiest way to configure options is to use the ccmake utility. + +.. code-block:: bash + + #from the build directory + ccmake . + + Install binaries using conda -------------------------------- +Conda is not only useful to manage python environments but can also +be used as a user space package manager. + +We have three different packages available: + + * **slsdetlib**, shared libraries and command line utilities + * **slsdetgui**, GUI + * **slsdet**, Python bindings + + .. code-block:: bash #Add channels for dependencies and our library @@ -32,14 +65,19 @@ Install binaries using conda conda config --set channel_priority strict #cerate an environment with our library, then activate - conda create -n myenv slsdetlib=2020.03.18.dev2 - codna activate myenv + conda create -n myenv slsdetlib=2020.07.23.dev0 + conda activate myenv #ready to use sls_detector_get exptime etc ... +.. code-block:: bash + + #List available versions + conda search slsdet + Build from source on old distributions ----------------------------------------- @@ -66,4 +104,11 @@ is to use conda .. code-block:: bash - conda create -n myenv python sphinx sphinx_rtd_theme \ No newline at end of file + conda create -n myenv python sphinx sphinx_rtd_theme + +Then enable the option SLS_BUILD_DOCS to create the targets + +.. code-block:: bash + + make docs # generate API docs and build Sphinx RST + make rst # rst only, saves time in case the API did not change \ No newline at end of file diff --git a/docs/src/pyenums.rst b/docs/src/pyenums.rst index 40e261866..521ceec30 100644 --- a/docs/src/pyenums.rst +++ b/docs/src/pyenums.rst @@ -7,6 +7,52 @@ exposed to Python through pybind11. .. py:currentmodule:: slsdet .. autoclass:: runStatus - :members: :undoc-members: - :show-inheritance: + +.. autoclass:: detectorType + :undoc-members: + +.. autoclass:: frameDiscardPolicy + :undoc-members: + +.. autoclass:: fileFormat + :undoc-members: + +.. autoclass:: dimension + :undoc-members: + +.. autoclass:: externalSignalFlag + :undoc-members: + +.. autoclass:: timingMode + :undoc-members: + +.. autoclass:: dacIndex + :undoc-members: + +.. autoclass:: detectorSettings + :undoc-members: + +.. autoclass:: clockIndex + :undoc-members: + +.. autoclass:: speedLevel + :undoc-members: + +.. autoclass:: readoutMode + :undoc-members: + +.. autoclass:: masterFlags + :undoc-members: + +.. autoclass:: frameModeType + :undoc-members: + +.. autoclass:: detectorModeType + :undoc-members: + +.. autoclass:: burstMode + :undoc-members: + +.. autoclass:: timingSourceType + :undoc-members: \ No newline at end of file diff --git a/docs/src/receiver.rst b/docs/src/receiver.rst index a909e7cba..aa2e3abcf 100644 --- a/docs/src/receiver.rst +++ b/docs/src/receiver.rst @@ -1,6 +1,6 @@ Receiver ============================================== -.. doxygenclass:: slsReceiver +.. doxygenclass:: Receiver :members: .. :undoc-members: \ No newline at end of file diff --git a/python/slsdet/__init__.py b/python/slsdet/__init__.py index 3c5216028..d5d64965a 100755 --- a/python/slsdet/__init__.py +++ b/python/slsdet/__init__.py @@ -13,11 +13,25 @@ import _slsdet defs = _slsdet.slsDetectorDefs runStatus = _slsdet.slsDetectorDefs.runStatus speedLevel = _slsdet.slsDetectorDefs.speedLevel + + +detectorType = _slsdet.slsDetectorDefs.detectorType +frameDiscardPolicy = _slsdet.slsDetectorDefs.frameDiscardPolicy +fileFormat = _slsdet.slsDetectorDefs.fileFormat +dimension = _slsdet.slsDetectorDefs.dimension +externalSignalFlag = _slsdet.slsDetectorDefs.externalSignalFlag timingMode = _slsdet.slsDetectorDefs.timingMode dacIndex = _slsdet.slsDetectorDefs.dacIndex -detectorType = _slsdet.slsDetectorDefs.detectorType detectorSettings = _slsdet.slsDetectorDefs.detectorSettings +clockIndex = _slsdet.slsDetectorDefs.clockIndex readoutMode = _slsdet.slsDetectorDefs.readoutMode +masterFlags = _slsdet.slsDetectorDefs.masterFlags + +frameModeType = _slsdet.slsDetectorDefs.frameModeType +detectorModeType = _slsdet.slsDetectorDefs.detectorModeType +burstMode = _slsdet.slsDetectorDefs.burstMode +timingSourceType = _slsdet.slsDetectorDefs.timingSourceType + IpAddr = _slsdet.IpAddr MacAddr = _slsdet.MacAddr