Commit Graph

353 Commits

Author SHA1 Message Date
Dhanya Thattil d19f6a3d0d initialchecks werent being bypassed because of the wrong exception being caught. fixed (#623) 2023-01-19 10:43:27 +01:00
Dhanya Thattil 39b1f5bbf2 Moench rewrite (#597)
* copied jungfrau server to moench and adapted

* fixed image size and num packets

* read n rows allows 16

* commneted out configure_asic_timer at server startup. To be removed later the ASIC_CTRL_REG and storage cell options

* moench:removing the decrement (which was in jf)  in read n rows to register

* removed lblsamples from gui
2022-12-15 09:16:51 +01:00
Dhanya Thattil 2ff5291f48 hardware version (#580)
* hardware version for all dets except eiger
Co-authored-by: Erik Frojdh <erik.frojdh@gmail.com>
2022-11-24 11:24:05 +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 d2c4827b31 increasing default rx tcp port (#562)
* increasing rx tcp port by default when creating shm
2022-10-18 15:24:04 +02:00
Dhanya Thattil 76c18f3303 setting rx_hostname (or udp_dstip with rx_hostname not none) will always set udp_dstmac. solves problem of chaing udp_dstip and udp_dstmac stays the same (#544) 2022-09-05 16:57:54 +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 4638bf7cf8 Jungfrausync (#519)
* jungfrau sync
2022-08-23 10:29:16 +02:00
Dhanya Thattil 6bf9dbf6d3 Format (#506)
Formatted package
2022-08-05 15:39:34 +02:00
Dhanya Thattil 5490daa0a1 storagecells not updated in rx and allowing it in idle mode (#485) 2022-06-09 13:42:18 +02:00
Dhanya Thattil 1fb90ab98c M3threshold (#475)
* vicin default changed to 800, only setting vthx directly allows to set dac even if counter disabled, else disable counter, setallthresholdenergy if an energy is -1, get module value, fix that reg was repaced by isettings

* vth3 disabled for interpolation enable, interpolation disable sets counter mask to what it was before (updating old mask whn setting counter mask except for setting all counters for interpolation enable) and enabling vth3 if counter was enabled

* refactor and test for previous commit

* pump probe only has vth2 enabled, handles both pump probe mode and interpolation mode as well

* wip

* refactored pump probe and interpolation and added to setmodule

* check dacs and trimbits out of range for setmodule (not just threshold)

* binaries in

* m3: pump probe and interpolation mutually exclusive

* minor
2022-06-07 16:55:33 +02:00
Dhanya Thattil 365ac835eb Get trimbits (#462)
* added the possibility to save settings file for m3 and eiger

* added save trimbits to gui

* update release notes

* python wip

* moved location of trimbits save option in gui

* python works

* updating getModule with all its parameters in the server side

* updating binaries
2022-05-24 11:08:08 +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 8d6b8d66cc size of shm needs to be only sometimes checked when opening shared memory (#443) 2022-05-16 12:27:48 +02:00
Dhanya Thattil 88649a00b6 M3vtrim min (#454)
* Remove the vtrim min 600 check when setting threshold energy. vth1-3:200 - 2400, others 0-2800

* compile fix
2022-05-12 11:41:05 +02:00
Dhanya Thattil b122c2fbdf Revert "Remove the vtrim min 600 check when setting threshold energy. vth1-3:200 - 2400, others 0-2800 (#452)" (#453)
This reverts commit 7d574375b4.
2022-05-12 11:38:34 +02:00
Dhanya Thattil 7d574375b4 Remove the vtrim min 600 check when setting threshold energy. vth1-3:200 - 2400, others 0-2800 (#452) 2022-05-12 11:06:14 +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
maliakal_d 150d27cf95 removed copydetectorserver 2022-04-05 14:11:04 +02:00
Erik Fröjdh e55e18d5e9 Refactoring of SharedMemory.h (#418)
Function names match Detector.h
Removed double print due to LOG then throw
file descriptor not kept as a member variable
2022-03-28 16:13:56 +02:00
maliakal_d 2453390cc3 merge fix 2022-03-28 09:11:32 +02:00
maliakal_d 9ff43efdc5 Merge branch 'developer' into numudp 2022-03-25 10:50:51 +01:00
maliakal_d 0f4bcf3a9d test if special file when updating kernel(solution: reboot only), --force-delete-normal-file used to force delete bfin fpga drive if normal file and create proper device tree 2022-03-22 16:44:12 +01:00
maliakal_d 2b35101b17 moved shm numUdpInterfaces initialization up front, moved updating this value in DetectorImpl::setHostname to DetectorImpl::addModule for more readability, renamed getNumberofUdpInterfaces to an updateNumberofUdpInterfaces as the shm was being updated and is used only in setHostname, everywhere else getNumberofUdpInterfaces is replaced by getNumberofUdpInterfacesFromShm 2022-03-22 10:23:22 +01:00
maliakal_d c1895c4bc8 Merge branch 'developer' into rxacqIndices 2022-03-17 08:48:15 +01:00
maliakal_d 7a39822813 fixes for set top, masterin api 2022-03-16 12:49:22 +01:00
maliakal_d 34588356e8 added top 2022-02-28 17:05:24 +01:00
maliakal_d a1ee681135 - framescaught and frameindex now returns a vector for each port
- progress looks at activated or enabled ports, so progress does not stagnate
- (eiger) disable datastreaming also for virtual servers only for 10g
- missing packets also takes care of disabled ports
2022-02-24 11:15:03 +01:00
maliakal_d ef3df36e55 merge fix 2022-02-23 11:40:50 +01:00
maliakal_d 2b2533f465 allowing setmaster for eiger 2022-02-22 15:23:04 +01:00
maliakal_d 8f632db2a0 get number of missing packets now returns signed so negative numbers mean extra packets 2022-02-22 10:27:22 +01:00
maliakal_d 83a65f85ab allowing localhost for virtual server 2022-02-14 10:25:34 +01:00
maliakal_d fa929b138e Merge branch 'developer' into localhost 2022-02-11 16:24:11 +01:00
maliakal_d e8ededc1d1 fixes 2022-02-09 11:56:57 +01:00
maliakal_d 2cf539c16e reg for m3 is reserved only for gaincaps and not settings. Fixed in set threshold and setall threshold 2022-02-09 11:53:18 +01:00
maliakal_d bcca99e38c clearer exceptions to help user fix the issue of localhost not getting mac address 2022-02-09 11:30:34 +01:00
Dhanya Thattil 771b1e7877 rx_arping for 10g mode (#359)
* test for rx_arping

* arping ip and interface from client interface

* apring thread added to thread ids

* clean code for thread for arping

* removing the assumption that udpip1 fill be updated along with udpip2

* review, replacing syscall(sys_gettid) with gettid()
2022-02-04 10:12:57 +01:00
Erik Frojdh 510d8717b5 interpolate vtrim for eiger 2022-02-03 15:21:18 +01:00
maliakal_d 6c0356ff90 merge with developer 2022-01-24 11:39:13 +01:00
maliakal_d 50c1056eb2 minor 2022-01-20 17:23:41 +01:00
maliakal_d 14d10d2f8f fix for slow adcs and any other adcs that went to stop server, but needed control server for configuration of the adc 2022-01-20 17:21:37 +01:00
maliakal_d 79affe1ea4 updated client and rxr, not tested 2022-01-06 18:46:14 +01:00
maliakal_d 7772eb153d using const for getupdatemode 2021-11-22 15:08:58 +01:00
maliakal_d 1c6e33064b minor typo 2021-11-18 15:39:34 +01:00
maliakal_d eb69d7cb69 update mode added. need to fix why udpatemode get and set not in allowed functions 2021-11-12 17:18:26 +01:00
maliakal_d 32d664a77d actually writing the server binary from memory to file before linking, sycing, permissions etc 2021-11-10 17:48:18 +01:00
maliakal_d 4a8c365447 typo 2021-11-10 17:25:37 +01:00
maliakal_d 4b46091be2 python fix, server copy wrong filename 2021-11-10 16:40:14 +01:00
maliakal_d adc6cf214a fixed runtime error with module::sendprogram default servername value 2021-11-10 14:54:42 +01:00