110 Commits

Author SHA1 Message Date
froejdh_e
641b40ffe0 fixed zmq path when building as submodule 2024-01-12 09:18:12 +01:00
ce7270e8a2
commands code generation (#871)
* commands code generation  (#803)

* commands code generation for only frames command

* fix cmake file and add Caller files

* working exptime, fully extended commands file and its variants

* start adding template commands

* add INT_CMD_VEC_ID template

* add list command, generate multiple bins, format code

* reach 208 commands using the cpp macros

* add tests for command parser

* start adding tests for commands parser

* fix typo to use commands.yaml

* add more tests for command_parser

* add all template functions (up to 218 commands)

* finish template functions and add more CmdProxy.cpp functions (250+)

* 257 commands

* 300 commands the rest are very special commands

* add special commands without generation

* separate special functions from generated c++ file

* implementing one command for put and get (buggy)

* add infer action in a separate file

* generate header for special commands from yaml

* allow only 0 or 1 for bool inputs

* group all commands in gen_commands.py

* add help to gen_commands.py

* add autocomplete bash script

* autocompletion: add support for module levels and help

* remove debugging line

* add autocompletion, help to commands, change int [0,1] to bool

* copy tests for Caller.cpp. Tests pass

* update with the new developer branch changes

* fix errors after merging (there is problems with tests)

* fixed port/stopport in yaml (intput typo), added '_caller' to the test dac and test on chip dac command in global test for cmdcaller

* undo previous test simulator debug change

* add documentation for the generated code

* reducing the comment to be replaced in length so formatting does not split into 2 lines

* removed formatting specific style of C++11 in gen_commands.py to keep with the top level clang format of the project
* regeneratign code for commands

* automation generated

* Redirect deprecated commands (#872)

* working implementation, need to fix dac

* fixed deprecation redirect for dac command

* Detector specific autocomplete (#873)

* working implementation, need to fix dac

* fixed deprecation redirect for dac command

* detector specific completion for dac

* added autocomplete using detector specific

* fixed error when autocompleting partial words

* Generate commands/fix commands (#875)

* fix vm_a, im_a etc have deg Celsius suffix, also help missing or changed in some places

* dac: require det id for all, arg0 to be printed at output, help for onchip dac and dac, onchipdac: spacing

* getscan detid and blocking trigger help

* udp_Dstlist det_id fixed, but rx_id invalid

* cmdApp in line with cmdLineApp (missing version, receiver_id, not creating det object in help action

* added set_command to differentiate between check_det_id and require_det_id (mixed up), args: -1 needs to check for at least one argument

* reordering

* reordering and checked till integer_command_hex

* fixed a lot more commands

* fix caller tests for eiger

* changes to tests after Bechir left

* changing .cmd to .cmdcall for the caller commands

* fixed tests for caller, still warning for setexptime about cast input

* autocomplete ran

* add moench test

* regenerating autocomplete and commands

* fixing other things from merge conflicts (renaming slsDetectorDefs to defs in commands.yaml)

* formatting

* added code injection to help (#876)

* updated 3 commands to have get output that can be put into put (#877)

* updated some commands to have get output that can be put into put

* fix tests for clkdiv

* adding help to free (#878)

* removing old commands and renaming them, (also making it work for parameters command as it was still calling cmdproxy) (#879)

* More helpful error messages for unsupported actions (#880)

* removing old commands and renaming them, (also making it work for parameters command as it was still calling cmdproxy)

* Added specific help for unsupported actions

* fixed a vetofile get special exception message. more specific warning for special exception message instead of no function warning

* added condition checking true in exceptions for special message

---------
Co-authored-by: Bechir Brahem <bachbrahem@gmail.com>
Co-authored-by: Erik Frojdh <erik.frojdh@gmail.com>
Co-authored-by: Dhanya Thattil <dhanya.thattil@psi.ch>
2023-12-13 14:43:38 +01:00
Erik Fröjdh
9c50a3ee1e
Internalpybind (#782)
* using fetchcontent to get zmq

* local copy of libzmq

* added guard for policy setting

* removed the need to export by using build interface

* moved pybind11 to FetchContent

* removed zmq hint from cmk script

* Fixed comments

---------
authored-by: froejdh_e <erik.frojdh@psi.ch>
2023-07-17 14:38:39 +02:00
Erik Fröjdh
fd79d59f4e
Internal zmq using FetchContent (#780)
* using fetchcontent to get zmq
* local copy of libzmq
* added guard for policy setting
* removed the need to export by using build interface
* removed zmq hint from cmk script
---------

Co-authored-by: Dhanya Thattil <dhanya.thattil@psi.ch>
Co-authored-by: froejdh_e <erik.frojdh@psi.ch>
2023-07-17 14:20:22 +02:00
f4e05f7a01
1 - Add cmake for jungfrauExecutables rawdataprocess (#717)
* Fix ROI mapping

* intial draft of cmake for jungfrau executables Makefile.rawdataprocess

* added the cmake file

* missed Makefile

* added libfmt

* Fix some compiler warnings


---------

Co-authored-by: vhinger182 <hinger_v@hv_home_lt1.localdomain>
Co-authored-by: Dhanya Thattil <dhanya.thattil@psi.ch>
2023-04-27 13:59:13 +02:00
51de419c2d reordered release notes 2022-12-02 12:59:21 +01:00
Erik Fröjdh
8dbcfc2ca8
Static internal build of qwt (#583)
* static linking of qwt
* suppressed warning in qwt + added reason
2022-11-23 11:59:22 +01:00
Dhanya Thattil
38cd10d4e6
Qt5 built in qwt (#570)
- qt4->qt5
- in built qt5 6.1.5 because rhel7 is not upto date with qt5, removed findqwt.cmake
- made a fix in qwt lib (qwt_plot_layout.h) to work with 5.15 and lower versions for qrect constr.
- qt5 forms fixed, qt4 many hard coding forms switched to forms including qtabwidget, scrolls etc, fonts moved to forms
 - docking option enabled by default, removed option to disable docking feature from "Mode"
- added qVersionResolve utility functions to handle compatibility before and after qt5.12
- qtplots (ian's code) takes in gain mode enable to set some settings within the class, with proper gain plot ticks
- ensure gain plots have no zooming of z axis in 2d and y axis in 1d
- removed placeholder text in qpalette in main window form as its not supportd until 5.12 (so using qt5.9 designer insted of qt5.15 to cope)
- tab order
Servers:
- fixed some error messages that were empty for fail in funcs (mostly minor as if this error, major issues)
2022-11-11 15:15:10 +01:00
Erik Fröjdh
fdfdfd9f43
Option to install slsdet python extension in the install tree (#553)
* added option to install python ext
2022-09-09 13:47:27 +02:00
Erik Fröjdh
c0c8c8e21a
Hardcopy of pybind11 instead of using git submodules (#552)
* removed pybind as submodule
* added hardcopy of pybind11 2.10.0
* rename pybind11 folder to avoid conflicts when changing branch

Co-authored-by: Dhanya Thattil <dhanya.thattil@psi.ch>
2022-09-09 10:42:43 +02:00
Erik Frojdh
98e2ddbb74 indent 2022-04-28 16:37:52 +02:00
Erik Fröjdh
fa12ab2858
Support external builds of python bindings, gui, ctbgui and moench stuff (#440)
Use already installed version of the slsDetectorPackage. Assumes that the library has already been built and installed either on a system wide location or pointed to by CMAKE_PREFIX_PATH
2022-04-28 16:35:29 +02:00
Erik Fröjdh
086d22f1a3
Cleaning up the find zmq (#431) 2022-04-19 17:17:31 +02:00
Erik Fröjdh
f6e76145c1
Make a library for writing and reading tiff, added tests (#347)
* removed Makefile for moench and integrated the build in CMake
* broke out tiff reading and writing to its own library
* moved tiff includes to include/sls
* moved tiffio source to src
* removed incorrectly used bps
* cleanup and tests for tiffio
* removed using namespace std from header
* some fixing for moench04
* Program for offline processing renamed

Co-authored-by: Anna Bergamaschi <anna.bergamaschi@psi.ch>
2022-01-27 10:24:02 +01:00
Erik Frojdh
f818ac46b8 int64_t in receiver missing packets 2022-01-06 15:15:42 +01:00
9101200283 updated project version 2022-01-04 13:22:20 +01:00
Erik Frojdh
066706872d updated version and added python 3.10 build 2021-11-26 09:25:41 +01:00
Erik Frojdh
f076c1cbb7 missing ( 2021-11-24 18:03:26 +01:00
Erik Frojdh
de9854e773 fix message for lto and get/put target 2021-11-24 17:59:22 +01:00
Erik Frojdh
b0a5a76065 adding LTO to tests 2021-11-24 17:40:14 +01:00
00775b543e fixed warnings 2021-11-17 09:25:36 +01:00
25eecf7039 siable warning to truncate and compile fix 2021-11-11 10:12:08 +01:00
d7bbcb24c9 fixes for warnings 2021-10-18 17:51:31 +02:00
ca08cd9ec1 updated cmakelists.txt for licesnse 2021-10-18 11:44:47 +02:00
Erik Frojdh
93550ebed7 fix 2021-10-14 12:48:13 +02:00
Erik Frojdh
8fb4393981 python fix 2021-10-14 12:38:03 +02:00
Erik Fröjdh
7426110e8a
Warnings (#313) 2021-10-12 11:42:02 +02:00
Erik Frojdh
e84f5bec0b disable Wstringop-truncation for servers 2021-10-11 19:56:39 +02:00
Erik Frojdh
7fd174c21e added _SLS to MD5 functions, added a separate lib for the md5 C code 2021-09-16 14:10:02 +02:00
Erik Fröjdh
201d304874
Better control of what is built (#247)
* allow for build only detector libs

* allow receiver libs only

* option for shared libraries
2021-06-02 16:09:28 +02:00
Erik Frojdh
7a67d7e88a minor cmake and servers now reflect developer 2021-03-23 10:54:01 +01:00
Erik Fröjdh
2f2fe4dd47
Release of 5.1.0 (#237)
* Setting pattern from memory (#218)

* ToString accepts c-style arrays

* fixed patwait time bug in validation

* Introduced pattern class

* compile for servers too

* Python binding for Pattern

* added scanParameters in Python

* slsReceiver: avoid potential memory leak around Implementation::generalData

* additional constructors for scanPrameters in python

* bugfix: avoid potentital memory leak in receiver if called outside constructor context

* added scanParameters in Python

* additional constructors for scanPrameters in python

* M3defaultpattern (#227)

* default pattern for m3 and moench including Python bindings

* M3settings (#228)

* some changes to compile on RH7 and in the server to load the default chip status register at startup

* Updated mythen3DeectorServer_developer executable with correct initialization at startup

Co-authored-by: Erik Frojdh <erik.frojdh@gmail.com>
Co-authored-by: Anna Bergamaschi <anna.bergamaschi@psi.ch>

* Pattern.h as a public header files (#229)

* fixed buffer overflow but caused by using global instead of local enum

* replacing out of range trimbits with edge values

* replacing dac values that are out of range after interpolation

* updated pybind11 to 2.6.2

* Mythen3 improved synchronization (#231)

Disabling scans for multi module Mythen3, since there is no feedback of the detectors being ready
startDetector first starts the slaves then the master
acquire firs calls startDetector for the slaves then acquire on the master
getMaster to read back from hardware which one is master

* New server for JF to go with the new FW (#232)

* Modified Jungfrau speed settings for HW1.0 - FW fix version 1.1.1, compilation date 210218

* Corrected bug. DBIT clk phase is implemented in both HW version 1.0 and 2.0. Previous version did not update the DBIT phase shift on the configuration of a speed.

* fix for m3 scan with single module

* m3 fw version

* m3 server

* bugfix for bottom when setting quad

* new strategy for finding zmq based on cppzmq



Co-authored-by: Dhanya Thattil <dhanya.thattil@psi.ch>
Co-authored-by: Dhanya Thattil <33750417+thattil@users.noreply.github.com>
Co-authored-by: Alejandro Homs Puron <ahoms@esrf.fr>
Co-authored-by: Anna Bergamaschi <anna.bergamaschi@psi.ch>
Co-authored-by: Xiaoqiang Wang <xiaoqiangwang@gmail.com>
Co-authored-by: lopez_c <carlos.lopez-cuenca@psi.ch>
2021-03-22 14:43:11 +01:00
Erik Frojdh
90a9cea670 better cmake for python and pybind11 2.6.1 2020-11-23 08:57:00 +01:00
Erik Frojdh
56be47669f more cmake cleaning 2020-11-18 09:43:07 +01:00
Erik Fröjdh
121a3ad733
Static libraries (#213) 2020-11-03 18:54:11 +01:00
Erik Frojdh
fb8842e048 build and libname 2020-09-07 09:14:47 +02:00
Erik Frojdh
514346c3ba static support lib 2020-09-04 11:00:34 +02:00
Erik Frojdh
5ba3a414d6 Warn on the use of VLAs 2020-07-29 14:39:34 +02:00
Erik Fröjdh
cf9ec3de0d
moench zmq (#107) 2020-06-17 10:34:42 +02:00
Erik Frojdh
ea7cc9db8c less public headers 2020-05-15 10:52:23 +02:00
671cf45fd7 format slsdetectorservers 2020-05-05 15:23:11 +02:00
Erik Frojdh
8ff9b0cdac format GUI 2020-05-05 10:12:05 +02:00
Erik Frojdh
ea4044e4b1 format support lib 2020-05-05 10:07:19 +02:00
Erik Frojdh
e599bb7c24 format receiver 2020-05-05 10:04:52 +02:00
Erik Fröjdh
4e4f06560c
Adding support for clang-format (#94) 2020-05-04 16:16:23 +02:00
Erik Frojdh
337e56d9bf cleaned up LTO detection 2020-04-23 08:23:36 +02:00
Erik Frojdh
58ab3c4123 gold linker 2020-03-27 08:22:24 +01:00
Erik Frojdh
bd01a5f2d2 cmake pkg 2020-03-16 19:36:18 +01:00
Dhanya Thattil
de6808b170
Update CMakeLists.txt
qwt minimum 6.1
2020-03-09 18:05:27 +01:00
Erik Frojdh
3e88beb8a5 O3 as default and option for mtune 2020-03-02 13:50:16 +01:00