diff --git a/slsDetectorServers/eigerDetectorServer/slsDetectorFunctionList.c b/slsDetectorServers/eigerDetectorServer/slsDetectorFunctionList.c index fd1f4249d..c76366ddd 100644 --- a/slsDetectorServers/eigerDetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/eigerDetectorServer/slsDetectorFunctionList.c @@ -1535,6 +1535,7 @@ int configureMAC() { LOG(logINFOBLUE, ("Configuring MAC\n")); + LOG(logINFO, ("Number of entries: %d\n", numUdpDestinations)); for (int iRxEntry = 0; iRxEntry != MAX_UDP_DESTINATION; ++iRxEntry) { uint32_t srcip = udpDetails[iRxEntry].srcip; uint32_t dstip = udpDetails[iRxEntry].dstip; @@ -1577,7 +1578,6 @@ int configureMAC() { iRxEntry)); return FAIL; } - return OK; #else uint16_t dst_port = dstport; if (!top) @@ -2496,8 +2496,7 @@ void *start_timer(void *arg) { LOG(logDEBUG1, ("Sent right packet: %d\n", i)); } } - LOG(logINFO, ("Sent frame: %d[%lld]\n", iframes, - (long long unsigned int)(frameNr + iframes))); + LOG(logINFO, ("Sent frame %d [#%ld] to E%d\n", iframes, frameNr + iframes, iRxEntry)); clock_gettime(CLOCK_REALTIME, &end); int64_t timeNs = ((end.tv_sec - begin.tv_sec) * 1E9 + (end.tv_nsec - begin.tv_nsec)); diff --git a/slsDetectorServers/jungfrauDetectorServer/slsDetectorFunctionList.c b/slsDetectorServers/jungfrauDetectorServer/slsDetectorFunctionList.c index b68e3f43f..9325cfa7b 100644 --- a/slsDetectorServers/jungfrauDetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/jungfrauDetectorServer/slsDetectorFunctionList.c @@ -2343,9 +2343,8 @@ void *start_timer(void *arg) { if (!isControlServer) { return NULL; } - + int firstDest = getFirstUDPDestination(); int transmissionDelayUs = getTransmissionDelayFrame() * 1000; - int numInterfaces = getNumberofUDPInterfaces(); int64_t periodNs = getPeriod(); int numFrames = (getNumFrames() * getNumTriggers() * @@ -2386,9 +2385,8 @@ void *start_timer(void *arg) { { uint64_t frameNr = 0; getNextFrameNumber(&frameNr); - int iRxEntry = 0; + int iRxEntry = firstDest; for (int iframes = 0; iframes != numFrames; ++iframes) { - LOG(logINFOBLUE, ("iRxEntry:%d\n", iRxEntry)); usleep(transmissionDelayUs); // check if manual stop @@ -2464,7 +2462,7 @@ void *start_timer(void *arg) { } } } - LOG(logINFO, ("Sent frame: %d\n", iframes)); + LOG(logINFO, ("Sent frame %d [#%ld] to E%d\n", iframes, frameNr + iframes, iRxEntry)); clock_gettime(CLOCK_REALTIME, &end); int64_t timeNs = ((end.tv_sec - begin.tv_sec) * 1E9 + (end.tv_nsec - begin.tv_nsec)); diff --git a/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c b/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c index 5f3dbbde7..c31e1d8a2 100644 --- a/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c +++ b/slsDetectorServers/slsDetectorServer/src/slsDetectorServer_funcs.c @@ -9312,10 +9312,10 @@ int set_udp_first_dest(int file_des) { #ifndef JUNGFRAUD functionNotImplemented(); #else - if (arg < 0 || arg >= MAX_UDP_DESTINATION) { + if (arg < 0 || arg >= numUdpDestinations) { ret = FAIL; sprintf(mess, "Could not set first destination. Options: 0-%d\n", - MAX_UDP_DESTINATION - 1); + numUdpDestinations - 1); LOG(logERROR, (mess)); } else { if (check_detector_idle("set first udp destination") == OK) { diff --git a/slsDetectorSoftware/include/sls/Detector.h b/slsDetectorSoftware/include/sls/Detector.h index 664e3f0c6..ca674f9f8 100644 --- a/slsDetectorSoftware/include/sls/Detector.h +++ b/slsDetectorSoftware/include/sls/Detector.h @@ -680,7 +680,7 @@ class Detector { /** [Jungfrau] */ Result getFirstUDPDestination(Positions pos = {}) const; - /**[Jungfrau] Options 0-31 */ + /**[Jungfrau] Options 0-31 (or number of udp destinations) */ void setFirstUDPDestination(const int value, Positions pos = {}); Result getDestinationUDPIP(Positions pos = {}) const; diff --git a/slsDetectorSoftware/src/CmdProxy.h b/slsDetectorSoftware/src/CmdProxy.h index 3e5f4ddde..d771b7de9 100644 --- a/slsDetectorSoftware/src/CmdProxy.h +++ b/slsDetectorSoftware/src/CmdProxy.h @@ -1543,7 +1543,7 @@ class CmdProxy { INTEGER_COMMAND_VEC_ID( udp_firstdst, getFirstUDPDestination, setFirstUDPDestination, StringTo, - "[0 - 31]\n\t[Jungfrau] One can set which is the first " + "[0 - 31 (or number of udp destinations)]\n\t[Jungfrau] One can set which is the first " "destination that the detector will stream images " "out from in a round robin fashion. The entry must not have been " "empty. Default: 0"); diff --git a/slsDetectorSoftware/tests/test-CmdProxy.cpp b/slsDetectorSoftware/tests/test-CmdProxy.cpp index c0ef4f93b..cb031219b 100644 --- a/slsDetectorSoftware/tests/test-CmdProxy.cpp +++ b/slsDetectorSoftware/tests/test-CmdProxy.cpp @@ -2266,7 +2266,7 @@ TEST_CASE("udp_firstdst", "[.cmd]") { Detector det; CmdProxy proxy(&det); auto det_type = det.getDetectorType().squash(); - if (det_type == defs::JUNGFRAU || det_type == defs::EIGER) { + if (det_type == defs::JUNGFRAU) { auto prev_val = det.getFirstUDPDestination(); { std::ostringstream oss; @@ -2280,8 +2280,8 @@ TEST_CASE("udp_firstdst", "[.cmd]") { } { std::ostringstream oss; - proxy.Call("udp_firstdst", {"31"}, -1, PUT, oss); - REQUIRE(oss.str() == "udp_firstdst 31\n"); + proxy.Call("udp_firstdst", {"1"}, -1, PUT, oss); + REQUIRE(oss.str() == "udp_firstdst 1\n"); } REQUIRE_THROWS(proxy.Call("udp_firstdst", {"33"}, -1, PUT)); diff --git a/slsReceiverSoftware/src/ClientInterface.cpp b/slsReceiverSoftware/src/ClientInterface.cpp index 7ebe53533..02d1119e0 100644 --- a/slsReceiverSoftware/src/ClientInterface.cpp +++ b/slsReceiverSoftware/src/ClientInterface.cpp @@ -1669,7 +1669,7 @@ int ClientInterface::set_rate_correct(Interface &socket) { std::vector t(index); socket.Receive(t); verifyIdle(socket); - LOG(logINFOBLUE) << "Setting rate corrections[" << index << ']'; + LOG(logINFO) << "Setting rate corrections[" << index << ']'; impl()->setRateCorrections(t); return socket.Send(OK); }