diff --git a/python/slsdet/detector.py b/python/slsdet/detector.py index 4f5c6bff2..dd885619b 100755 --- a/python/slsdet/detector.py +++ b/python/slsdet/detector.py @@ -173,6 +173,11 @@ class Detector(CppDetectorApi): @property @element def stopport(self): + """Port number of the stop server on detector for detector-client tcp interface. + Note + ---- + Default is 1953. Normally unchanged. + """ return self.getStopPort() @stopport.setter @@ -327,6 +332,7 @@ class Detector(CppDetectorApi): """ [Gotthard][Jungfrau][Mythen3][Gotthard2][CTB][Moench] Number of frames left in acquisition.\n [Gotthard2] only in continuous mode. + :setter: Not Implemented """ return self.getNumberOfFramesLeft() @@ -338,6 +344,7 @@ class Detector(CppDetectorApi): Note ----- [Gotthard2] only in continuous mode. + :setter: Not Implemented """ return self.getNumberOfFramesFromStart() @@ -441,7 +448,7 @@ class Detector(CppDetectorApi): ----- [Gotthard2] only in continuous mode. :getter: always returns in seconds. To get in datetime.delta, use getPeriodLeft - + :setter: Not Implemented Example ----------- >>> d.periodl @@ -486,7 +493,7 @@ class Detector(CppDetectorApi): ----- [Gotthard2] only in continuous mdoe. :getter: always returns in seconds. To get in datetime.delta, use getDelayAfterTriggerLeft - + :setter: Not Implemented Example ----------- >>> d.delayl @@ -509,7 +516,7 @@ class Detector(CppDetectorApi): self.stopReceiver() def stop(self): - """Abort detector acquisition. Status changes to IDLE or STOPPED""" + """Abort detector acquisition. Status changes to IDLE or STOPPED. Goes to stop server. """ self.stopDetector() # Time @@ -520,7 +527,7 @@ class Detector(CppDetectorApi): @property def startingfnum(self): - """[Eiger][Jungfrau] Starting frame number for next acquisition. Stopping acquiistion might result in different frame numbers for different modules. """ + """[Eiger][Jungfrau] Starting frame number for next acquisition. Stopping acquisition might result in different frame numbers for different modules. """ return element_if_equal(self.getStartingFrameNumber()) @startingfnum.setter @@ -532,6 +539,14 @@ class Detector(CppDetectorApi): @property @element def txndelay_frame(self): + """ + [Eiger][Jungfrau][Mythen3] Transmission delay of first udp packet being streamed out of the module.\n + Note + ---- + [Jungfrau] [0-31] Each value represents 1 ms. \n + [Eiger] Additional delay to txndelay_left and txndelay_right. Each value represents 10ns. Typical value is 50000. \n + [Mythen3] [0-16777215] Each value represents 8 ns (125 MHz clock), max is 134 ms. + """ return self.getTransmissionDelayFrame() @txndelay_frame.setter @@ -541,6 +556,11 @@ class Detector(CppDetectorApi): @property @element def txndelay_left(self): + """[Eiger] Transmission delay of first packet in an image being streamed out of the module's left UDP port. + Note + ----- + Each value represents 10ns. Typical value is 50000. + """ return self.getTransmissionDelayLeft() @txndelay_left.setter @@ -550,6 +570,12 @@ class Detector(CppDetectorApi): @property @element def txndelay_right(self): + """ + [Eiger] Transmission delay of first packet in an image being streamed out of the module's right UDP port. + Note + ---- + Each value represents 10ns. Typical value is 50000. + """ return self.getTransmissionDelayRight() @txndelay_right.setter @@ -1198,7 +1224,8 @@ class Detector(CppDetectorApi): """Gets detector status. Enum: runStatus Note ----- - Options: IDLE, ERROR, WAITING, RUN_FINISHED, TRANSMITTING, RUNNING, STOPPED + Options: IDLE, ERROR, WAITING, RUN_FINISHED, TRANSMITTING, RUNNING, STOPPED \n + Goes to stop server. >>> d.status runStatus.IDLE """ @@ -1354,10 +1381,12 @@ class Detector(CppDetectorApi): @property def timinglist(self): + """Gets the list of timing modes (timingMode) for this detector.""" return self.getTimingModeList() @property def templist(self): + """List of temperature enums (dacIndex) implemented for this detector.""" return self.getTemperatureList() @property @@ -1402,11 +1431,23 @@ class Detector(CppDetectorApi): @property @element def triggersl(self): + """ + [Gotthard][Jungfrau][Mythen3][Gotthard2][CTB][Moench] Number of triggers left in acquisition.\n + Note + ---- + [Gotthard2] only in continuous mode. + :setter: Not Implemented + """ return self.getNumberOfTriggersLeft() @property @element def timestamp(self): + """[Jungfrau][Mythen3][Gotthard2][Moench][CTB] Timestamp at a frame start. + Note + ---- + [Gotthard2] not in burst and auto mode. + """ return self.getMeasurementTime() @property @@ -2037,6 +2078,13 @@ class Detector(CppDetectorApi): @property @element def timingsource(self): + """ + [Gotthard2] Timing source. Enum: timingSourceType + Note + ----- + Options: TIMING_INTERNAL, TIMING_EXTERNAL \n + Internal is crystaland external is system timing. Default is internal. + """ return self.getTimingSource() @timingsource.setter @@ -2846,7 +2894,7 @@ class Detector(CppDetectorApi): Note ----- :getter: always returns in seconds. To get in datetime.delta, use getExptimeLeft - + :setter: Not Implemented Example ----------- >>> d.exptimel diff --git a/slsDetectorSoftware/include/Detector.h b/slsDetectorSoftware/include/Detector.h index ae55d3143..fcd166bd8 100644 --- a/slsDetectorSoftware/include/Detector.h +++ b/slsDetectorSoftware/include/Detector.h @@ -456,10 +456,11 @@ class Detector { void startDetector(); /** Non blocking: Abort detector acquisition. Status changes to IDLE or - * STOPPED */ + * STOPPED. Goes to stop server. */ void stopDetector(); - /** IDLE, ERROR, WAITING, RUN_FINISHED, TRANSMITTING, RUNNING, STOPPED */ + /** IDLE, ERROR, WAITING, RUN_FINISHED, TRANSMITTING, RUNNING, STOPPED \n + * Goes to stop server */ Result getDetectorStatus(Positions pos = {}) const; /** Options: IDLE, TRANSMITTING, RUNNING */ @@ -474,7 +475,7 @@ class Detector { /** [Eiger][Jungfrau] */ Result getStartingFrameNumber(Positions pos = {}) const; - /** [Eiger][Jungfrau] Stopping acquiistion might result in different frame + /** [Eiger][Jungfrau] Stopping acquisition might result in different frame * numbers for different modules.*/ void setStartingFrameNumber(uint64_t value, Positions pos = {}); @@ -619,26 +620,26 @@ class Detector { Result getTransmissionDelayFrame(Positions pos = {}) const; /** - * [Jungfrau]: Sets the transmission delay of the first UDP packet being - * streamed out of the module. Options: 0 - 31, each value represenets 1 ms - * [Eiger]: Sets the transmission delay of entire frame streamed out for - * both left and right UDP ports. Options: //TODO possible values - * [Mythen3] Options: [0-16777215] Each value represents 8 ns (125 MHz - * clock), max is 134 ms. + * Eiger][Jungfrau][Mythen3] Transmission delay of first udp packet being + * streamed out of the module.\n[Jungfrau] [0-31] Each value represents 1 + * ms\n[Eiger] Additional delay to txndelay_left and txndelay_right. Each + * value represents 10ns. Typical value is 50000.\n[Mythen3] [0-16777215] + * Each value represents 8 ns (125 MHz clock), max is 134 ms. */ void setTransmissionDelayFrame(int value, Positions pos = {}); /** [Eiger] */ Result getTransmissionDelayLeft(Positions pos = {}) const; - /** - * [Eiger] - * Sets the transmission delay of first packet streamed out of the left UDP - * port + /**[Eiger] Transmission delay of first packet in an image being streamed out + * of the module's left UDP port. Each value represents 10ns. Typical value + * is 50000. */ void setTransmissionDelayLeft(int value, Positions pos = {}); - /** [Eiger] */ + /** [Eiger] Transmission delay of first packet in an image being streamed + * out of the module's right UDP port. Each value represents 10ns. Typical + * value is 50000. */ Result getTransmissionDelayRight(Positions pos = {}) const; /** @@ -1022,12 +1023,12 @@ class Detector { Result getThresholdTemperature(Positions pos = {}) const; /** - * [Jungfrau]Set threshold temperature + * [Jungfrau]Set threshold temperature in degrees. * If temperature crosses threshold temperature * and temperature control is enabled (default is disabled), power to chip * will be switched off and temperature event will be set. \n To power on * chip again, temperature has to be less than threshold temperature and - * temperature event has to be cleared. val is value in degrees + * temperature event has to be cleared. */ void setThresholdTemperature(int temp, Positions pos = {}); @@ -1077,8 +1078,9 @@ class Detector { /** [Jungfrau] Advanced*/ Result getStorageCellDelay(Positions pos = {}) const; - /** [Jungfrau] Advanced \n - * Options: (0-1638375 ns (resolution of 25ns) */ + /** [Jungfrau] Advanced \n Additional time delay between 2 consecutive + * exposures in burst mode. \n Options: (0-1638375 ns (resolution of 25ns) + */ void setStorageCellDelay(ns value, Positions pos = {}); ///@{ @@ -1185,7 +1187,7 @@ class Detector { /** [Gotthard2] */ Result getTimingSource(Positions pos = {}) const; - /** [Gotthard2] Options: TIMING_INTERNAL, TIMING_EXTERNAL */ + /** [Gotthard2] Options: TIMING_INTERNAL (default), TIMING_EXTERNAL */ void setTimingSource(defs::timingSourceType value, Positions pos = {}); /** [Gotthard2] */ @@ -1629,8 +1631,8 @@ class Detector { Result getStopPort(Positions pos = {}) const; - /** Detector Stop TCP port (for client communication with Detector Stop - * server) */ + /** Port number of the stop server on detector for detector-client tcp + * interface. Default is 1953. Normally unchanged. */ void setStopPort(int value, Positions pos = {}); Result getDetectorLock(Positions pos = {}) const; diff --git a/slsDetectorSoftware/src/CmdProxy.cpp b/slsDetectorSoftware/src/CmdProxy.cpp index 4361d120f..9df334c54 100644 --- a/slsDetectorSoftware/src/CmdProxy.cpp +++ b/slsDetectorSoftware/src/CmdProxy.cpp @@ -1015,7 +1015,7 @@ std::string CmdProxy::DetectorStatus(int action) { os << cmd << ' '; if (action == defs::HELP_ACTION) { os << "[running, error, transmitting, finished, waiting, " - "idle]\n\tDetector status." + "idle]\n\tDetector status. Goes to stop server. " << '\n'; } else if (action == defs::GET_ACTION) { if (!args.empty()) { diff --git a/slsDetectorSoftware/src/CmdProxy.h b/slsDetectorSoftware/src/CmdProxy.h index 6d45a6e77..5d16bbd81 100644 --- a/slsDetectorSoftware/src/CmdProxy.h +++ b/slsDetectorSoftware/src/CmdProxy.h @@ -1686,9 +1686,9 @@ class CmdProxy { "\n\tStarts detector acquisition. Status changes to RUNNING or WAITING " "and automatically returns to idle at the end of acquisition."); - EXECUTE_SET_COMMAND_NOID( - stop, stopDetector, - "\n\tAbort detector acquisition. Status changes to IDLE or STOPPED."); + EXECUTE_SET_COMMAND_NOID(stop, stopDetector, + "\n\tAbort detector acquisition. Status changes " + "to IDLE or STOPPED. Goes to stop server."); GET_COMMAND(rx_framescaught, getFramesCaught, "\n\tNumber of frames caught by receiver."); @@ -1700,7 +1700,7 @@ class CmdProxy { startingfnum, getStartingFrameNumber, setStartingFrameNumber, StringTo, "[n_value]\n\t[Eiger][Jungfrau] Starting frame number for " - "next acquisition. Stopping acquiistion might result in " + "next acquisition. Stopping acquisition might result in " "different frame numbers for different modules."); EXECUTE_SET_COMMAND( @@ -1811,13 +1811,12 @@ class CmdProxy { INTEGER_COMMAND_VEC_ID( txndelay_frame, getTransmissionDelayFrame, setTransmissionDelayFrame, StringTo, - "[n_delay]\n\t[Eiger][Jungfrau][Mythen3] Transmission delay of each " - "image being " - "streamed out of the module.\n\t[Jungfrau] [0-31] Each value " - "represents 1 ms\n\t[Eiger] Additional delay to txndelay_left and " - "txndelay_right. Each value represents 10ns. Typical value is " - "50000.\n\t[Mythen3] [0-16777215] Each value represents 8 ns (125 MHz " - "clock), max is 134 ms."); + "[n_delay]\n\t[Eiger][Jungfrau][Mythen3] Transmission delay of first " + "udp packet being streamed out of the module.\n\t[Jungfrau] [0-31] " + "Each value represents 1 ms\n\t[Eiger] Additional delay to " + "txndelay_left and txndelay_right. Each value represents 10ns. Typical " + "value is 50000.\n\t[Mythen3] [0-16777215] Each value represents 8 ns " + "(125 MHz clock), max is 134 ms."); INTEGER_COMMAND_VEC_ID( txndelay_left, getTransmissionDelayLeft, setTransmissionDelayLeft,