diff --git a/slsDetectorSoftware/slsDetector/slsDetectorUsers.cpp b/slsDetectorSoftware/slsDetector/slsDetectorUsers.cpp index ae6b1ca75..11a3f800b 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorUsers.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetectorUsers.cpp @@ -387,3 +387,15 @@ int slsDetectorUsers::setHighVoltage(int i) { int slsDetectorUsers::resetFramesCaughtInReceiver() { return myDetector->resetFramesCaught(); } + +int slsDetectorUsers::setReceiverFifoDepth(int i) { + return myDetector->setReceiverFifoDepth(i); +} + +int slsDetectorUsers::setFlowControl10G(int i) { + return myDetector->setFlowControl10G(i); +} + +int slsDetectorUsers::setTenGigabitEthernet(int i) { + return myDetector->enableTenGigabitEthernet(i); +} diff --git a/slsDetectorSoftware/slsDetector/slsDetectorUsers.h b/slsDetectorSoftware/slsDetector/slsDetectorUsers.h index 049ba7178..9b6c2c297 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorUsers.h +++ b/slsDetectorSoftware/slsDetector/slsDetectorUsers.h @@ -684,6 +684,27 @@ class slsDetectorUsers */ int resetFramesCaughtInReceiver(); + /** + * set receiver fifo depth + * @param i number of images in fifo depth (-1 gets) + * @returns receiver fifo depth + */ + int setReceiverFifoDepth(int i = -1); + + /** + * set flow control for 10Gbe (Eiger only) + * @param i 1 sets, 0 unsets (-1 gets) + * @return flow control enable for 10 Gbe + */ + int setFlowControl10G(int i = -1); + + /** + * enable/disable 10GbE (Eiger only) + * @param i 1 sets, 0 unsets (-1 gets) + * @return 10GbE enable + */ + int setTenGigabitEthernet(int i = -1); + /************************************************************************ STATIC FUNCTIONS diff --git a/slsDetectorSoftware/slsDetector/slsDetectorUtils.h b/slsDetectorSoftware/slsDetector/slsDetectorUtils.h index 1ac5e5b14..a84b71850 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorUtils.h +++ b/slsDetectorSoftware/slsDetector/slsDetectorUtils.h @@ -259,6 +259,19 @@ class slsDetectorUtils : public slsDetectorActions, public postProcessing { */ virtual string setNetworkParameter(networkParameter i, string s)=0; + int setFlowControl10G(int i = -1) { + string sret=""; + if (i != -1) { + ostringstream o; + o << ((i >= 1) ? 1 : 0); + string sval = o.str(); + sret = setNetworkParameter(FLOW_CONTROL_10G, sval); + } else + sret = getNetworkParameter(FLOW_CONTROL_10G); + + return atoi(sret.c_str()); + } + /** changes/gets the port number \param t type port type can be CONTROL_PORT, DATA_PORT, STOP_PORT