51 Commits

Author SHA1 Message Date
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
Dhanya Thattil
05f657c106
Versioning (#568)
- removed getClientServerAPIVersion in server (not used)
- removed rxr side (clientversion compatibility check), removed enum as well as it is now done on the client side.
- versionAPI.h
   - GITBRANCH changed to RELEASE
   - dates for all API changed to "sem_version date". Scripts to compile servers modified for this. Empty "branch" name will end up with developer for sem_version.

- Version class with constructor taking in the long version (APILIB date). Other member functions including concise(to get sem_version for new releases and date for old releases), 
  
- bypassing initial tests, also now bypasses the client-rxr compatibility check (at rx_hostname command)

- previously, compatibility between client-det was ensuring both had the same detector API (eg. same APIJUNGFRAU)
   - Now, compatibility only checks APILIB (client side) and detector API(eg. APIJUNGFRAU) (detector side) have same major version. It only does backward compatibility test. Rest is upto user to ensure. 
   - If server is from an older release, it will compare dates like previous implementation (APIJUNGFRAU from both client and det)
 
- - previously, compatibility between client-rxr was ensuring both had the same APIRECEIVER
   - Now, compatibility only checks APILIB (client side) and APIRECEIVER (rxr side) have same major version. It only does backward compatibility test. Rest is upto user to ensure. 
   - If rxr is from an older release, it will compare dates like previous implementation (APIRECEIVER from both client and rxr)

- removed APIGUI, evalVersionVariables.sh, genVersionHeader.sh (not needed or not used)

- clientVersion, rxrversion and detectorserverversion all return strings and not integers (in hex) anymore. Depending if it has semantic versioning, it will print that or the date if it is too old.

- fixed in python (strings for versions)
- check_version function in detector server changed to "initial checks" as it only checks server-firmware compatibility and initial server checks. Client compatibilities are moved to client side.
- --version gives sem_version and date? Is date needed as well. The clientversion, detserverversion and rxrversion API gives only sem_version (no date)
- - formatting
2022-11-09 11:13:09 +01: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
519b09fcad permission 2021-10-18 15:01:10 +02:00
ca08cd9ec1 updated cmakelists.txt for licesnse 2021-10-18 11:44:47 +02:00
e6b18f6a95 updated versioning for shared libraries 2021-10-14 15:11:47 +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
2ff50750f5 moved md5 to slsSupportlib, added md5_helper.c 2021-09-16 11:34:16 +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
60e3fb8aab fixing conflics after merging back release to developer 2021-03-23 10:50:09 +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
d9b2a90651 Introduced pattern class 2020-11-27 10:03:15 +01:00
Dhanya Thattil
e63fa1d7c2
Setting pattern from memory (#218)
* ToString accepts c-style arrays

* added patternParameters to python

* fixed patwait time bug in validation

* moved load from file function to patterParameters

* server using patternparamters structure to get pattern

Co-authored-by: Erik Frojdh <erik.frojdh@gmail.com>
2020-11-24 20:32:07 +01:00
Erik Frojdh
1efdc90719 clean 2020-11-18 08:57:35 +01:00
Erik Fröjdh
121a3ad733
Static libraries (#213) 2020-11-03 18:54:11 +01:00
Erik Fröjdh
a15d8dd30a
Moving headers into include/sls (#212) 2020-11-02 16:05:28 +01:00
Erik Frojdh
fb8842e048 build and libname 2020-09-07 09:14:47 +02:00
Erik Frojdh
a1b88d3a62 fix 2020-09-04 11:20:33 +02:00
Erik Frojdh
514346c3ba static support lib 2020-09-04 11:00:34 +02:00
Erik Fröjdh
aa0c36713c
Utility function to get a vector of set bits
Template function to return a vector with the positions of all set bits in a variable.
2020-08-05 13:42:57 +02:00
Erik Fröjdh
5bf6b7a338
Refactor of ZmqSocket (#109)
Changed data type of address from char[1000] to string to reduce stack size of object.

Removed redundant calls to Close

Removed function exposing the socket descriptor

Using functions from network_utils instead of duplicates

Added tests
2020-06-19 12:41:03 +02:00
Erik Fröjdh
cf9ec3de0d
moench zmq (#107) 2020-06-17 10:34:42 +02:00
Erik Frojdh
c33c479ada removed funcs from install 2020-05-18 14:18:12 +02:00
Erik Frojdh
ea7cc9db8c less public headers 2020-05-15 10:52:23 +02:00
Erik Frojdh
0dd5a099c8 renamed FixedCap.. to StaticVector 2020-05-15 09:03:23 +02:00
Erik Frojdh
3962714b48 format + exception.cpp 2020-05-13 14:48:52 +02:00
Erik Frojdh
337e56d9bf cleaned up LTO detection 2020-04-23 08:23:36 +02:00
Erik Frojdh
655a410d43 cleaned up UdpRxSocket 2020-04-16 09:45:44 +02:00
Erik Frojdh
fb051355b8 moved string conversion to .cpp 2020-03-26 15:06:23 +01:00
Erik Frojdh
f22f23849d minor 2020-03-26 11:56:38 +01:00
Erik Frojdh
9753d075f0 added headers to install 2020-03-24 09:06:36 +01:00
Erik Frojdh
cb8403f1b0 zmq 2020-03-18 12:38:06 +01:00
Erik Frojdh
b751238fc1 ZmqSocket 2020-03-18 12:12:01 +01:00
Erik Frojdh
5479d3a198 fix 2020-03-18 11:11:00 +01:00
Erik Frojdh
e1768905dd build interface 2020-03-18 11:06:37 +01:00
Erik Frojdh
775d0842e9 build interface 2020-03-18 11:00:54 +01:00
Erik Frojdh
e7e201bd2a export and include 2020-03-18 10:20:01 +01:00
Erik Frojdh
6809bd6567 removed header 2020-03-12 12:38:00 +01:00
Erik Frojdh
f1bce15a57 replaced udp socket 2020-02-17 17:43:14 +01:00
Erik Frojdh
ec66079f65 renamed ServerInterface 2020-02-04 08:57:35 +01:00
Erik Frojdh
2f2e4da628 Moved CmdLineProxy 2019-11-05 11:07:07 +01:00
Erik Frojdh
c36dfc3992 even more tests 2019-08-12 12:09:44 +02:00
Dhanya Thattil
4ceee97c03
Api (#48)
* WIP

* WIP

* WIP

* cleaned up multi

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* split up python module

* WIP

* WIP

* WIP

* WIP

* WIP

* ok

* fixed bugs from rebase

* WIP

* fixed broken test

* WIP

* fixed python

* WIP

* sphinx help

* including new commands

* docs

* WIP

* WIP

* more tests

* added missing public header

* WIP
2019-08-07 11:21:07 +02:00
Erik Fröjdh
3bb0daeefb moved libs (#36) 2019-06-25 11:20:31 +02:00
Erik Frojdh
17b08b6e53 removed MySocketTCP and old ServerInterface 2019-06-18 15:54:22 +02:00
Erik Frojdh
415567006f non used header 2019-05-16 15:16:11 +02:00
Erik Frojdh
e252b8e0e9 receiver socket 2019-05-15 17:51:48 +02:00
Erik Frojdh
bf0847e967 removed ClientInterface 2019-05-15 08:38:49 +02:00
Erik Frojdh
bc4d0452af removed unused error_defs.h 2019-05-14 17:25:43 +02:00
Erik Fröjdh
2a1c89f712 Fixed container (#19)
* added FixedCapacityContainer

* added empty to FixedCapacityContainer

* removed commented out section

* added FixedCapacityContainer to public headers
2019-05-08 12:34:45 +02:00