diff --git a/RELEASE.txt b/RELEASE.txt index 51e24088a..80948afad 100755 --- a/RELEASE.txt +++ b/RELEASE.txt @@ -96,6 +96,7 @@ This document describes the differences between v7.0.0 and v6.x.x - m3 fix for gain caps to invert where needed when loading from trimbit file (fix for feature might have been added only in developer branch) - pat loop and wait address default - ctb and moench Fw fixed (to work with pattern commdand) )addreess length +- setting rx_hostname (or udp_dstip with rx_hostname not none) will always set udp_dstmac. solves problem of chaing udp_dstip and udp_dstmac stays the same - jungfrau reset core and usleep removed (fix for 6.1.1 is now fixed in firmware) diff --git a/python/slsdet/detector.py b/python/slsdet/detector.py index c852f080c..27823ec5d 100755 --- a/python/slsdet/detector.py +++ b/python/slsdet/detector.py @@ -1182,6 +1182,7 @@ class Detector(CppDetectorApi): ---- Not mandatory to set as udp_dstip retrieves it from slsReceiver process but must be set if you use a custom receiver (not slsReceiver). \n To set MACs for individual modules, use setDestinationUDPMAC. + Use router mac if router between detector and receiver. Example ------- @@ -1208,6 +1209,7 @@ class Detector(CppDetectorApi): To set MACs for individual modules, use setDestinationUDPMAC2. \n [Jungfrau] bottom half \n [Gotthard2] veto debugging \n + Use router mac if router between detector and receiver. Example ------ diff --git a/slsDetectorSoftware/include/sls/Detector.h b/slsDetectorSoftware/include/sls/Detector.h index 2b900c92f..a1f851e12 100644 --- a/slsDetectorSoftware/include/sls/Detector.h +++ b/slsDetectorSoftware/include/sls/Detector.h @@ -743,7 +743,8 @@ class Detector { /** Mac address of the receiver (destination) udp interface. Not mandatory * to set as setDestinationUDPIP (udp_dstip) retrieves it from slsReceiver - * process but must be set if you use a custom receiver (not slsReceiver). + * process but must be set if you use a custom receiver (not slsReceiver).\n + * Use router mac address if router in between detector and receiver. */ void setDestinationUDPMAC(const MacAddr mac, Positions pos = {}); @@ -751,10 +752,11 @@ class Detector { Result getDestinationUDPMAC2(Positions pos = {}) const; /* [Jungfrau][Gotthard2] Mac address of the receiver (destination) udp - interface 2. \n Not mandatory to set as udp_dstip2 retrieves it from - slsReceiver process but must be set if you use a custom receiver (not - slsReceiver). \n [Jungfrau] bottom half \n [Gotthard2] veto debugging \n - */ + * interface 2. \n Not mandatory to set as udp_dstip2 retrieves it from + * slsReceiver process but must be set if you use a custom receiver (not + * slsReceiver). \n [Jungfrau] bottom half \n [Gotthard2] veto debugging \n + * Use router mac address if router in between detector and receiver. + */ void setDestinationUDPMAC2(const MacAddr mac, Positions pos = {}); Result getDestinationUDPPort(Positions pos = {}) const; diff --git a/slsDetectorSoftware/src/CmdProxy.h b/slsDetectorSoftware/src/CmdProxy.h index 2c252f57a..45ce37247 100644 --- a/slsDetectorSoftware/src/CmdProxy.h +++ b/slsDetectorSoftware/src/CmdProxy.h @@ -1631,7 +1631,8 @@ class CmdProxy { "[x:x:x:x:x:x]\n\tMac address of the receiver (destination) udp " "interface. Not mandatory to set as udp_dstip retrieves it from " "slsReceiver process, but must be set if you use a custom receiver " - "(not slsReceiver)."); + "(not slsReceiver). Use router mac if router between detector and " + "receiver."); INTEGER_COMMAND_VEC_ID( udp_dstmac2, getDestinationUDPMAC2, setDestinationUDPMAC2, MacAddr, @@ -1639,8 +1640,8 @@ class CmdProxy { "udp interface 2. Not mandatory to set as udp_dstip2 retrieves it from " "slsReceiver process but must be set if you use a custom receiver (not " "slsReceiver). \n\t [Jungfrau] top half or inner interface \n\t " - "[Gotthard2] veto " - "debugging."); + "[Gotthard2] veto debugging. Use router mac if router between detector " + "and receiver."); INTEGER_COMMAND_VEC_ID_GET( udp_dstport, getDestinationUDPPort, setDestinationUDPPort, diff --git a/slsDetectorSoftware/src/Module.cpp b/slsDetectorSoftware/src/Module.cpp index 77c35b671..a6da1f2de 100644 --- a/slsDetectorSoftware/src/Module.cpp +++ b/slsDetectorSoftware/src/Module.cpp @@ -1320,16 +1320,16 @@ void Module::setReceiverHostname(const std::string &receiverIP) { MacAddr retvals[2]; sendToReceiver(F_SETUP_RECEIVER, retval, retvals); // update Modules with dest mac - if (retval.udp_dstmac == 0 && retvals[0] != 0) { - LOG(logINFO) << "Setting destination udp mac of " - "Module " - << moduleIndex << " to " << retvals[0]; + if (retvals[0] != 0) { + LOG(logINFO) << "Setting destination udp mac of Module " << moduleIndex + << " to " << retvals[0] + << ". Use udp_dstmac for custom mac."; sendToDetector(F_SET_DEST_UDP_MAC, retvals[0], nullptr); } - if (retval.udp_dstmac2 == 0 && retvals[1] != 0) { - LOG(logINFO) << "Setting destination udp mac2 of " - "Module " - << moduleIndex << " to " << retvals[1]; + if (retvals[1] != 0) { + LOG(logINFO) << "Setting destination udp mac2 of Module " << moduleIndex + << " to " << retvals[1] + << ". Use udp_dstmac2 for custom mac."; sendToDetector(F_SET_DEST_UDP_MAC2, retvals[1], nullptr); }