From 8c8d213b562bfacd2b14a71d276e7c643f0252d7 Mon Sep 17 00:00:00 2001 From: Erik Frojdh Date: Mon, 13 Jan 2020 16:13:47 +0100 Subject: [PATCH] python funcs --- python/scripts/cmd_python.py | 14 +++- python/sls_detector/experimental.py | 100 ++++++++++++++++++++++++++-- slsDetectorSoftware/src/CmdProxy.h | 2 +- 3 files changed, 108 insertions(+), 8 deletions(-) diff --git a/python/scripts/cmd_python.py b/python/scripts/cmd_python.py index 9dc15374e..e3637eb7e 100644 --- a/python/scripts/cmd_python.py +++ b/python/scripts/cmd_python.py @@ -8,6 +8,18 @@ from sls_detector import Detector, Eiger, Ctb pycmd = dir(Detector)+dir(Eiger)+dir(Ctb) +pycmd += ['vrf', 'vtr', 'vrs', 'vtgstv', 'vsvn', 'vtrim', +'vsvp', 'vth1', 'vth2', 'vth3', 'vshaper', 'vshaperneg', 'rxb_rb', +'rxb_lb', 'vref_prech', 'vref_restore', 'vref_cds', +'vpreamp', 'vref_comp', 'vref_comp_fe vref_ds', 'vref_h_adc', +'vref_l_adc', 'iodelay', 'list', 'vref_ds', 'vis', 'vpl', +'vref_comp_fe', 'vph', 'vout_cm', 'vcp', 'vcn', 'vcmp_ll', 'vcmp_lr' +, 'vcmp_rl', 'vcmp_rr'] + +missing = [] for c in cmd: if c not in pycmd: - print(c) \ No newline at end of file + print(c) + missing.append(c) + +print(f'Missing: {len(missing)} commands') \ No newline at end of file diff --git a/python/sls_detector/experimental.py b/python/sls_detector/experimental.py index cb1e486b7..51c3d1578 100755 --- a/python/sls_detector/experimental.py +++ b/python/sls_detector/experimental.py @@ -231,12 +231,8 @@ class Detector(CppDetectorApi): # Time - - - - #TODO! Rename to rx_framescaught @property - def framescaught(self): + def rx_framescaught(self): return element_if_equal(self.getFramesCaught()) @@ -468,6 +464,22 @@ class Detector(CppDetectorApi): self.getDestinationUDPMAC2(mac) + @property + def udp_srcip(self): + return element_if_equal(self.getSourceUDPIP()) + + @udp_srcip.setter + def udp_srcip(self, ip): + self.setSourceUDPIP(ip) + + @property + def udp_srcip2(self): + return element_if_equal(self.getSourceUDPIP2()) + + @udp_srcip2.setter + def udp_srcip2(self, ip): + self.setSourceUDPIP2(ip) + @property def udp_dstport(self): return element_if_equal(self.getDestinationUDPPort()) @@ -595,6 +607,15 @@ class Detector(CppDetectorApi): def adcreg(self): return self._adc_register + + @property + def led(self): + return element_if_equal(self.getLEDEnable()) + + @led.setter + def led(self, value): + self.setLEDEnable(value) + @property def ratecorr(self): """ tau in ns """ @@ -647,6 +668,18 @@ class Detector(CppDetectorApi): + @property + def type(self): + return element_if_equal(self.getDetectorType()) + + @property + def rx_frameindex(self): + return element_if_equal(self.getRxCurrentFrameIndex()) + + @property + def rx_missingpackets(self): + return element_if_equal(self.getNumMissingPackets()) + """ Some Eiger stuff, does this have to be here or can we move it to subclass? @@ -667,6 +700,13 @@ class Detector(CppDetectorApi): def tengiga(self, value): self.setTenGiga(value) + @property + def overflow(self): + return element_if_equal(self.getOverFlowMode()) + + @overflow.setter + def overflow(self, value): + self.setOverFlowMode(value) @property def flowcontrol10g(self): @@ -676,6 +716,42 @@ class Detector(CppDetectorApi): def flowcontrol10g(self, enable): self.setTenGigaFlowControl(enable) + @property + def interruptsubframe(self): + return element_if_equal(self.getInterruptSubframe()) + + @interruptsubframe.setter + def interruptsubframe(self, value): + self.setInterruptSubframe(value) + + @property + def gappixels(self): + return element_if_equal(self.getRxAddGapPixels()) + + @gappixels.setter + def gappixels(self, value): + self.setRxAddGapPixels(value) + + @property + def measuredperiod(self): + res = self.getMeasuredPeriod() + return element_if_equal([it.total_seconds() for it in res]) + + @property + def measuredsubperiod(self): + res = self.getMeasuredSubFramePeriod() + return element_if_equal([it.total_seconds() for it in res]) + + + @property + def storeinram(self): + return element_if_equal(self.getStoreInRamMode()) + + @storeinram.setter + def storeinram(self, value): + self.setStoreInRamMode(value) + + """ CTB stuff """ @@ -738,4 +814,16 @@ class Detector(CppDetectorApi): @rx_dbitoffset.setter def rx_dbitoffset(self, value): - self.setRxDbitOffset(value) \ No newline at end of file + self.setRxDbitOffset(value) + + @property + def maxadcphaseshift(self): + return element_if_equal(self.getMaxADCPhaseShift()) + + @property + def maxclkphaseshift(self): + return element_if_equal(self.getMaxClockPhaseShift()) + + @property + def adcphase(self): + return element_if_equal() \ No newline at end of file diff --git a/slsDetectorSoftware/src/CmdProxy.h b/slsDetectorSoftware/src/CmdProxy.h index 38d279d23..bc1c51496 100644 --- a/slsDetectorSoftware/src/CmdProxy.h +++ b/slsDetectorSoftware/src/CmdProxy.h @@ -551,7 +551,7 @@ class CmdProxy { /* configuration */ {"config", &CmdProxy::config}, - {"free2", &CmdProxy::free}, + {"free", &CmdProxy::free}, {"parameters", &CmdProxy::parameters}, {"hostname", &CmdProxy::Hostname}, {"virtual", &CmdProxy::VirtualServer},