From 4f44807ce267777b1ff49537d06170c52c1926e2 Mon Sep 17 00:00:00 2001 From: "roberto.borghes" <roberto.borghes@elettra.eu> Date: Fri, 7 Jul 2023 14:39:11 +0200 Subject: [PATCH] Added the DB property ReadOutTime, important for shutterless mode, depends on the detector type (3 - 5 msec) --- src/PilatusXM.py | 11 ++++++++--- src/PilatusXM.xmi | 7 ++++++- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/PilatusXM.py b/src/PilatusXM.py index b4a401f..7648c16 100755 --- a/src/PilatusXM.py +++ b/src/PilatusXM.py @@ -6,7 +6,7 @@ # license : # ============================================================================ # -# File : PilatusXM.pyf +# File : PilatusXM.py # # Project : Interface class for the Pilatus detectors # @@ -1009,8 +1009,8 @@ class PilatusXM (PyTango.LatestDeviceImpl): self.read_ExposurePeriod(expPeriodAttr) expTimeAttr = fakeAttr() self.read_ExposureTime(expTimeAttr) - if (expPeriodAttr.value < (expTimeAttr.value + 0.003) ): - expPeriodAttr.set_value(expTimeAttr.value + 0.003) + if (expPeriodAttr.value < (expTimeAttr.value + self.ReadOutTime) ): + expPeriodAttr.set_value(expTimeAttr.value + self.ReadOutTime) self.write_ExposurePeriod(expPeriodAttr) fullname = "%s%05d%s" % (self.attr_FilePrefix_read,self.attr_FileStartNum_read,self.attr_FilePostfix_read) trgModes = {0:"exposure", 1:"extenable",2:"exttrigger",3:"extmtrigger"} @@ -1098,11 +1098,16 @@ class PilatusXMClass(PyTango.DeviceClass): 'ServerAddress': [PyTango.DevString, "The IP address of the PilatusXM camserver.", + True, [] ], 'Simulation': [PyTango.DevBoolean, '', [False]], + 'ReadOutTime': + [PyTango.DevFloat, + "Minimum ReadOUt influences the minimum difference between ExposurePeriod and ExposureTime.", + [0.003]], } diff --git a/src/PilatusXM.xmi b/src/PilatusXM.xmi index ddcf776..271482b 100644 --- a/src/PilatusXM.xmi +++ b/src/PilatusXM.xmi @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="ASCII"?> <pogoDsl:PogoSystem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pogoDsl="http://www.esrf.fr/tango/pogo/PogoDsl"> <classes name="PilatusXM" pogoRevision="9.6"> - <description description="Pilatus detectors are a series pixel detecors build by DECTRIS
<br />
http://www.dectris.com.
<br />
All detectors of this series can talk to the outside world via a socket
connection. An ASCI protocol is used on this sockect connection to
communicate with the detector.
<p>
The server process which handles the socket on the detecor PC is
called camserver. Only one client can commumicate with camserver.
If the native client tvx is connected, the device server cannot connect until
tvx gets disconnected.
</p>" title="Interface class for the Pilatus detectors" sourcePath="/home/roberto.borghes/devel/spe/ds/PilatusXM" language="Python" filestogenerate="XMI file,Code files,Protected Regions" license="GPL" hasMandatoryProperty="true" hasConcreteProperty="true" hasAbstractCommand="false" hasAbstractAttribute="false"> + <description description="Pilatus detectors are a series pixel detecors build by DECTRIS
<br />
http://www.dectris.com.
<br />
All detectors of this series can talk to the outside world via a socket
connection. An ASCI protocol is used on this sockect connection to
communicate with the detector.
<p>
The server process which handles the socket on the detecor PC is
called camserver. Only one client can commumicate with camserver.
If the native client tvx is connected, the device server cannot connect until
tvx gets disconnected.
</p>" title="Interface class for the Pilatus detectors" sourcePath="/home/roberto.borghes/devel/spe/ds/PilatusXM/src" language="Python" filestogenerate="XMI file,Code files,Protected Regions" license="GPL" hasMandatoryProperty="true" hasConcreteProperty="true" hasAbstractCommand="false" hasAbstractAttribute="false"> <inheritances classname="Device_4Impl" sourcePath=""/> <identification contact="at elettra.eu - sci.comp" author="sci.comp" emailDomain="elettra.eu" classFamily="Instrumentation" siteSpecific="" platform="Unix Like" bus="Ethernet" manufacturer="Dectris" reference=""/> </description> @@ -14,6 +14,11 @@ <status abstract="false" inherited="false" concrete="true" concreteHere="true"/> <DefaultPropValue>False</DefaultPropValue> </deviceProperties> + <deviceProperties name="ReadOutTime" description="Minimum ReadOUt influences the minimum difference between ExposurePeriod and ExposureTime."> + <type xsi:type="pogoDsl:FloatType"/> + <status abstract="false" inherited="false" concrete="true" concreteHere="true"/> + <DefaultPropValue>0.003</DefaultPropValue> + </deviceProperties> <commands name="State" description="This command gets the device state (stored in its <i>device_state</i> data member) and returns it to the caller." execMethod="dev_state" displayLevel="OPERATOR" polledPeriod="0"> <argin description="none."> <type xsi:type="pogoDsl:VoidType"/> -- GitLab