* enable ipv6 in zmq socket
* removed rx_zmqip API and field in gui, changed client updaterxrzip to updateclientzmqip to have the rx_hostname ip if 0.
* updated command line for rx_zmqip to give a warning.
* Replaced 'depreciated' to 'deprecated' everywhere
* switching from * to 0.0.0.0 works for rebinding zmq sockets
* fixed help in command line for rx_zmqip * to 0.0.0.0 and removed cmd in python
* remove publisher zmq socket ip also for moench post processing
* fixed tests
* publisher zmq ip macros to be reused
* fix the file path resetting issue of GUI in the case where different modules have different fpath setting.
* fix stack-buffer-overflow issue when using HDF5 HDF5DataFile::parameterDataTypes have 64bit type (i.e. STD_U64LE), the size of fill_value should be at least 8 bytes.
* change the type of fill_value to uint64_t
Co-authored-by: Z.H. Li <zhenghenge@gmail.com>
* period and exptime(patternwaittime level 0)
* added new regsieterdefs and updated api version and fixedpattern reg
* autogenerate commands
* formatting
* minor
* wip resetflow, readout mode, transceiver mask, transceiver enable
* acquisition, but streaming done bit and busy (exposing + read chip to fifo) not known yet from fw
* programming fpga and device tree done
* most configuration done, need to connect configuretransceiver to client
* stuck at resetting transciever timed out
* minor
* fixed virtual, added chip busyto fifo, streaming busy, set/getnext framenumber
* configuretransceiver from client, added help in client
* make formatt and command generation
* tests for xilinx ctb works
* command generation
* dacs added and tested, power not done
* power added
* added temp_fpga
* binaries in
* ctrlreg is 0 to enable chip=fixed, high dac val = min val= fixed, power regulators in weird order=fixed, device tree could be loaded with dacs before adcs=fixed
* start works
* virtual server sends
* receiver works
* tests
* python function and enum generation, commands generatorn and autocomplete, formatting, tests
* tests fail at start(transceiver not aligned)
* tests passed
* all binaries compiled
* eiger binary in
* added --nomodule cehck for xilinx
* merge fix from 7.0.2: new jungfrau fw versions, incremented binary, hdf5 and json versions
* moench: changed dac names and default values to old moench values
* moench: remove interface clk polarity at start up
* moench: default speed is half speed, default values for adc offset and adc phase for different speeds (only half speed confirmed), adc vref voltage to 2.0 like G1
* moench: connected adc pipeline to client
* moench: receiver- default frames per file is 100k and discard partial frames as default
* moench binary in
* using tostring in gui for dacs
* moved frame discard policy as a parameter to be configured with a default depending on detector
* moench: 300 degrees for adc phase in full speed
* transceiverenable, tsamples, romode for tranceiver and digital_transceiver
* 202 spec instr only for transceiver mode
* removed check for empty in trans readout and clean memory before reading from fifo
* ctb read fifo strobe for all after reading all channels, adding 1us after selecting channel, changing fw date
* updated 10gb transceiver enable
----
* added transceiver (tsamples, romode(transceiver, digital_transceiver), transceiverenable (mask)
* clean memory before reading from fifo (for analog and digital as well)
* read fifo then read strobe (also corresp fw) fixes number of reads (also for analg and digital)-> increases all pipelines by 1
* fixed bug in rearranging digital data in receiver
* fixed bug in streaming size of data after rearranging
* fixed bug in setbit, clearbit,and getbit
* status checks fifo before returning idle (transmitting if data in fifo if transceiver more enabled)
* soem matterhorn specifics that will need to be put into pattern in a month or two. this is temporary.
* NOTE: breaking api. rxParameters struct has transceiverenabel and tsamples given from det to receiver
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