adding rx_roi also in the zmq header for external guis to put the "yellow box".. sending full roi instead of -1, and sending for each zmq port. "(multiple yellow boxes)".
* eiger: hardwareversion, fix firmware version unable to read version scenarios, check to see if febl, febr and beb have same fw version
* feb versions can be picked up only after feb initialization
* 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>
* eiger: adding mask to read/write registers. useful for setting quad parameters as they might have different values for left and right fpga registers.
** fix quad position
* fix quad flipping
* formatting
* first tries with a process intead of thread for rx_arping
* Moving delete pointer of udp socket to stopReciever,so rx_arping can only be set when udp socket is closed
* refactoring and formatting
* unused variable processId
* ignore sigchild to prevent zombie from child processes being killed
* 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
- 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
* 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
* incorrect dimensions for virtual hdf5 parameter set
* fix for corner case bug in hdf5 virtual parameter dataset when frames caught is not a multiple of framesperfile
* reafctoring for readability and error prone hard numbers
* gui message doesnt show if it has a '>' symbol in error msg
* minor refactoring for readability (size_t calc fifo size)
* refactoring listening udp socket code: activated and datastream dont create udp sockets anyway, rc<=- should be discarded in any case
* wip
* refactoring memory structure access
* wip: bugfix write header + data to binary
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* portRoi no roi effecto on progress
* fail at receiver progress, wip
* segfaults for char pointer in struct
* reference to header to get header and data
* refactoring
* use const defined for size of header of fifo
* updated release notes
* remove pointer in callback for sls_receiver_header pointer
* rx same name arguments in constructors
* rx: same name arguments in constructor
* rx: removing the '_' suffix in class data members
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* diff undo for clang later
* wip
* Wip
* const string&
* gui message doesnt show if it has a '>' symbol in error msg
* minor refactoring for readability (size_t calc fifo size)
* refactoring listening udp socket code: activated and datastream dont create udp sockets anyway, rc<=- should be discarded in any case
* wip
* refactoring memory structure access
* wip: bugfix write header + data to binary
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* portRoi no roi effecto on progress
* fail at receiver progress, wip
* segfaults for char pointer in struct
* reference to header to get header and data
* refactoring
* use const defined for size of header of fifo
* updated release notes
* remove pointer in callback for sls_receiver_header pointer
* rx same name arguments in constructors
* rx: same name arguments in constructor
* rx: removing the '_' suffix in class data members
* merge fix
* merge fix
* review fix refactoring
* gui message doesnt show if it has a '>' symbol in error msg
* minor refactoring for readability (size_t calc fifo size)
* refactoring listening udp socket code: activated and datastream dont create udp sockets anyway, rc<=- should be discarded in any case
* wip
* refactoring memory structure access
* wip: bugfix write header + data to binary
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* portRoi no roi effecto on progress
* fail at receiver progress, wip
* segfaults for char pointer in struct
* reference to header to get header and data
* refactoring
* use const defined for size of header of fifo
* updated release notes
* remove pointer in callback for sls_receiver_header pointer
* passing reference header for callback instead of copying it
* gui message doesnt show if it has a '>' symbol in error msg
* minor refactoring for readability (size_t calc fifo size)
* refactoring listening udp socket code: activated and datastream dont create udp sockets anyway, rc<=- should be discarded in any case
* wip
* refactoring memory structure access
* wip: bugfix write header + data to binary
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* portRoi no roi effecto on progress
* fail at receiver progress, wip
* segfaults for char pointer in struct
* reference to header to get header and data
* refactoring
* use const defined for size of header of fifo
* updated release notes
* refactoring from review: fwrite, static_cast
* 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
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
* inconsistent copy with generalData and implementation members, especially for m3 (non default rxr generic values), issue caught on second configure with non m3 default values, eg tengiga 0
* removing test