diff --git a/slsReceiverSoftware/include/BinaryFileStatic.h b/slsReceiverSoftware/include/BinaryFileStatic.h index f33296d12..b9b963e84 100644 --- a/slsReceiverSoftware/include/BinaryFileStatic.h +++ b/slsReceiverSoftware/include/BinaryFileStatic.h @@ -44,7 +44,7 @@ class BinaryFileStatic { { ostringstream osfn; osfn << fpath << "/" << fnameprefix; - if (dindex >= 0) osfn << "_d" << (dindex * numunits + unitindex); + if (dindex >= 0) osfn << "_d" << ((unitindex >= numunits) ? unitindex : (dindex * numunits + unitindex)); //if unit index > numunits, all receivers in one program (userReceiver) if (frindexenable) osfn << "_f" << setfill('0') << setw(12) << fnum; osfn << "_" << findex; osfn << ".raw"; diff --git a/slsReceiverSoftware/include/HDF5FileStatic.h b/slsReceiverSoftware/include/HDF5FileStatic.h index 941cde601..ba8d7ba62 100644 --- a/slsReceiverSoftware/include/HDF5FileStatic.h +++ b/slsReceiverSoftware/include/HDF5FileStatic.h @@ -50,7 +50,7 @@ public: { ostringstream osfn; osfn << fpath << "/" << fnameprefix; - if (dindex >= 0) osfn << "_d" << (dindex * numunits + unitindex); + if (dindex >= 0) osfn << "_d" << ((unitindex >= numunits) ? unitindex : (dindex * numunits + unitindex)); //if unit index > numunits, all receivers in one program (userReceiver) if (frindexenable) osfn << "_f" << setfill('0') << setw(12) << fnum; osfn << "_" << findex; osfn << ".h5"; diff --git a/slsReceiverSoftware/src/DataStreamer.cpp b/slsReceiverSoftware/src/DataStreamer.cpp index bd9eaa918..29436023b 100644 --- a/slsReceiverSoftware/src/DataStreamer.cpp +++ b/slsReceiverSoftware/src/DataStreamer.cpp @@ -160,6 +160,9 @@ int DataStreamer::SetThreadPriority(int priority) { int DataStreamer::CreateZmqSockets(int* dindex, int* nunits) { uint32_t portnum = DEFAULT_ZMQ_PORTNO + ((*dindex) * (*nunits) + index); + //using userReceiver where all receivers in one program (numberofstreamers>*nunits) + if(index >= *nunits) + portnum = DEFAULT_ZMQ_PORTNO + index; zmqSocket = new ZmqSocket(portnum); if (zmqSocket->IsError()) {