1047 Commits

Author SHA1 Message Date
b4b38cb607 bugfix for gotthard roi and noroi frame number, temporary fix to look at CACACACA to know if its a second packet, and first time look at last bit to know wheter to increment or not for consecutive frames fr no roi 2018-12-03 16:25:24 +01:00
05d8ef6277 bug fix for starting and stopping receiver, without listening 2018-12-03 10:45:46 +01:00
228cfa35c0 receiver bug fix: padding was set only if deactivated, frame padding enabled and deactivated padding enabled. Fixed that frame padding and deactivated padding is independent. Padding is done if frame padding enabled or if deactivated and deactivated padding enabled 2018-11-30 16:10:13 +01:00
817736fcd5 after merging with developer 2018-11-02 10:48:06 +01:00
f9b95b63eb gotthard server: made gotthard server readout only via udp, readframe just waits for acquisition to be done, does not allocate ram, receiver: removed positions hardcoded in 1d, should be 2d for all 2018-09-27 18:20:03 +02:00
c2db073d5e receiver and client: changed xcoord to row and ycoord to column, zcoord to reserved 2018-09-26 15:03:04 +02:00
970d448e73 receiver: using namespace std removed from all the headers and the bug fixes for that for hdf5 2018-09-26 10:53:45 +02:00
9f84bf7175 gui: crashing when using roi fixed 2018-09-20 18:10:10 +02:00
c784f0f539 client: moved shortenable to roi in reciever, roi not yet written in master file 2018-09-19 17:35:26 +02:00
f288390255 Zmq communication uses additional headers, moench processing fixed 2018-09-11 17:05:11 +02:00
4e446f1f39 eiger server: changed subperiod to subdeadtime, changing subexptime or subdeadtime sets subperiod in eiger server 2018-08-17 13:45:09 +02:00
830f92dedc client and receiver: silent mode put into shared memory, works properly now 2018-08-15 19:51:04 +02:00
87e8333dfd slsDetectorSoftware & eiger server: fixed coordinates in 2 d, but switch to row (x), col(y); numdetx and numdety sent to all receivers now, likely bug fix virtual file linked in master for 1 mod jungfrau; xccoord and y coord calculated at setdetector pos and given to listener 2018-08-15 19:02:16 +02:00
b3ccd5e1a1 slsReceiverSoftware: bugfix double acquire did not write parameter file cuz vector.push_back always never clearing when closing current file 2018-08-14 19:11:52 +02:00
f0ac49190a slsReceiver:trying to get deactivate to work 2018-08-14 15:06:06 +02:00
da4253fe13 Exception handling from constructors for slsDetector and multiSlsDetector, zmqsockets deleted first in multi freeshm/constructor, removed unnecessary exceptions from exceptions list, replaced in slsDetector socket assign from NULL to 0 2018-08-10 17:07:29 +02:00
a0512a01d5 Exceptions: zmq socket class descriptors made into its own class for auto destruction upon construction exception, similarly for other try blocks. slsDetector and multislsdetector left to do 2018-08-09 18:12:56 +02:00
1102153d2b Exceptions handling in constructor for genericSocket, created object to handle both socket descriptors upon throwing exception in constructor (as raw pointers wont get destructed automatically) 2018-08-09 15:43:56 +02:00
05055eb283 slsReceiver: deleting slsReceiverUsers object before calling start() gives seg fault 2018-08-03 09:32:31 +02:00
73fcef5f6d slsReceiverSoftware: bitset storage in case the libarary changes contiguous representation, also changed hdf5 representation from 512 byte (to_string) to just passing char* to keep at 64 bytes 2018-07-30 12:05:22 +02:00
3b6ead7783 slsReceiver: HDF5: unlimited max dimension in x (#numImages), x dim gets incremented by #frames when it gets an extra image, removed virtual_ naming in parameter names, small cased parameter names 2018-07-18 14:05:31 +02:00
40c96b5562 Updated Makefiles, Cmakelists.txt to compile slsMultiReceiver properly and with HDF5 and fixed compiler warnings 2018-07-18 12:29:19 +02:00
f5a86bbfe1 slsReceiverSoftware: removed hdf5 static cpp file 2018-07-10 12:31:55 +02:00
45de361b22 slsReceiver: added an executable slsMultiReceiver to have the option to have one process create multiple child processes for multiple receivers with configurable tcp port and callback enable 2018-07-06 16:26:29 +02:00
7c29327b47 saving bit field in hdf5 as string of 512 bytes instead of 512 bits for the time being, will be updated when a better option is figured out 2018-07-06 12:00:35 +02:00
c366e94a96 bit field for missing packets, added commands r_padding and r_discardpolicy, hdf5 bitfield metadata left to do 2018-07-05 13:47:20 +02:00
ed1135566a slsReceiver: maximum frames per file written to master files for both binary and hdf5, note the version number change for these master file format 2018-06-28 18:30:34 +02:00
542dda8ece slsReceiver: deactivated no longer writes 0xFFFF, creates empty files 2018-05-29 14:32:14 +02:00
cf8b0de433 slsReceiver, slsDetector, eiger and jungfrau server: client checks firmware and software an dreceiver compatibility for each time shared memory is cleaned up 2018-05-28 19:11:34 +02:00
f393751771 r_framesperfile configurable to have infinite frames in file with option 0 2018-05-18 16:35:50 +02:00
94ce042401 slsReceiver, fixed virtual hdf5 last row random values bug 2018-05-18 14:51:18 +02:00
8b39443197 slsReciever, slsDetector: configurable number of images per file, removed all the receiver threads from using generalData->maxframesperfile, yet to do: infinite images, bug fix, virtual hdf5 has -1 for all pixels in last image 2018-05-18 13:47:10 +02:00
dcce66ee9f slsReceiver: debug, insignificant 2018-05-17 15:57:16 +02:00
b4d9a6a09d slsReceiver, slsDetector(eiger server), client: added sub period to receiver, fixed eiger subperiod updates to client, added subperiod and subexptime to users, fixed hdf5 warnings 2018-05-17 12:34:18 +02:00
0417a7e97d fixing warnings 2018-05-07 10:44:00 +02:00
d3a0319863 esrf changes: Listener, DataProcessor, DataStreamer, Fifo, ZmqSocket constructors return an exception when it fails 2018-05-02 16:49:27 +02:00
fdd19bc316 slsReceiver: udp socket buffer size, additional prints 2018-05-01 12:01:33 +02:00
1152555663 esrf changes: rx_udpsocksize sets/gets udp socket buffer size to be set, rx_realudpsocksize gets the real udp sock size buffer. At receiver config and at rx_udpsocksize command, dummy udp sockets created to know if set udp sock size fails (if fail, set to previous value), and also to get the real udp sock buffer size 2018-05-01 11:55:48 +02:00
99281e2690 esrf changes: previous commit compile 2018-04-26 16:43:07 +02:00
173d8f740e esrf changes: slsReceiver: better checking of socket buffer pars. and warn on failures
* not done. The 'setsockopt(SO_RECVBUF)' system call cannot set the socket buffer
  size lager than the specified in net.core.rmem_max. The requested value
  was 2 GB (commit 3b0e2e6), which is far too large for this application,
  so it was restored to the acceptable 100 MB value.

* The syscall does not fail if the requested buffer size is larger than
  net.core.rmem_max. Use 'setsockopt(SO_RECVBUFFORCE)' to actually force a
  value larger than the system limit, which can be done if run in a
  privileged context (capability CAP_NET_ADMIN set).

* The real value is read with 'getsockopt(SO_RECVBUF)'. If it
  corresponds to twice the requested value (see 'man 7 socket'), it is
  printed in green, otherwise it is signalled in red.

* The 'setsockopt(SO_RECVBUFFORCE)' syscall removes the need to write to
  /proc/sys/net/core/rmem_max, so this was was suppressed in the
  'UDPStandardImplementation' constructor.

* The test on EIGER detectors before setting the system
  buffers was removed. Was there for 9m/2m eiger, but one can take care of
  memory requirements using a customizable max socket buffer size(only with
  permissions). to be implmented later.

* The file /proc/sys/net/core/netdev_max_backlog is first read by the
  receiver to check is the current value is OK. If it is not, the receiver
  directly writes the good value into the file (instead of delegating to
  the system shell), printing a red error message if there is an access
  error (non-privileged user).
2018-04-26 15:22:44 +02:00
1c49fbb090 virtual hdf file mapping fnum-1 images, fixed 2018-04-25 16:52:14 +02:00
b5909044f6 slsReceiver: remove static members in Listener, DataProcessing and DataStreamer:
* Needed when more than one receiver is created by process
* Replace NumberofXxxx by explicit index in constructor
* Remove Error[Mask], use return value in constructor signature
* Replace RunningMask by individual Running flags
* Remove obsolete Mutex objects
2018-04-25 09:24:39 +02:00
e0bb7d74f4 esrf changes: eiver: initialise global optind variable before calling getopt_long: Needed when multiple receivers are instantiated in the same process 2018-04-23 17:43:54 +02:00
d38108e527 esrf changes: slsReceiver: extend CircularFifo to support blocking/non-blocking transfers:
* Add blocking push (for performance) and non-blocking pop (for symmetry), default to blocking operations
* Fix memory fault if Fifo allocation fails
* Fix fifoFree initialisation to fifoSize elements (was fifoSize - 1)
2018-04-23 17:32:40 +02:00
e024774323 added storage cells 2018-04-13 15:05:43 +02:00
d3c807975f adding a semaphore to handle end of acq 2018-04-12 15:50:27 +02:00
2bd8e6c166 zmq fixed to have additional json headers using rx_zmqjsonheader 2018-04-09 16:33:14 +02:00
8cf6e0cbd6 in between 2018-04-06 17:48:10 +02:00
fe2ba8621b updating versioning to only have date 2018-03-27 11:00:15 +02:00
14546247e4 adding a receiver callback to be able to give modified size from the callback 2018-03-22 14:34:03 +01:00