183 Commits

Author SHA1 Message Date
Dhanya Thattil
f7618fbb93
error message 'unrecognized function enum' from detector or receiver prepended with Software version mismatch to handle enum start change between v6 and v7 (#680) 2023-02-22 11:11:46 +01:00
Dhanya Thattil
18136fed9d
exception messages (#656)
* fix exception messages for more printout about sockets or more detail
2023-02-13 11:22:05 +01:00
Dhanya Thattil
8361f2bb96
zmq: set zmq buffer size also to 0 if hwm >= 25 (#653) 2023-02-10 08:57:36 +01:00
4ee4d66977
Jf zeromq display (#644)
* modified ZmqSocket to expose the SO_RCVBUF and SO_SENDBUF parameters. Modified DataStreamer.cpp to change the SENDBUF to 1MB when HWL is <10. Modified Datastreamer.cpp so that when HWL is changed, socket is unbind/rebind. Added rebind to ZmqSocket.cpp.
Changed slot UpdatePlot() in qdrawplot.h from privat tto public, added plot->UpdatePlot() after every axis range change, so the plots are updated immediatly and not at the next image.
Added onlinedisp_zmq program which connects to the receiver ZMQ port and show images and histos. Compiled against  ROOT 6.22/02. Added examples files.

* added setbuffer size also for gui, moved hardcoded values to a macro, removed unnecessary return of ok or success, added actual zmq exception message to could not create sockets error

* zmq: changing buffer size done within hwm

---------

Co-authored-by: mozzanica <l_mozzanica@mpc2012.psi.ch>
Co-authored-by: Dhanya Thattil <dhanya.thattil@psi.ch>
2023-02-09 17:24:28 +01:00
Dhanya Thattil
9ba907f9f7
added none or 0 to unset bad channels (#632)
* added none or 0 to unset bad channels

* free function split to get int array from string of arguments for badchannels

* missed a file

* allowing list for badchannels in command line

* added badchannels in python

* added size check

* more comments in Detector.h and added more tests for facny command line badchannels

* removeDuplicates accept any container, added tests

* corner cases: 1:5,6,7 or 5,6,7 or just 1:5

Co-authored-by: Erik Frojdh <erik.frojdh@gmail.com>
2023-01-27 09:59:31 +01:00
Dhanya Thattil
4bb1a612f1
changed detector header version to detector specific field names and incremented version number, also for zmq (#574) 2022-11-17 15:24:12 +01: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
Dhanya Thattil
b7cdfbb4d2
Adcvpp (#566)
* added api in detector class for adcvpp, taken out of dac list
2022-10-20 10:58:56 +02:00
Dhanya Thattil
7de6f157b5
M3badchannels (#526)
* badchannels for m3 and modify for g2 (file from single and multi)

* m3: invert polarity of bit 7 and 11 signals from setmodule, allow commas in bad channel file

* badchannel file can take commas, colons and comments (also taking care of spaces at the end of channel numbers)

* tests 'badchannels' and 'Channel file reading' added, removing duplicates in badchannel list, defining macro for num counters in client side

* fix segfault when list from file is empty, 

* fix tests assertion for ctbconfig (adding message) for c++11

* fixed badchannels in m3server (clocking in trimming) 

* badchannel tests can be run from any folder (finds the file)
2022-09-01 15:30:04 +02:00
Dhanya Thattil
e0207cfac1
Udpsocket (#507)
* udp socket refactor from reuss: closing socket before throwing for bind error in constructor, closing socket at destructor and not at shutdown to allow other thread to read with a -1, so the object can still be accessed

* check for size of packet for every detector

* nullptr to unique ptr to call its destructor, when deallocating resources moved out of shutdown

* minor
2022-08-11 09:14:29 +02:00
Dhanya Thattil
6bf9dbf6d3
Format (#506)
Formatted package
2022-08-05 15:39:34 +02:00
Dhanya Thattil
4259363169
rxr sls namespace (#457)
* rxr src files and classes (detectordata, ZmqSocket) added to sls namespace

* moving defines inside namespace

* moving defines inside namespace, added helpdacs to namespace

* added namespace to gui

* gui also updated

* removed unnecessary sls:: when already in sls namespace for slsDetectoSoftware, receverSoftware, slsDetectorGui and slsSupportlib
2022-05-18 11:48:38 +02:00
Dhanya Thattil
fcc7f7aef8
Rx roi (#428)
* roi structure expanded to have ymin and ymax

* compile with 'detector roi'

* wip

* wip, rx_roi, rx_clearroi

* wip rxroi

* rxroi wip

* wip rxroi

* merge fix

* wip

* rx_roi works, impl wip, test

* tests in, impl left

* wip, rxroi impl

* wip, rxroi impl

* wip

* setrx_Roi works, getrx_roi, wip

* rx_roi impl done

* wip, rxroi

* wip, getrx_roi rxr ports

* fix ports

* wip

* wip

* fix positions on server side

* wip

* numports wip

* wip

* jungfrau top inner interface row increment

* x, y detpos, wip

* removed eiger row indices flipping in gui (bottom flipping maintained)

* wip

* wip, jungfrau numinterfaces2

* jungfrau virtual works

* eiger, jungfrau, g2 virtual server works

* eiger positions fix, wip

* binaries in

* minor printout

* binaries in

* merge fix

* merge fix

* removing getposition

* setrxroi wip

* set upto port

* get messed, wip

* roi multi to module works, wip

* wip

* roi dont return -1

* added rxroi metadata in master file

* added rxroifromshm, not yet in detector

* rx roi in gui with box, also for gap pixels (gappixels for jungfrau mess)

* fix for segfault in gui with detaching roi box in gui

* wip

* m3 gui: slave timing modes should be discarded when squashing

* fixed m3 virtual data, and fixed counters in gui asthetics

* m3 roi works

* wip, g2

* wip

* handling g225um boards, and showing roi for gainplot as well

* udpate python functions

* fix for 1d and a2d roi written

* fixed actual roi written to file

* no virtual hdf5 when handling rx roi

* test

* minor

* binarie in
2022-05-16 12:35:06 +02:00
Dhanya Thattil
52882cba20
M3: polarity, interpolation, pump probe (#421)
* wip, adding m3 functions: polarity, inerpolation, pumpprobe

* added interpol, polarity, pump probe, analog pulsing, digital pulsing

* tests

* binaries in

* update release

* added python polarity enum

* fixed python and minor readability in mythen3.c

* binarie sin

* added all the m3 funcs also in list.c and enablingall counters for enabling interpolation

* binarie sin
2022-04-08 15:18:01 +02:00
Erik Frojdh
c554bbb2d3 formatted slsDetectorCalibration 2022-01-24 11:26:56 +01:00
5190e2ab30 refactoring 2021-11-10 15:56:01 +01:00
7b4f8c118b client done 2021-11-08 14:26:53 +01:00
b39c64032d clang format 2021-10-19 14:49:43 +02:00
84f56ff314 updated permissions 2021-10-18 14:54:25 +02:00
a0ecf056d8 updated apache2 notice 2021-10-18 11:43:11 +02:00
b913c0059a added .c licenses 2021-10-15 15:52:40 +02:00
dac60ad76d added .cpp licenses 2021-10-15 15:47:04 +02:00
6394fba85d removing trailing _ for members of currentsrcParameters 2021-10-08 12:52:37 +02:00
417bfbaf38 changing g_108MHz enum to g2_108MHZ (similarly 144), adding readoutspeedlist command 2021-10-08 11:05:25 +02:00
e3e3639829 binaries in and updated api versioning 2021-10-07 19:11:37 +02:00
6b0e6a72df changed speed to readoutspeed, added g2 speeds (108, 144) 2021-10-07 18:39:18 +02:00
81b8f17b32 Merge branch 'somefixes' into naming 2021-09-16 16:47:21 +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
732270f437 renaming sls and detectors to modules, multis to detector 2021-09-15 14:53:31 +02:00
Erik Frojdh
adaf56ca2e WIP 2021-09-14 15:14:08 +02:00
c8ea0c8ede setmoduleid removed, moduleId changed to moduleIndex in client to minimize confusion 2021-09-09 11:17:24 +02:00
9a22a1e530 binaries in 2021-09-07 16:44:35 +02:00
Erik Frojdh
ba52bfb65e UDP struct uses IpAddr and MacAddr 2021-09-07 15:16:03 +02:00
82c5bf15a6 replace udpDestination struct with a class that accepts ipaddr 2021-09-07 12:21:25 +02:00
25d03f949e partialread changed to readnrows 2021-08-31 16:46:49 +02:00
c4c16ad9c0 wip 2021-08-17 14:05:59 +02:00
f72f678d45 Merge branch 'developer' into roundrobin 2021-08-17 11:06:13 +02:00
5f8dc7a7f0 fixes 2021-08-16 14:30:47 +02:00
5790e4961b wip 2021-08-13 17:10:46 +02:00
62d697e91f readnlines->partialread, better debugging for TCP socket interface bug 2021-08-13 12:34:50 +02:00
ec01f98c26 wip 2021-08-12 17:37:55 +02:00
7a76064223 vetoalg added hits and raw 2021-08-11 16:08:32 +02:00
c7293f88d0 done 2021-08-10 21:01:36 +02:00
fce35e35a1 wip 2021-08-10 17:26:26 +02:00
dc921733d0 merge fix 2021-08-06 16:41:39 +02:00
e92270565b changed gain mode. dynamic_gain_mode to dynamic only. binaries in 2021-08-06 16:38:05 +02:00
e62fc1907f binaries in, merge fix 2021-08-06 16:16:25 +02:00
67916cc188 binaries in, merge fix 2021-08-06 16:14:53 +02:00
cc3aede979 merge fix 2021-08-06 16:11:58 +02:00