This commit is contained in:
maliakal_d 2019-10-08 17:17:44 +02:00
commit 29a7e227a3
6 changed files with 663 additions and 521 deletions

View File

@ -176,21 +176,7 @@ class ExperimentalDetector(CppDetectorApi):
else:
self.setPeriod(dt.timedelta(seconds=t))
# Acq
@property
def rx_status(self):
"""
Read the status of the receiver
"""
return element_if_equal(self.getReceiverStatus())
@rx_status.setter
def rx_status(self, status_str):
if status_str == "start":
self.startReceiver()
elif status_str == "stop":
self.stopReceiver()
else:
raise NotImplementedError("Unknown argument to rx_status")
@property
def busy(self):
@ -228,8 +214,133 @@ class ExperimentalDetector(CppDetectorApi):
# Configuration
# Time
@property
def rx_status(self):
"""
Read the status of the receiver
"""
return element_if_equal(self.getReceiverStatus())
@rx_status.setter
def rx_status(self, status_str):
if status_str == "start":
self.startReceiver()
elif status_str == "stop":
self.stopReceiver()
else:
raise NotImplementedError("Unknown argument to rx_status")
#TODO! Rename to rx_framescaught
@property
def framescaught(self):
return element_if_equal(self.getFramesCaught())
@property
def startingfnum(self):
return element_if_equal(self.getStartingFrameNumber())
@startingfnum.setter
def startingfnum(self, value):
self.setStartingFrameNumber(value)
#TODO! testing switches on automatically?
@property
def flowcontrol_10g(self):
return element_if_equal(self.getTenGigaFlowControl())
@flowcontrol_10g.setter
def flowcontrol_10g(self, enable):
self.setTenGigaFlowControl(enable)
#TODO! add txdelay
@property
def use_receiver(self):
return element_if_equal(self.getUseReceiverFlag())
@property
def rx_hostname(self):
return element_if_equal(self.getRxHostname())
@rx_hostname.setter
def rx_hostname(self, hostname):
self.setRxHostname(hostname)
@property
def rx_tcpport(self):
return element_if_equal(self.getRxPort())
@rx_tcpport.setter
def rx_tcpport(self, port):
self.setRxPort(port)
@property
def rx_fifodepth(self):
return element_if_equal(self.getRxFifoDepth())
@rx_fifodepth.setter
def rx_fifodepth(self, frames):
self.setRxFifoDepth(frames)
@property
def rx_silent(self):
return element_if_equal(self.getRxSilentMode())
@rx_silent.setter
def rx_silent(self, value):
self.setRxSilentMode(value)
@property
def rx_discardpolicy(self):
return element_if_equal(self.getRxFrameDiscardPolicy())
@rx_discardpolicy.setter
def rx_discardpolicy(self, policy):
self.setRxFrameDiscardPolicy()
@property
def rx_padding(self):
return element_if_equal(self.getPartialFramesPadding())
@rx_padding.setter
def rx_padding(self, policy):
self.setPartialFramesPadding(policy)
@property
def rx_lock(self):
"""Lock the receiver to a specific IP"""
return element_if_equal(self.getRxLock())
@rx_lock.setter
def rx_lock(self, value):
self.setRxLock(value)
@property
def rx_lastclient(self):
return element_if_equal(self.getRxLastClientIP())
#FILE
@property
def fformat(self):
return element_if_equal(self.getFileFormat())
@fformat.setter
def fformat(self, format):
self.setFileFormat(format)
@property
def findex(self):
return element_if_equal(self.getAcquisitionIndex())
@findex.setter
def findex(self, index):
self.setAcquisitionIndex(index)
# File
@property
def fname(self):
return element_if_equal(self.getFileNamePrefix())
@ -262,15 +373,60 @@ class ExperimentalDetector(CppDetectorApi):
def foverwrite(self, value):
self.setFileOverWrite(value)
# Time
@property
def fmaster(self):
return element_if_equal(self.getMasterFileWrite())
@fmaster.setter
def fmaster(self, enable):
self.setMasterFileWrite(enable)
@property
def startingfnum(self):
return element_if_equal(self.getStartingFrameNumber())
def rx_framesperfile(self):
return element_if_equal(self.getFramesPerFile())
@startingfnum.setter
def startingfnum(self, value):
self.setStartingFrameNumber(value)
@rx_framesperfile.setter
def rx_framesperfile(self, n_frames):
self.setFramesPerFile(n_frames)
# ZMQ Streaming Parameters (Receiver<->Client)
@property
def rx_zmqdatastream(self):
return element_if_equal(self.getRxZmqDataStream())
@rx_zmqdatastream.setter
def rx_zmqdatastream(self, enable):
self.setRxZmqDataStream(enable)
@property
def rx_readfreq(self):
return element_if_equal(self.getRxZmqFrequency())
@rx_readfreq.setter
def rx_readfreq(self, nth_frame):
self.setRxZmqFrequency(nth_frame)
@property
def rx_zmqport(self):
return element_if_equal(self.getRxZmqPort())
@rx_zmqport.setter
def rx_zmqport(self, port):
self.setRxZmqPort(port)
@property
def zmqport(self):
return element_if_equal(self.getClientZmqPort())
@zmqport.setter
def zmqport(self, port):
self.setClientZmqPort(port)
@property
def zmqip(self):
return element_if_equal(self.getClientZmqIp())
@zmqip.setter
def zmqip(self, ip):
self.setClientZmqIp(ip)

View File

@ -1,5 +1,4 @@
/* WARINING This file is auto generated any edits might be overwritten without
* warning */
/* WARINING This file is auto generated any edits might be overwritten without warning */
#include <pybind11/chrono.h>
#include <pybind11/operators.h>
@ -11,377 +10,308 @@ namespace py = pybind11;
void init_enums(py::module &m) {
py::class_<slsDetectorDefs> Defs(m, "slsDetectorDefs");
py::class_<slsDetectorDefs::xy> xy(m, "xy");
xy.def(py::init());
xy.def(py::init<int,int>());
xy.def_readwrite("x", &slsDetectorDefs::xy::x);
xy.def_readwrite("y", &slsDetectorDefs::xy::y);
py::enum_<slsDetectorDefs::detectorType>(Defs, "detectorType")
.value("GET_DETECTOR_TYPE",
slsDetectorDefs::detectorType::GET_DETECTOR_TYPE)
.value("GENERIC", slsDetectorDefs::detectorType::GENERIC)
.value("EIGER", slsDetectorDefs::detectorType::EIGER)
.value("GOTTHARD", slsDetectorDefs::detectorType::GOTTHARD)
.value("JUNGFRAU", slsDetectorDefs::detectorType::JUNGFRAU)
.value("CHIPTESTBOARD", slsDetectorDefs::detectorType::CHIPTESTBOARD)
.value("MOENCH", slsDetectorDefs::detectorType::MOENCH)
.value("MYTHEN3", slsDetectorDefs::detectorType::MYTHEN3)
.value("GOTTHARD2", slsDetectorDefs::detectorType::GOTTHARD2)
.export_values();
py::enum_<slsDetectorDefs::detectorType>(Defs, "detectorType")
.value("GET_DETECTOR_TYPE", slsDetectorDefs::detectorType::GET_DETECTOR_TYPE)
.value("GENERIC", slsDetectorDefs::detectorType::GENERIC)
.value("EIGER", slsDetectorDefs::detectorType::EIGER)
.value("GOTTHARD", slsDetectorDefs::detectorType::GOTTHARD)
.value("JUNGFRAU", slsDetectorDefs::detectorType::JUNGFRAU)
.value("CHIPTESTBOARD", slsDetectorDefs::detectorType::CHIPTESTBOARD)
.value("MOENCH", slsDetectorDefs::detectorType::MOENCH)
.value("MYTHEN3", slsDetectorDefs::detectorType::MYTHEN3)
.value("GOTTHARD2", slsDetectorDefs::detectorType::GOTTHARD2)
.export_values();
py::enum_<slsDetectorDefs::timerIndex>(Defs, "timerIndex")
.value("FRAME_NUMBER", slsDetectorDefs::timerIndex::FRAME_NUMBER)
.value("ACQUISITION_TIME",
slsDetectorDefs::timerIndex::ACQUISITION_TIME)
.value("FRAME_PERIOD", slsDetectorDefs::timerIndex::FRAME_PERIOD)
.value("DELAY_AFTER_TRIGGER",
slsDetectorDefs::timerIndex::DELAY_AFTER_TRIGGER)
.value("CYCLES_NUMBER", slsDetectorDefs::timerIndex::CYCLES_NUMBER)
.value("ACTUAL_TIME", slsDetectorDefs::timerIndex::ACTUAL_TIME)
.value("MEASUREMENT_TIME",
slsDetectorDefs::timerIndex::MEASUREMENT_TIME)
.value("PROGRESS", slsDetectorDefs::timerIndex::PROGRESS)
.value("FRAMES_FROM_START",
slsDetectorDefs::timerIndex::FRAMES_FROM_START)
.value("FRAMES_FROM_START_PG",
slsDetectorDefs::timerIndex::FRAMES_FROM_START_PG)
.value("ANALOG_SAMPLES", slsDetectorDefs::timerIndex::ANALOG_SAMPLES)
.value("DIGITAL_SAMPLES", slsDetectorDefs::timerIndex::DIGITAL_SAMPLES)
.value("SUBFRAME_ACQUISITION_TIME",
slsDetectorDefs::timerIndex::SUBFRAME_ACQUISITION_TIME)
.value("STORAGE_CELL_NUMBER",
slsDetectorDefs::timerIndex::STORAGE_CELL_NUMBER)
.value("SUBFRAME_DEADTIME",
slsDetectorDefs::timerIndex::SUBFRAME_DEADTIME)
.value("MEASURED_PERIOD", slsDetectorDefs::timerIndex::MEASURED_PERIOD)
.value("MEASURED_SUBPERIOD",
slsDetectorDefs::timerIndex::MEASURED_SUBPERIOD)
.value("STORAGE_CELL_DELAY",
slsDetectorDefs::timerIndex::STORAGE_CELL_DELAY)
.value("MAX_TIMERS", slsDetectorDefs::timerIndex::MAX_TIMERS)
.export_values();
py::enum_<slsDetectorDefs::timerIndex>(Defs, "timerIndex")
.value("FRAME_NUMBER", slsDetectorDefs::timerIndex::FRAME_NUMBER)
.value("ACQUISITION_TIME", slsDetectorDefs::timerIndex::ACQUISITION_TIME)
.value("FRAME_PERIOD", slsDetectorDefs::timerIndex::FRAME_PERIOD)
.value("DELAY_AFTER_TRIGGER", slsDetectorDefs::timerIndex::DELAY_AFTER_TRIGGER)
.value("CYCLES_NUMBER", slsDetectorDefs::timerIndex::CYCLES_NUMBER)
.value("ACTUAL_TIME", slsDetectorDefs::timerIndex::ACTUAL_TIME)
.value("MEASUREMENT_TIME", slsDetectorDefs::timerIndex::MEASUREMENT_TIME)
.value("PROGRESS", slsDetectorDefs::timerIndex::PROGRESS)
.value("FRAMES_FROM_START", slsDetectorDefs::timerIndex::FRAMES_FROM_START)
.value("FRAMES_FROM_START_PG", slsDetectorDefs::timerIndex::FRAMES_FROM_START_PG)
.value("ANALOG_SAMPLES", slsDetectorDefs::timerIndex::ANALOG_SAMPLES)
.value("DIGITAL_SAMPLES", slsDetectorDefs::timerIndex::DIGITAL_SAMPLES)
.value("SUBFRAME_ACQUISITION_TIME", slsDetectorDefs::timerIndex::SUBFRAME_ACQUISITION_TIME)
.value("STORAGE_CELL_NUMBER", slsDetectorDefs::timerIndex::STORAGE_CELL_NUMBER)
.value("SUBFRAME_DEADTIME", slsDetectorDefs::timerIndex::SUBFRAME_DEADTIME)
.value("MEASURED_PERIOD", slsDetectorDefs::timerIndex::MEASURED_PERIOD)
.value("MEASURED_SUBPERIOD", slsDetectorDefs::timerIndex::MEASURED_SUBPERIOD)
.value("STORAGE_CELL_DELAY", slsDetectorDefs::timerIndex::STORAGE_CELL_DELAY)
.value("MAX_TIMERS", slsDetectorDefs::timerIndex::MAX_TIMERS)
.export_values();
py::enum_<slsDetectorDefs::runStatus>(Defs, "runStatus")
.value("IDLE", slsDetectorDefs::runStatus::IDLE)
.value("ERROR", slsDetectorDefs::runStatus::ERROR)
.value("WAITING", slsDetectorDefs::runStatus::WAITING)
.value("RUN_FINISHED", slsDetectorDefs::runStatus::RUN_FINISHED)
.value("TRANSMITTING", slsDetectorDefs::runStatus::TRANSMITTING)
.value("RUNNING", slsDetectorDefs::runStatus::RUNNING)
.value("STOPPED", slsDetectorDefs::runStatus::STOPPED)
.export_values();
py::enum_<slsDetectorDefs::runStatus>(Defs, "runStatus")
.value("IDLE", slsDetectorDefs::runStatus::IDLE)
.value("ERROR", slsDetectorDefs::runStatus::ERROR)
.value("WAITING", slsDetectorDefs::runStatus::WAITING)
.value("RUN_FINISHED", slsDetectorDefs::runStatus::RUN_FINISHED)
.value("TRANSMITTING", slsDetectorDefs::runStatus::TRANSMITTING)
.value("RUNNING", slsDetectorDefs::runStatus::RUNNING)
.value("STOPPED", slsDetectorDefs::runStatus::STOPPED)
.export_values();
py::enum_<slsDetectorDefs::frameDiscardPolicy>(Defs, "frameDiscardPolicy")
.value("GET_FRAME_DISCARD_POLICY",
slsDetectorDefs::frameDiscardPolicy::GET_FRAME_DISCARD_POLICY)
.value("NO_DISCARD", slsDetectorDefs::frameDiscardPolicy::NO_DISCARD)
.value("DISCARD_EMPTY_FRAMES",
slsDetectorDefs::frameDiscardPolicy::DISCARD_EMPTY_FRAMES)
.value("DISCARD_PARTIAL_FRAMES",
slsDetectorDefs::frameDiscardPolicy::DISCARD_PARTIAL_FRAMES)
.value("NUM_DISCARD_POLICIES",
slsDetectorDefs::frameDiscardPolicy::NUM_DISCARD_POLICIES)
.export_values();
py::enum_<slsDetectorDefs::frameDiscardPolicy>(Defs, "frameDiscardPolicy")
.value("GET_FRAME_DISCARD_POLICY", slsDetectorDefs::frameDiscardPolicy::GET_FRAME_DISCARD_POLICY)
.value("NO_DISCARD", slsDetectorDefs::frameDiscardPolicy::NO_DISCARD)
.value("DISCARD_EMPTY_FRAMES", slsDetectorDefs::frameDiscardPolicy::DISCARD_EMPTY_FRAMES)
.value("DISCARD_PARTIAL_FRAMES", slsDetectorDefs::frameDiscardPolicy::DISCARD_PARTIAL_FRAMES)
.value("NUM_DISCARD_POLICIES", slsDetectorDefs::frameDiscardPolicy::NUM_DISCARD_POLICIES)
.export_values();
py::enum_<slsDetectorDefs::fileFormat>(Defs, "fileFormat")
.value("GET_FILE_FORMAT", slsDetectorDefs::fileFormat::GET_FILE_FORMAT)
.value("BINARY", slsDetectorDefs::fileFormat::BINARY)
.value("HDF5", slsDetectorDefs::fileFormat::HDF5)
.value("NUM_FILE_FORMATS",
slsDetectorDefs::fileFormat::NUM_FILE_FORMATS)
.export_values();
py::enum_<slsDetectorDefs::fileFormat>(Defs, "fileFormat")
.value("GET_FILE_FORMAT", slsDetectorDefs::fileFormat::GET_FILE_FORMAT)
.value("BINARY", slsDetectorDefs::fileFormat::BINARY)
.value("HDF5", slsDetectorDefs::fileFormat::HDF5)
.value("NUM_FILE_FORMATS", slsDetectorDefs::fileFormat::NUM_FILE_FORMATS)
.export_values();
py::enum_<slsDetectorDefs::networkParameter>(Defs, "networkParameter")
.value("DETECTOR_MAC", slsDetectorDefs::networkParameter::DETECTOR_MAC)
.value("DETECTOR_IP", slsDetectorDefs::networkParameter::DETECTOR_IP)
.value("RECEIVER_HOSTNAME",
slsDetectorDefs::networkParameter::RECEIVER_HOSTNAME)
.value("RECEIVER_UDP_IP",
slsDetectorDefs::networkParameter::RECEIVER_UDP_IP)
.value("RECEIVER_UDP_PORT",
slsDetectorDefs::networkParameter::RECEIVER_UDP_PORT)
.value("RECEIVER_UDP_MAC",
slsDetectorDefs::networkParameter::RECEIVER_UDP_MAC)
.value("RECEIVER_UDP_PORT2",
slsDetectorDefs::networkParameter::RECEIVER_UDP_PORT2)
.value("DETECTOR_TXN_DELAY_LEFT",
slsDetectorDefs::networkParameter::DETECTOR_TXN_DELAY_LEFT)
.value("DETECTOR_TXN_DELAY_RIGHT",
slsDetectorDefs::networkParameter::DETECTOR_TXN_DELAY_RIGHT)
.value("DETECTOR_TXN_DELAY_FRAME",
slsDetectorDefs::networkParameter::DETECTOR_TXN_DELAY_FRAME)
.value("FLOW_CONTROL_10G",
slsDetectorDefs::networkParameter::FLOW_CONTROL_10G)
.value("FLOW_CONTROL_WR_PTR",
slsDetectorDefs::networkParameter::FLOW_CONTROL_WR_PTR)
.value("FLOW_CONTROL_RD_PTR",
slsDetectorDefs::networkParameter::FLOW_CONTROL_RD_PTR)
.value("RECEIVER_STREAMING_PORT",
slsDetectorDefs::networkParameter::RECEIVER_STREAMING_PORT)
.value("CLIENT_STREAMING_PORT",
slsDetectorDefs::networkParameter::CLIENT_STREAMING_PORT)
.value("RECEIVER_STREAMING_SRC_IP",
slsDetectorDefs::networkParameter::RECEIVER_STREAMING_SRC_IP)
.value("CLIENT_STREAMING_SRC_IP",
slsDetectorDefs::networkParameter::CLIENT_STREAMING_SRC_IP)
.value("ADDITIONAL_JSON_HEADER",
slsDetectorDefs::networkParameter::ADDITIONAL_JSON_HEADER)
.value("RECEIVER_UDP_SCKT_BUF_SIZE",
slsDetectorDefs::networkParameter::RECEIVER_UDP_SCKT_BUF_SIZE)
.value(
"RECEIVER_REAL_UDP_SCKT_BUF_SIZE",
slsDetectorDefs::networkParameter::RECEIVER_REAL_UDP_SCKT_BUF_SIZE)
.export_values();
py::enum_<slsDetectorDefs::networkParameter>(Defs, "networkParameter")
.value("DETECTOR_MAC", slsDetectorDefs::networkParameter::DETECTOR_MAC)
.value("DETECTOR_IP", slsDetectorDefs::networkParameter::DETECTOR_IP)
.value("RECEIVER_HOSTNAME", slsDetectorDefs::networkParameter::RECEIVER_HOSTNAME)
.value("RECEIVER_UDP_IP", slsDetectorDefs::networkParameter::RECEIVER_UDP_IP)
.value("RECEIVER_UDP_PORT", slsDetectorDefs::networkParameter::RECEIVER_UDP_PORT)
.value("RECEIVER_UDP_MAC", slsDetectorDefs::networkParameter::RECEIVER_UDP_MAC)
.value("RECEIVER_UDP_PORT2", slsDetectorDefs::networkParameter::RECEIVER_UDP_PORT2)
.value("DETECTOR_TXN_DELAY_LEFT", slsDetectorDefs::networkParameter::DETECTOR_TXN_DELAY_LEFT)
.value("DETECTOR_TXN_DELAY_RIGHT", slsDetectorDefs::networkParameter::DETECTOR_TXN_DELAY_RIGHT)
.value("DETECTOR_TXN_DELAY_FRAME", slsDetectorDefs::networkParameter::DETECTOR_TXN_DELAY_FRAME)
.value("FLOW_CONTROL_10G", slsDetectorDefs::networkParameter::FLOW_CONTROL_10G)
.value("FLOW_CONTROL_WR_PTR", slsDetectorDefs::networkParameter::FLOW_CONTROL_WR_PTR)
.value("FLOW_CONTROL_RD_PTR", slsDetectorDefs::networkParameter::FLOW_CONTROL_RD_PTR)
.value("RECEIVER_STREAMING_PORT", slsDetectorDefs::networkParameter::RECEIVER_STREAMING_PORT)
.value("CLIENT_STREAMING_PORT", slsDetectorDefs::networkParameter::CLIENT_STREAMING_PORT)
.value("RECEIVER_STREAMING_SRC_IP", slsDetectorDefs::networkParameter::RECEIVER_STREAMING_SRC_IP)
.value("CLIENT_STREAMING_SRC_IP", slsDetectorDefs::networkParameter::CLIENT_STREAMING_SRC_IP)
.value("ADDITIONAL_JSON_HEADER", slsDetectorDefs::networkParameter::ADDITIONAL_JSON_HEADER)
.value("RECEIVER_UDP_SCKT_BUF_SIZE", slsDetectorDefs::networkParameter::RECEIVER_UDP_SCKT_BUF_SIZE)
.value("RECEIVER_REAL_UDP_SCKT_BUF_SIZE", slsDetectorDefs::networkParameter::RECEIVER_REAL_UDP_SCKT_BUF_SIZE)
.export_values();
py::enum_<slsDetectorDefs::numberOf>(Defs, "numberOf")
.value("MAXMODX", slsDetectorDefs::numberOf::MAXMODX)
.value("MAXMODY", slsDetectorDefs::numberOf::MAXMODY)
.value("NMODX", slsDetectorDefs::numberOf::NMODX)
.value("NMODY", slsDetectorDefs::numberOf::NMODY)
.value("NCHANSX", slsDetectorDefs::numberOf::NCHANSX)
.value("NCHANSY", slsDetectorDefs::numberOf::NCHANSY)
.value("NCHIPSX", slsDetectorDefs::numberOf::NCHIPSX)
.value("NCHIPSY", slsDetectorDefs::numberOf::NCHIPSY)
.export_values();
py::enum_<slsDetectorDefs::numberOf>(Defs, "numberOf")
.value("MAXMODX", slsDetectorDefs::numberOf::MAXMODX)
.value("MAXMODY", slsDetectorDefs::numberOf::MAXMODY)
.value("NMODX", slsDetectorDefs::numberOf::NMODX)
.value("NMODY", slsDetectorDefs::numberOf::NMODY)
.value("NCHANSX", slsDetectorDefs::numberOf::NCHANSX)
.value("NCHANSY", slsDetectorDefs::numberOf::NCHANSY)
.value("NCHIPSX", slsDetectorDefs::numberOf::NCHIPSX)
.value("NCHIPSY", slsDetectorDefs::numberOf::NCHIPSY)
.export_values();
py::enum_<slsDetectorDefs::dimension>(Defs, "dimension")
.value("X", slsDetectorDefs::dimension::X)
.value("Y", slsDetectorDefs::dimension::Y)
.export_values();
py::enum_<slsDetectorDefs::dimension>(Defs, "dimension")
.value("X", slsDetectorDefs::dimension::X)
.value("Y", slsDetectorDefs::dimension::Y)
.export_values();
py::enum_<slsDetectorDefs::externalSignalFlag>(Defs, "externalSignalFlag")
.value("GET_EXTERNAL_SIGNAL_FLAG",
slsDetectorDefs::externalSignalFlag::GET_EXTERNAL_SIGNAL_FLAG)
.value("SIGNAL_OFF", slsDetectorDefs::externalSignalFlag::SIGNAL_OFF)
.value("GATE_IN_ACTIVE_HIGH",
slsDetectorDefs::externalSignalFlag::GATE_IN_ACTIVE_HIGH)
.value("GATE_IN_ACTIVE_LOW",
slsDetectorDefs::externalSignalFlag::GATE_IN_ACTIVE_LOW)
.value("TRIGGER_IN_RISING_EDGE",
slsDetectorDefs::externalSignalFlag::TRIGGER_IN_RISING_EDGE)
.value("TRIGGER_IN_FALLING_EDGE",
slsDetectorDefs::externalSignalFlag::TRIGGER_IN_FALLING_EDGE)
.value("RO_TRIGGER_IN_RISING_EDGE",
slsDetectorDefs::externalSignalFlag::RO_TRIGGER_IN_RISING_EDGE)
.value("RO_TRIGGER_IN_FALLING_EDGE",
slsDetectorDefs::externalSignalFlag::RO_TRIGGER_IN_FALLING_EDGE)
.value("GATE_OUT_ACTIVE_HIGH",
slsDetectorDefs::externalSignalFlag::GATE_OUT_ACTIVE_HIGH)
.value("GATE_OUT_ACTIVE_LOW",
slsDetectorDefs::externalSignalFlag::GATE_OUT_ACTIVE_LOW)
.value("TRIGGER_OUT_RISING_EDGE",
slsDetectorDefs::externalSignalFlag::TRIGGER_OUT_RISING_EDGE)
.value("TRIGGER_OUT_FALLING_EDGE",
slsDetectorDefs::externalSignalFlag::TRIGGER_OUT_FALLING_EDGE)
.value("RO_TRIGGER_OUT_RISING_EDGE",
slsDetectorDefs::externalSignalFlag::RO_TRIGGER_OUT_RISING_EDGE)
.value("RO_TRIGGER_OUT_FALLING_EDGE",
slsDetectorDefs::externalSignalFlag::RO_TRIGGER_OUT_FALLING_EDGE)
.value("OUTPUT_LOW", slsDetectorDefs::externalSignalFlag::OUTPUT_LOW)
.value("OUTPUT_HIGH", slsDetectorDefs::externalSignalFlag::OUTPUT_HIGH)
.value(
"MASTER_SLAVE_SYNCHRONIZATION",
slsDetectorDefs::externalSignalFlag::MASTER_SLAVE_SYNCHRONIZATION)
.export_values();
py::enum_<slsDetectorDefs::externalSignalFlag>(Defs, "externalSignalFlag")
.value("GET_EXTERNAL_SIGNAL_FLAG", slsDetectorDefs::externalSignalFlag::GET_EXTERNAL_SIGNAL_FLAG)
.value("SIGNAL_OFF", slsDetectorDefs::externalSignalFlag::SIGNAL_OFF)
.value("GATE_IN_ACTIVE_HIGH", slsDetectorDefs::externalSignalFlag::GATE_IN_ACTIVE_HIGH)
.value("GATE_IN_ACTIVE_LOW", slsDetectorDefs::externalSignalFlag::GATE_IN_ACTIVE_LOW)
.value("TRIGGER_IN_RISING_EDGE", slsDetectorDefs::externalSignalFlag::TRIGGER_IN_RISING_EDGE)
.value("TRIGGER_IN_FALLING_EDGE", slsDetectorDefs::externalSignalFlag::TRIGGER_IN_FALLING_EDGE)
.value("RO_TRIGGER_IN_RISING_EDGE", slsDetectorDefs::externalSignalFlag::RO_TRIGGER_IN_RISING_EDGE)
.value("RO_TRIGGER_IN_FALLING_EDGE", slsDetectorDefs::externalSignalFlag::RO_TRIGGER_IN_FALLING_EDGE)
.value("GATE_OUT_ACTIVE_HIGH", slsDetectorDefs::externalSignalFlag::GATE_OUT_ACTIVE_HIGH)
.value("GATE_OUT_ACTIVE_LOW", slsDetectorDefs::externalSignalFlag::GATE_OUT_ACTIVE_LOW)
.value("TRIGGER_OUT_RISING_EDGE", slsDetectorDefs::externalSignalFlag::TRIGGER_OUT_RISING_EDGE)
.value("TRIGGER_OUT_FALLING_EDGE", slsDetectorDefs::externalSignalFlag::TRIGGER_OUT_FALLING_EDGE)
.value("RO_TRIGGER_OUT_RISING_EDGE", slsDetectorDefs::externalSignalFlag::RO_TRIGGER_OUT_RISING_EDGE)
.value("RO_TRIGGER_OUT_FALLING_EDGE", slsDetectorDefs::externalSignalFlag::RO_TRIGGER_OUT_FALLING_EDGE)
.value("OUTPUT_LOW", slsDetectorDefs::externalSignalFlag::OUTPUT_LOW)
.value("OUTPUT_HIGH", slsDetectorDefs::externalSignalFlag::OUTPUT_HIGH)
.value("MASTER_SLAVE_SYNCHRONIZATION", slsDetectorDefs::externalSignalFlag::MASTER_SLAVE_SYNCHRONIZATION)
.export_values();
py::enum_<slsDetectorDefs::timingMode>(Defs, "timingMode")
.value("GET_TIMING_MODE", slsDetectorDefs::timingMode::GET_TIMING_MODE)
.value("AUTO_TIMING", slsDetectorDefs::timingMode::AUTO_TIMING)
.value("TRIGGER_EXPOSURE",
slsDetectorDefs::timingMode::TRIGGER_EXPOSURE)
.value("GATED", slsDetectorDefs::timingMode::GATED)
.value("BURST_TRIGGER", slsDetectorDefs::timingMode::BURST_TRIGGER)
.export_values();
py::enum_<slsDetectorDefs::timingMode>(Defs, "timingMode")
.value("GET_TIMING_MODE", slsDetectorDefs::timingMode::GET_TIMING_MODE)
.value("AUTO_TIMING", slsDetectorDefs::timingMode::AUTO_TIMING)
.value("TRIGGER_EXPOSURE", slsDetectorDefs::timingMode::TRIGGER_EXPOSURE)
.value("GATED", slsDetectorDefs::timingMode::GATED)
.value("BURST_TRIGGER", slsDetectorDefs::timingMode::BURST_TRIGGER)
.export_values();
py::enum_<slsDetectorDefs::idMode>(Defs, "idMode")
.value("DETECTOR_SERIAL_NUMBER",
slsDetectorDefs::idMode::DETECTOR_SERIAL_NUMBER)
.value("DETECTOR_FIRMWARE_VERSION",
slsDetectorDefs::idMode::DETECTOR_FIRMWARE_VERSION)
.value("DETECTOR_SOFTWARE_VERSION",
slsDetectorDefs::idMode::DETECTOR_SOFTWARE_VERSION)
.value("THIS_SOFTWARE_VERSION",
slsDetectorDefs::idMode::THIS_SOFTWARE_VERSION)
.value("RECEIVER_VERSION", slsDetectorDefs::idMode::RECEIVER_VERSION)
.value("SOFTWARE_FIRMWARE_API_VERSION",
slsDetectorDefs::idMode::SOFTWARE_FIRMWARE_API_VERSION)
.value("CLIENT_SOFTWARE_API_VERSION",
slsDetectorDefs::idMode::CLIENT_SOFTWARE_API_VERSION)
.value("CLIENT_RECEIVER_API_VERSION",
slsDetectorDefs::idMode::CLIENT_RECEIVER_API_VERSION)
.export_values();
py::enum_<slsDetectorDefs::idMode>(Defs, "idMode")
.value("DETECTOR_SERIAL_NUMBER", slsDetectorDefs::idMode::DETECTOR_SERIAL_NUMBER)
.value("DETECTOR_FIRMWARE_VERSION", slsDetectorDefs::idMode::DETECTOR_FIRMWARE_VERSION)
.value("DETECTOR_SOFTWARE_VERSION", slsDetectorDefs::idMode::DETECTOR_SOFTWARE_VERSION)
.value("THIS_SOFTWARE_VERSION", slsDetectorDefs::idMode::THIS_SOFTWARE_VERSION)
.value("RECEIVER_VERSION", slsDetectorDefs::idMode::RECEIVER_VERSION)
.value("SOFTWARE_FIRMWARE_API_VERSION", slsDetectorDefs::idMode::SOFTWARE_FIRMWARE_API_VERSION)
.value("CLIENT_SOFTWARE_API_VERSION", slsDetectorDefs::idMode::CLIENT_SOFTWARE_API_VERSION)
.value("CLIENT_RECEIVER_API_VERSION", slsDetectorDefs::idMode::CLIENT_RECEIVER_API_VERSION)
.export_values();
py::enum_<slsDetectorDefs::digitalTestMode>(Defs, "digitalTestMode")
.value("DETECTOR_FIRMWARE_TEST",
slsDetectorDefs::digitalTestMode::DETECTOR_FIRMWARE_TEST)
.value("DETECTOR_BUS_TEST",
slsDetectorDefs::digitalTestMode::DETECTOR_BUS_TEST)
.value("IMAGE_TEST", slsDetectorDefs::digitalTestMode::IMAGE_TEST)
.export_values();
py::enum_<slsDetectorDefs::digitalTestMode>(Defs, "digitalTestMode")
.value("DETECTOR_FIRMWARE_TEST", slsDetectorDefs::digitalTestMode::DETECTOR_FIRMWARE_TEST)
.value("DETECTOR_BUS_TEST", slsDetectorDefs::digitalTestMode::DETECTOR_BUS_TEST)
.value("IMAGE_TEST", slsDetectorDefs::digitalTestMode::IMAGE_TEST)
.export_values();
py::enum_<slsDetectorDefs::dacIndex>(Defs, "dacIndex")
.value("THRESHOLD", slsDetectorDefs::dacIndex::THRESHOLD)
.value("CALIBRATION_PULSE",
slsDetectorDefs::dacIndex::CALIBRATION_PULSE)
.value("TRIMBIT_SIZE", slsDetectorDefs::dacIndex::TRIMBIT_SIZE)
.value("PREAMP", slsDetectorDefs::dacIndex::PREAMP)
.value("SHAPER1", slsDetectorDefs::dacIndex::SHAPER1)
.value("SHAPER2", slsDetectorDefs::dacIndex::SHAPER2)
.value("TEMPERATURE_ADC", slsDetectorDefs::dacIndex::TEMPERATURE_ADC)
.value("TEMPERATURE_FPGA", slsDetectorDefs::dacIndex::TEMPERATURE_FPGA)
.value("HUMIDITY", slsDetectorDefs::dacIndex::HUMIDITY)
.value("DETECTOR_BIAS", slsDetectorDefs::dacIndex::DETECTOR_BIAS)
.value("VA_POT", slsDetectorDefs::dacIndex::VA_POT)
.value("VDD_POT", slsDetectorDefs::dacIndex::VDD_POT)
.value("VSH_POT", slsDetectorDefs::dacIndex::VSH_POT)
.value("VIO_POT", slsDetectorDefs::dacIndex::VIO_POT)
.value("G_VREF_DS", slsDetectorDefs::dacIndex::G_VREF_DS)
.value("G_VCASCN_PB", slsDetectorDefs::dacIndex::G_VCASCN_PB)
.value("G_VCASCP_PB", slsDetectorDefs::dacIndex::G_VCASCP_PB)
.value("G_VOUT_CM", slsDetectorDefs::dacIndex::G_VOUT_CM)
.value("G_VCASC_OUT", slsDetectorDefs::dacIndex::G_VCASC_OUT)
.value("G_VIN_CM", slsDetectorDefs::dacIndex::G_VIN_CM)
.value("G_VREF_COMP", slsDetectorDefs::dacIndex::G_VREF_COMP)
.value("G_IB_TESTC", slsDetectorDefs::dacIndex::G_IB_TESTC)
.value("E_SvP", slsDetectorDefs::dacIndex::E_SvP)
.value("E_SvN", slsDetectorDefs::dacIndex::E_SvN)
.value("E_Vtr", slsDetectorDefs::dacIndex::E_Vtr)
.value("E_Vrf", slsDetectorDefs::dacIndex::E_Vrf)
.value("E_Vrs", slsDetectorDefs::dacIndex::E_Vrs)
.value("E_Vtgstv", slsDetectorDefs::dacIndex::E_Vtgstv)
.value("E_Vcmp_ll", slsDetectorDefs::dacIndex::E_Vcmp_ll)
.value("E_Vcmp_lr", slsDetectorDefs::dacIndex::E_Vcmp_lr)
.value("E_cal", slsDetectorDefs::dacIndex::E_cal)
.value("E_Vcmp_rl", slsDetectorDefs::dacIndex::E_Vcmp_rl)
.value("E_Vcmp_rr", slsDetectorDefs::dacIndex::E_Vcmp_rr)
.value("E_rxb_rb", slsDetectorDefs::dacIndex::E_rxb_rb)
.value("E_rxb_lb", slsDetectorDefs::dacIndex::E_rxb_lb)
.value("E_Vcp", slsDetectorDefs::dacIndex::E_Vcp)
.value("E_Vcn", slsDetectorDefs::dacIndex::E_Vcn)
.value("E_Vis", slsDetectorDefs::dacIndex::E_Vis)
.value("IO_DELAY", slsDetectorDefs::dacIndex::IO_DELAY)
.value("ADC_VPP", slsDetectorDefs::dacIndex::ADC_VPP)
.value("HIGH_VOLTAGE", slsDetectorDefs::dacIndex::HIGH_VOLTAGE)
.value("TEMPERATURE_FPGAEXT",
slsDetectorDefs::dacIndex::TEMPERATURE_FPGAEXT)
.value("TEMPERATURE_10GE", slsDetectorDefs::dacIndex::TEMPERATURE_10GE)
.value("TEMPERATURE_DCDC", slsDetectorDefs::dacIndex::TEMPERATURE_DCDC)
.value("TEMPERATURE_SODL", slsDetectorDefs::dacIndex::TEMPERATURE_SODL)
.value("TEMPERATURE_SODR", slsDetectorDefs::dacIndex::TEMPERATURE_SODR)
.value("TEMPERATURE_FPGA2",
slsDetectorDefs::dacIndex::TEMPERATURE_FPGA2)
.value("TEMPERATURE_FPGA3",
slsDetectorDefs::dacIndex::TEMPERATURE_FPGA3)
.value("M_vIpre", slsDetectorDefs::dacIndex::M_vIpre)
.value("M_vIbias", slsDetectorDefs::dacIndex::M_vIbias)
.value("M_vIinSh", slsDetectorDefs::dacIndex::M_vIinSh)
.value("M_VdcSh", slsDetectorDefs::dacIndex::M_VdcSh)
.value("M_Vth2", slsDetectorDefs::dacIndex::M_Vth2)
.value("M_VPL", slsDetectorDefs::dacIndex::M_VPL)
.value("M_Vth3", slsDetectorDefs::dacIndex::M_Vth3)
.value("M_casSh", slsDetectorDefs::dacIndex::M_casSh)
.value("M_cas", slsDetectorDefs::dacIndex::M_cas)
.value("M_vIbiasSh", slsDetectorDefs::dacIndex::M_vIbiasSh)
.value("M_vIcin", slsDetectorDefs::dacIndex::M_vIcin)
.value("M_vIpreOut", slsDetectorDefs::dacIndex::M_vIpreOut)
.value("V_POWER_A", slsDetectorDefs::dacIndex::V_POWER_A)
.value("V_POWER_B", slsDetectorDefs::dacIndex::V_POWER_B)
.value("V_POWER_C", slsDetectorDefs::dacIndex::V_POWER_C)
.value("V_POWER_D", slsDetectorDefs::dacIndex::V_POWER_D)
.value("V_POWER_IO", slsDetectorDefs::dacIndex::V_POWER_IO)
.value("V_POWER_CHIP", slsDetectorDefs::dacIndex::V_POWER_CHIP)
.value("I_POWER_A", slsDetectorDefs::dacIndex::I_POWER_A)
.value("I_POWER_B", slsDetectorDefs::dacIndex::I_POWER_B)
.value("I_POWER_C", slsDetectorDefs::dacIndex::I_POWER_C)
.value("I_POWER_D", slsDetectorDefs::dacIndex::I_POWER_D)
.value("I_POWER_IO", slsDetectorDefs::dacIndex::I_POWER_IO)
.value("V_LIMIT", slsDetectorDefs::dacIndex::V_LIMIT)
.value("SLOW_ADC0", slsDetectorDefs::dacIndex::SLOW_ADC0)
.value("SLOW_ADC1", slsDetectorDefs::dacIndex::SLOW_ADC1)
.value("SLOW_ADC2", slsDetectorDefs::dacIndex::SLOW_ADC2)
.value("SLOW_ADC3", slsDetectorDefs::dacIndex::SLOW_ADC3)
.value("SLOW_ADC4", slsDetectorDefs::dacIndex::SLOW_ADC4)
.value("SLOW_ADC5", slsDetectorDefs::dacIndex::SLOW_ADC5)
.value("SLOW_ADC6", slsDetectorDefs::dacIndex::SLOW_ADC6)
.value("SLOW_ADC7", slsDetectorDefs::dacIndex::SLOW_ADC7)
.value("SLOW_ADC_TEMP", slsDetectorDefs::dacIndex::SLOW_ADC_TEMP)
.export_values();
py::enum_<slsDetectorDefs::dacIndex>(Defs, "dacIndex")
.value("THRESHOLD", slsDetectorDefs::dacIndex::THRESHOLD)
.value("CALIBRATION_PULSE", slsDetectorDefs::dacIndex::CALIBRATION_PULSE)
.value("TRIMBIT_SIZE", slsDetectorDefs::dacIndex::TRIMBIT_SIZE)
.value("PREAMP", slsDetectorDefs::dacIndex::PREAMP)
.value("SHAPER1", slsDetectorDefs::dacIndex::SHAPER1)
.value("SHAPER2", slsDetectorDefs::dacIndex::SHAPER2)
.value("TEMPERATURE_ADC", slsDetectorDefs::dacIndex::TEMPERATURE_ADC)
.value("TEMPERATURE_FPGA", slsDetectorDefs::dacIndex::TEMPERATURE_FPGA)
.value("HUMIDITY", slsDetectorDefs::dacIndex::HUMIDITY)
.value("DETECTOR_BIAS", slsDetectorDefs::dacIndex::DETECTOR_BIAS)
.value("VA_POT", slsDetectorDefs::dacIndex::VA_POT)
.value("VDD_POT", slsDetectorDefs::dacIndex::VDD_POT)
.value("VSH_POT", slsDetectorDefs::dacIndex::VSH_POT)
.value("VIO_POT", slsDetectorDefs::dacIndex::VIO_POT)
.value("G_VREF_DS", slsDetectorDefs::dacIndex::G_VREF_DS)
.value("G_VCASCN_PB", slsDetectorDefs::dacIndex::G_VCASCN_PB)
.value("G_VCASCP_PB", slsDetectorDefs::dacIndex::G_VCASCP_PB)
.value("G_VOUT_CM", slsDetectorDefs::dacIndex::G_VOUT_CM)
.value("G_VCASC_OUT", slsDetectorDefs::dacIndex::G_VCASC_OUT)
.value("G_VIN_CM", slsDetectorDefs::dacIndex::G_VIN_CM)
.value("G_VREF_COMP", slsDetectorDefs::dacIndex::G_VREF_COMP)
.value("G_IB_TESTC", slsDetectorDefs::dacIndex::G_IB_TESTC)
.value("E_SvP", slsDetectorDefs::dacIndex::E_SvP)
.value("E_SvN", slsDetectorDefs::dacIndex::E_SvN)
.value("E_Vtr", slsDetectorDefs::dacIndex::E_Vtr)
.value("E_Vrf", slsDetectorDefs::dacIndex::E_Vrf)
.value("E_Vrs", slsDetectorDefs::dacIndex::E_Vrs)
.value("E_Vtgstv", slsDetectorDefs::dacIndex::E_Vtgstv)
.value("E_Vcmp_ll", slsDetectorDefs::dacIndex::E_Vcmp_ll)
.value("E_Vcmp_lr", slsDetectorDefs::dacIndex::E_Vcmp_lr)
.value("E_cal", slsDetectorDefs::dacIndex::E_cal)
.value("E_Vcmp_rl", slsDetectorDefs::dacIndex::E_Vcmp_rl)
.value("E_Vcmp_rr", slsDetectorDefs::dacIndex::E_Vcmp_rr)
.value("E_rxb_rb", slsDetectorDefs::dacIndex::E_rxb_rb)
.value("E_rxb_lb", slsDetectorDefs::dacIndex::E_rxb_lb)
.value("E_Vcp", slsDetectorDefs::dacIndex::E_Vcp)
.value("E_Vcn", slsDetectorDefs::dacIndex::E_Vcn)
.value("E_Vis", slsDetectorDefs::dacIndex::E_Vis)
.value("IO_DELAY", slsDetectorDefs::dacIndex::IO_DELAY)
.value("ADC_VPP", slsDetectorDefs::dacIndex::ADC_VPP)
.value("HIGH_VOLTAGE", slsDetectorDefs::dacIndex::HIGH_VOLTAGE)
.value("TEMPERATURE_FPGAEXT", slsDetectorDefs::dacIndex::TEMPERATURE_FPGAEXT)
.value("TEMPERATURE_10GE", slsDetectorDefs::dacIndex::TEMPERATURE_10GE)
.value("TEMPERATURE_DCDC", slsDetectorDefs::dacIndex::TEMPERATURE_DCDC)
.value("TEMPERATURE_SODL", slsDetectorDefs::dacIndex::TEMPERATURE_SODL)
.value("TEMPERATURE_SODR", slsDetectorDefs::dacIndex::TEMPERATURE_SODR)
.value("TEMPERATURE_FPGA2", slsDetectorDefs::dacIndex::TEMPERATURE_FPGA2)
.value("TEMPERATURE_FPGA3", slsDetectorDefs::dacIndex::TEMPERATURE_FPGA3)
.value("M_vIpre", slsDetectorDefs::dacIndex::M_vIpre)
.value("M_vIinSh", slsDetectorDefs::dacIndex::M_vIinSh)
.value("M_VdcSh", slsDetectorDefs::dacIndex::M_VdcSh)
.value("M_Vth2", slsDetectorDefs::dacIndex::M_Vth2)
.value("M_VPL", slsDetectorDefs::dacIndex::M_VPL)
.value("M_Vth3", slsDetectorDefs::dacIndex::M_Vth3)
.value("M_casSh", slsDetectorDefs::dacIndex::M_casSh)
.value("M_cas", slsDetectorDefs::dacIndex::M_cas)
.value("M_vIcin", slsDetectorDefs::dacIndex::M_vIcin)
.value("M_vIpreOut", slsDetectorDefs::dacIndex::M_vIpreOut)
.value("V_POWER_A", slsDetectorDefs::dacIndex::V_POWER_A)
.value("V_POWER_B", slsDetectorDefs::dacIndex::V_POWER_B)
.value("V_POWER_C", slsDetectorDefs::dacIndex::V_POWER_C)
.value("V_POWER_D", slsDetectorDefs::dacIndex::V_POWER_D)
.value("V_POWER_IO", slsDetectorDefs::dacIndex::V_POWER_IO)
.value("V_POWER_CHIP", slsDetectorDefs::dacIndex::V_POWER_CHIP)
.value("I_POWER_A", slsDetectorDefs::dacIndex::I_POWER_A)
.value("I_POWER_B", slsDetectorDefs::dacIndex::I_POWER_B)
.value("I_POWER_C", slsDetectorDefs::dacIndex::I_POWER_C)
.value("I_POWER_D", slsDetectorDefs::dacIndex::I_POWER_D)
.value("I_POWER_IO", slsDetectorDefs::dacIndex::I_POWER_IO)
.value("V_LIMIT", slsDetectorDefs::dacIndex::V_LIMIT)
.value("SLOW_ADC0", slsDetectorDefs::dacIndex::SLOW_ADC0)
.value("SLOW_ADC1", slsDetectorDefs::dacIndex::SLOW_ADC1)
.value("SLOW_ADC2", slsDetectorDefs::dacIndex::SLOW_ADC2)
.value("SLOW_ADC3", slsDetectorDefs::dacIndex::SLOW_ADC3)
.value("SLOW_ADC4", slsDetectorDefs::dacIndex::SLOW_ADC4)
.value("SLOW_ADC5", slsDetectorDefs::dacIndex::SLOW_ADC5)
.value("SLOW_ADC6", slsDetectorDefs::dacIndex::SLOW_ADC6)
.value("SLOW_ADC7", slsDetectorDefs::dacIndex::SLOW_ADC7)
.value("SLOW_ADC_TEMP", slsDetectorDefs::dacIndex::SLOW_ADC_TEMP)
.export_values();
py::enum_<slsDetectorDefs::detectorSettings>(Defs, "detectorSettings")
.value("GET_SETTINGS", slsDetectorDefs::detectorSettings::GET_SETTINGS)
.value("STANDARD", slsDetectorDefs::detectorSettings::STANDARD)
.value("FAST", slsDetectorDefs::detectorSettings::FAST)
.value("HIGHGAIN", slsDetectorDefs::detectorSettings::HIGHGAIN)
.value("DYNAMICGAIN", slsDetectorDefs::detectorSettings::DYNAMICGAIN)
.value("LOWGAIN", slsDetectorDefs::detectorSettings::LOWGAIN)
.value("MEDIUMGAIN", slsDetectorDefs::detectorSettings::MEDIUMGAIN)
.value("VERYHIGHGAIN", slsDetectorDefs::detectorSettings::VERYHIGHGAIN)
.value("DYNAMICHG0", slsDetectorDefs::detectorSettings::DYNAMICHG0)
.value("FIXGAIN1", slsDetectorDefs::detectorSettings::FIXGAIN1)
.value("FIXGAIN2", slsDetectorDefs::detectorSettings::FIXGAIN2)
.value("FORCESWITCHG1",
slsDetectorDefs::detectorSettings::FORCESWITCHG1)
.value("FORCESWITCHG2",
slsDetectorDefs::detectorSettings::FORCESWITCHG2)
.value("VERYLOWGAIN", slsDetectorDefs::detectorSettings::VERYLOWGAIN)
.value("UNDEFINED", slsDetectorDefs::detectorSettings::UNDEFINED)
.value("UNINITIALIZED",
slsDetectorDefs::detectorSettings::UNINITIALIZED)
.export_values();
py::enum_<slsDetectorDefs::detectorSettings>(Defs, "detectorSettings")
.value("GET_SETTINGS", slsDetectorDefs::detectorSettings::GET_SETTINGS)
.value("STANDARD", slsDetectorDefs::detectorSettings::STANDARD)
.value("FAST", slsDetectorDefs::detectorSettings::FAST)
.value("HIGHGAIN", slsDetectorDefs::detectorSettings::HIGHGAIN)
.value("DYNAMICGAIN", slsDetectorDefs::detectorSettings::DYNAMICGAIN)
.value("LOWGAIN", slsDetectorDefs::detectorSettings::LOWGAIN)
.value("MEDIUMGAIN", slsDetectorDefs::detectorSettings::MEDIUMGAIN)
.value("VERYHIGHGAIN", slsDetectorDefs::detectorSettings::VERYHIGHGAIN)
.value("DYNAMICHG0", slsDetectorDefs::detectorSettings::DYNAMICHG0)
.value("FIXGAIN1", slsDetectorDefs::detectorSettings::FIXGAIN1)
.value("FIXGAIN2", slsDetectorDefs::detectorSettings::FIXGAIN2)
.value("FORCESWITCHG1", slsDetectorDefs::detectorSettings::FORCESWITCHG1)
.value("FORCESWITCHG2", slsDetectorDefs::detectorSettings::FORCESWITCHG2)
.value("VERYLOWGAIN", slsDetectorDefs::detectorSettings::VERYLOWGAIN)
.value("UNDEFINED", slsDetectorDefs::detectorSettings::UNDEFINED)
.value("UNINITIALIZED", slsDetectorDefs::detectorSettings::UNINITIALIZED)
.export_values();
py::enum_<slsDetectorDefs::speedVariable>(Defs, "speedVariable")
.value("CLOCK_DIVIDER", slsDetectorDefs::speedVariable::CLOCK_DIVIDER)
.value("ADC_CLOCK", slsDetectorDefs::speedVariable::ADC_CLOCK)
.value("ADC_PHASE", slsDetectorDefs::speedVariable::ADC_PHASE)
.value("ADC_PIPELINE", slsDetectorDefs::speedVariable::ADC_PIPELINE)
.value("DBIT_CLOCK", slsDetectorDefs::speedVariable::DBIT_CLOCK)
.value("DBIT_PHASE", slsDetectorDefs::speedVariable::DBIT_PHASE)
.value("DBIT_PIPELINE", slsDetectorDefs::speedVariable::DBIT_PIPELINE)
.value("MAX_ADC_PHASE_SHIFT",
slsDetectorDefs::speedVariable::MAX_ADC_PHASE_SHIFT)
.value("MAX_DBIT_PHASE_SHIFT",
slsDetectorDefs::speedVariable::MAX_DBIT_PHASE_SHIFT)
.value("SYNC_CLOCK", slsDetectorDefs::speedVariable::SYNC_CLOCK)
.export_values();
py::enum_<slsDetectorDefs::speedVariable>(Defs, "speedVariable")
.value("CLOCK_DIVIDER", slsDetectorDefs::speedVariable::CLOCK_DIVIDER)
.value("ADC_CLOCK", slsDetectorDefs::speedVariable::ADC_CLOCK)
.value("ADC_PHASE", slsDetectorDefs::speedVariable::ADC_PHASE)
.value("ADC_PIPELINE", slsDetectorDefs::speedVariable::ADC_PIPELINE)
.value("DBIT_CLOCK", slsDetectorDefs::speedVariable::DBIT_CLOCK)
.value("DBIT_PHASE", slsDetectorDefs::speedVariable::DBIT_PHASE)
.value("DBIT_PIPELINE", slsDetectorDefs::speedVariable::DBIT_PIPELINE)
.value("MAX_ADC_PHASE_SHIFT", slsDetectorDefs::speedVariable::MAX_ADC_PHASE_SHIFT)
.value("MAX_DBIT_PHASE_SHIFT", slsDetectorDefs::speedVariable::MAX_DBIT_PHASE_SHIFT)
.value("SYNC_CLOCK", slsDetectorDefs::speedVariable::SYNC_CLOCK)
.export_values();
py::enum_<slsDetectorDefs::readoutMode>(Defs, "readoutMode")
.value("ANALOG_ONLY", slsDetectorDefs::readoutMode::ANALOG_ONLY)
.value("DIGITAL_ONLY", slsDetectorDefs::readoutMode::DIGITAL_ONLY)
.value("ANALOG_AND_DIGITAL",
slsDetectorDefs::readoutMode::ANALOG_AND_DIGITAL)
.export_values();
py::enum_<slsDetectorDefs::readoutMode>(Defs, "readoutMode")
.value("ANALOG_ONLY", slsDetectorDefs::readoutMode::ANALOG_ONLY)
.value("DIGITAL_ONLY", slsDetectorDefs::readoutMode::DIGITAL_ONLY)
.value("ANALOG_AND_DIGITAL", slsDetectorDefs::readoutMode::ANALOG_AND_DIGITAL)
.export_values();
py::enum_<slsDetectorDefs::speedLevel>(Defs, "speedLevel")
.value("FULL_SPEED", slsDetectorDefs::speedLevel::FULL_SPEED)
.value("HALF_SPEED", slsDetectorDefs::speedLevel::HALF_SPEED)
.value("QUARTER_SPEED", slsDetectorDefs::speedLevel::QUARTER_SPEED)
.export_values();
py::enum_<slsDetectorDefs::speedLevel>(Defs, "speedLevel")
.value("FULL_SPEED", slsDetectorDefs::speedLevel::FULL_SPEED)
.value("HALF_SPEED", slsDetectorDefs::speedLevel::HALF_SPEED)
.value("QUARTER_SPEED", slsDetectorDefs::speedLevel::QUARTER_SPEED)
.export_values();
py::enum_<slsDetectorDefs::portType>(Defs, "portType")
.value("CONTROL_PORT", slsDetectorDefs::portType::CONTROL_PORT)
.value("STOP_PORT", slsDetectorDefs::portType::STOP_PORT)
.value("DATA_PORT", slsDetectorDefs::portType::DATA_PORT)
.export_values();
py::enum_<slsDetectorDefs::portType>(Defs, "portType")
.value("CONTROL_PORT", slsDetectorDefs::portType::CONTROL_PORT)
.value("STOP_PORT", slsDetectorDefs::portType::STOP_PORT)
.value("DATA_PORT", slsDetectorDefs::portType::DATA_PORT)
.export_values();
py::enum_<slsDetectorDefs::masterFlags>(Defs, "masterFlags")
.value("GET_MASTER", slsDetectorDefs::masterFlags::GET_MASTER)
.value("NO_MASTER", slsDetectorDefs::masterFlags::NO_MASTER)
.value("IS_MASTER", slsDetectorDefs::masterFlags::IS_MASTER)
.value("IS_SLAVE", slsDetectorDefs::masterFlags::IS_SLAVE)
.export_values();
py::enum_<slsDetectorDefs::frameModeType>(Defs, "frameModeType")
.value("GET_FRAME_MODE", slsDetectorDefs::frameModeType::GET_FRAME_MODE)
.value("PEDESTAL", slsDetectorDefs::frameModeType::PEDESTAL)
.value("NEW_PEDESTAL", slsDetectorDefs::frameModeType::NEW_PEDESTAL)
.value("FLATFIELD", slsDetectorDefs::frameModeType::FLATFIELD)
.value("NEW_FLATFIELD", slsDetectorDefs::frameModeType::NEW_FLATFIELD)
.export_values();
py::enum_<slsDetectorDefs::detectorModeType>(Defs, "detectorModeType")
.value("GET_DETECTOR_MODE", slsDetectorDefs::detectorModeType::GET_DETECTOR_MODE)
.value("COUNTING", slsDetectorDefs::detectorModeType::COUNTING)
.value("INTERPOLATING", slsDetectorDefs::detectorModeType::INTERPOLATING)
.value("ANALOG", slsDetectorDefs::detectorModeType::ANALOG)
.export_values();
py::enum_<slsDetectorDefs::masterFlags>(Defs, "masterFlags")
.value("GET_MASTER", slsDetectorDefs::masterFlags::GET_MASTER)
.value("NO_MASTER", slsDetectorDefs::masterFlags::NO_MASTER)
.value("IS_MASTER", slsDetectorDefs::masterFlags::IS_MASTER)
.value("IS_SLAVE", slsDetectorDefs::masterFlags::IS_SLAVE)
.export_values();
py::enum_<slsDetectorDefs::frameModeType>(Defs, "frameModeType")
.value("GET_FRAME_MODE", slsDetectorDefs::frameModeType::GET_FRAME_MODE)
.value("PEDESTAL", slsDetectorDefs::frameModeType::PEDESTAL)
.value("NEW_PEDESTAL", slsDetectorDefs::frameModeType::NEW_PEDESTAL)
.value("FLATFIELD", slsDetectorDefs::frameModeType::FLATFIELD)
.value("NEW_FLATFIELD", slsDetectorDefs::frameModeType::NEW_FLATFIELD)
.export_values();
py::enum_<slsDetectorDefs::detectorModeType>(Defs, "detectorModeType")
.value("GET_DETECTOR_MODE",
slsDetectorDefs::detectorModeType::GET_DETECTOR_MODE)
.value("COUNTING", slsDetectorDefs::detectorModeType::COUNTING)
.value("INTERPOLATING",
slsDetectorDefs::detectorModeType::INTERPOLATING)
.value("ANALOG", slsDetectorDefs::detectorModeType::ANALOG)
.export_values();
}

View File

@ -8,6 +8,8 @@ namespace py = pybind11;
void init_enums(py::module &m) {
py::class_<slsDetectorDefs> Defs(m, "slsDetectorDefs");
py::class_<slsDetectorDefs::xy> xy(m, "xy");
xy.def(py::init());
xy.def(py::init<int,int>());
xy.def_readwrite("x", &slsDetectorDefs::xy::x);
xy.def_readwrite("y", &slsDetectorDefs::xy::y);

View File

@ -12,6 +12,7 @@ namespace py = pybind11;
void init_experimental(py::module &m) {
using sls::Detector;
using sls::Positions;
using defs = slsDetectorDefs;
py::class_<Detector> CppDetectorApi(m, "CppDetectorApi");
CppDetectorApi
@ -242,6 +243,12 @@ void init_experimental(py::module &m) {
.def("setTransmissionDelayRight", &Detector::setTransmissionDelayRight,
py::arg(), py::arg() = Positions{})
/**************************************************
* *
* RECEIVER CONFIG *
* *
* ************************************************/
.def("getUseReceiverFlag", &Detector::getUseReceiverFlag,
py::arg() = Positions{})
.def("getRxHostname", &Detector::getRxHostname, py::arg() = Positions{})
@ -278,6 +285,180 @@ void init_experimental(py::module &m) {
.def("getRxLastClientIP", &Detector::getRxLastClientIP,
py::arg() = Positions{})
/**************************************************
* *
* FILE *
* *
* ************************************************/
.def("getFileFormat", &Detector::getFileFormat, py::arg() = Positions{})
.def("setFileFormat", &Detector::setFileFormat, py::arg(),
py::arg() = Positions{})
.def("getFilePath", &Detector::getFilePath, py::arg() = Positions{})
.def("setFilePath", &Detector::setFilePath, py::arg(),
py::arg() = Positions{})
.def("getFileNamePrefix", &Detector::getFileNamePrefix,
py::arg() = Positions{})
.def("setFileNamePrefix", &Detector::setFileNamePrefix, py::arg(),
py::arg() = Positions{})
.def("getFilePath", &Detector::getFilePath)
.def("setFilePath", &Detector::setFilePath, py::arg(),
py::arg() = Positions{})
.def("getAcquisitionIndex", &Detector::getAcquisitionIndex,
py::arg() = Positions{})
.def("setAcquisitionIndex", &Detector::setAcquisitionIndex, py::arg(),
py::arg() = Positions{})
.def("setFileWrite", &Detector::setFileWrite, py::arg(),
py::arg() = Positions{})
.def("getFileWrite", &Detector::getFileWrite, py::arg() = Positions{})
.def("setFileOverWrite", &Detector::setFileOverWrite, py::arg(),
py::arg() = Positions{})
.def("getFileOverWrite", &Detector::getFileOverWrite,
py::arg() = Positions{})
.def("setMasterFileWrite", &Detector::setMasterFileWrite, py::arg(),
py::arg() = Positions{})
.def("getMasterFileWrite", &Detector::getMasterFileWrite,
py::arg() = Positions{})
.def("setFramesPerFile", &Detector::setFramesPerFile, py::arg(),
py::arg() = Positions{})
.def("getFramesPerFile", &Detector::getFramesPerFile,
py::arg() = Positions{})
/**************************************************
* *
* ZMQ Streaming Parameters (Receiver<->Client)*
* *
* ************************************************/
.def("getRxZmqDataStream", &Detector::getRxZmqDataStream,
py::arg() = Positions{})
.def("setRxZmqDataStream", &Detector::setRxZmqDataStream, py::arg(),
py::arg() = Positions{})
.def("getRxZmqFrequency", &Detector::getRxZmqFrequency,
py::arg() = Positions{})
.def("setRxZmqFrequency", &Detector::setRxZmqFrequency, py::arg(),
py::arg() = Positions{})
.def("getRxZmqTimer", &Detector::getRxZmqTimer, py::arg() = Positions{})
.def("setRxZmqTimer", &Detector::setRxZmqTimer, py::arg(),
py::arg() = Positions{})
.def("getRxZmqPort", &Detector::getRxZmqPort, py::arg() = Positions{})
.def("setRxZmqPort", &Detector::setRxZmqPort, py::arg(),
py::arg() = Positions{})
.def("getRxZmqIP", &Detector::getRxZmqIP, py::arg() = Positions{})
.def("setRxZmqIP", &Detector::setRxZmqIP, py::arg(),
py::arg() = Positions{})
.def("getClientZmqPort", &Detector::getClientZmqPort,
py::arg() = Positions{})
.def("setClientZmqPort", &Detector::setClientZmqPort, py::arg(),
py::arg() = -1)
.def("getClientZmqIp", &Detector::getClientZmqIp,
py::arg() = Positions{})
.def("setClientZmqIp", &Detector::setClientZmqIp, py::arg(),
py::arg() = Positions{})
/**************************************************
* *
* Eiger Specific *
* *
* ************************************************/
.def("getDynamicRange", &Detector::getDynamicRange,
py::arg() = Positions{})
.def("setDynamicRange", &Detector::setDynamicRange)
.def("getSubExptime", &Detector::getSubExptime, py::arg() = Positions{})
.def("setSubExptime", &Detector::setSubExptime, py::arg(),
py::arg() = Positions{})
.def("getSubDeadTime", &Detector::getSubDeadTime,
py::arg() = Positions{})
.def("setSubDeadTime", &Detector::setSubDeadTime, py::arg(),
py::arg() = Positions{})
.def("getThresholdEnergy", &Detector::getThresholdEnergy,
py::arg() = Positions{})
.def("setThresholdEnergy", &Detector::setThresholdEnergy, py::arg(),
py::arg() = defs::STANDARD, py::arg() = true,
py::arg() = Positions{})
.def("getSettingsDir", &Detector::getSettingsDir,
py::arg() = Positions{})
.def("setSettingsDir", &Detector::setSettingsDir, py::arg(),
py::arg() = Positions{})
.def("loadTrimbits", &Detector::setSettingsDir, py::arg(),
py::arg() = Positions{})
.def("getRxAddGapPixels", &Detector::getRxAddGapPixels,
py::arg() = Positions{})
.def("setRxAddGapPixels", &Detector::setRxAddGapPixels)
.def("getParallelMode", &Detector::getParallelMode,
py::arg() = Positions{})
.def("setParallelMode", &Detector::setParallelMode, py::arg(),
py::arg() = Positions{})
.def("getOverFlowMode", &Detector::getOverFlowMode,
py::arg() = Positions{})
.def("setOverFlowMode", &Detector::setOverFlowMode, py::arg(),
py::arg() = Positions{})
.def("getStoreInRamMode", &Detector::getStoreInRamMode,
py::arg() = Positions{})
.def("setStoreInRamMode", &Detector::setStoreInRamMode, py::arg(),
py::arg() = Positions{})
.def("getBottom", &Detector::getBottom, py::arg() = Positions{})
.def("setBottom", &Detector::setBottom, py::arg(),
py::arg() = Positions{})
.def("getAllTrimbits", &Detector::getAllTrimbits,
py::arg() = Positions{})
.def("setAllTrimbits", &Detector::setAllTrimbits, py::arg(),
py::arg() = Positions{})
.def("getTrimEnergies", &Detector::getTrimEnergies,
py::arg() = Positions{})
.def("setTrimEnergies", &Detector::setTrimEnergies, py::arg(),
py::arg() = Positions{})
.def("getRateCorrection", &Detector::getRateCorrection,
py::arg() = Positions{})
.def("setRateCorrection", &Detector::setRateCorrection, py::arg(),
py::arg() = Positions{})
.def("setDefaultRateCorrection", &Detector::setDefaultRateCorrection,
py::arg() = Positions{})
.def("getPartialReadout", &Detector::getPartialReadout,
py::arg() = Positions{})
.def("setPartialReadout", &Detector::setPartialReadout, py::arg(),
py::arg() = Positions{})
.def("getInterruptSubframe", &Detector::getInterruptSubframe,
py::arg() = Positions{})
.def("setInterruptSubframe", &Detector::setInterruptSubframe, py::arg(),
py::arg() = Positions{})
.def("getMeasuredPeriod", &Detector::getMeasuredPeriod,
py::arg() = Positions{})
.def("getMeasuredSubFramePeriod", &Detector::getMeasuredSubFramePeriod,
py::arg() = Positions{})
.def("getActive", &Detector::getActive, py::arg() = Positions{})
.def("setActive", &Detector::setActive, py::arg(),
py::arg() = Positions{})
.def("getRxPadDeactivatedMode", &Detector::getRxPadDeactivatedMode,
py::arg() = Positions{})
.def("setRxPadDeactivatedMode", &Detector::setRxPadDeactivatedMode, py::arg(),
py::arg() = Positions{})
.def("getPartialReset", &Detector::getPartialReset, py::arg() = Positions{})
.def("setPartialReset", &Detector::setPartialReset, py::arg(),
py::arg() = Positions{})
.def("pulsePixel", &Detector::pulsePixel, py::arg(), py::arg(),
py::arg() = Positions{})
.def("pulsePixelNMove", &Detector::pulsePixelNMove, py::arg(),
py::arg(), py::arg() = Positions{})
.def("pulseChip", &Detector::pulseChip, py::arg(),
py::arg() = Positions{})
.def("getQuad", &Detector::getQuad, py::arg() = Positions{})
.def("setQuad", &Detector::setQuad)
/**************************************************
* *
* Jungfrau Specific *
* *
* ************************************************/
.def("getThresholdTemperature", &Detector::getThresholdTemperature, py::arg() = Positions{})
.def("setThresholdTemperature", &Detector::setThresholdTemperature, py::arg(),
py::arg() = Positions{})
// Bits and registers
.def("setBit", &Detector::setBit, py::arg(), py::arg(),
py::arg() = Positions{})
@ -292,19 +473,6 @@ void init_experimental(py::module &m) {
py::arg(), py::arg() = Positions{})
// File
.def("getFileNamePrefix", &Detector::getFileNamePrefix)
.def("setFileNamePrefix", &Detector::setFileNamePrefix, py::arg(),
py::arg() = Positions{})
.def("getFilePath", &Detector::getFilePath)
.def("setFilePath", &Detector::setFilePath, py::arg(),
py::arg() = Positions{})
.def("setFileWrite", &Detector::setFileWrite, py::arg(),
py::arg() = Positions{})
.def("getFileWrite", &Detector::getFileWrite, py::arg() = Positions{})
.def("setFileOverWrite", &Detector::setFileOverWrite, py::arg(),
py::arg() = Positions{})
.def("getFileOverWrite", &Detector::getFileOverWrite,
py::arg() = Positions{})
// Time

View File

@ -928,14 +928,14 @@ slsDetectorCommand::slsDetectorCommand(multiSlsDetector *det) {
++i;
/*! \page settings
- <b>vhaper1 [i] [mv]</b> Sets/gets the voltage to define the feedback resistance of the first shaper. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
- <b>vshaper1 [i] [mv]</b> Sets/gets the voltage to define the feedback resistance of the first shaper. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
*/
descrToFuncMap[i].m_pFuncName = "vshaper1";
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdDAC;
++i;
/*! \page settings
- <b>vhaper1 [i] [mv]</b> Sets/gets the voltage to define the feedback resistance of the first shaper. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
- <b>vshaper [i] [mv]</b> Sets/gets the voltage to define the feedback transistor voltage of the shaper. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
*/
descrToFuncMap[i].m_pFuncName = "vshaper";
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdDAC;
@ -949,7 +949,7 @@ slsDetectorCommand::slsDetectorCommand(multiSlsDetector *det) {
++i;
/*! \page settings
- <b>vhaper1 [i] [mv]</b> Sets/gets the voltage to define the feedback resistance of the first shaper. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
- <b>vhaperneg [i] [mv]</b> Sets/gets the voltage to define the feedback transistor voltage of the negative-polarity shaper. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
*/
descrToFuncMap[i].m_pFuncName = "vshaperneg";
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdDAC;
@ -1229,209 +1229,96 @@ slsDetectorCommand::slsDetectorCommand(multiSlsDetector *det) {
++i;
/*! \page settings
- <b>vIpre</b> Sets/gets dac for xxx for Mythen3. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
- <b>vipre</b> Sets/gets dac for the preamplifier's input transistor current for Mythen3. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
*/
descrToFuncMap[i].m_pFuncName = "vipre";
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdDAC;
++i;
/*! \page settings
- <b>vIpre</b> Sets/gets dac for xxx for Mythen3. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
- <b>vdcsh</b> Sets/gets dac for the reference (DC) voltage for the shaper for Mythen3. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
*/
descrToFuncMap[i].m_pFuncName = "vdcsh";
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdDAC;
++i;
/*! \page settings
- <b>Vth1</b> Sets/gets first detector threshold voltage for Mythen 3.01. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
- <b>vth1</b> Sets/gets first detector threshold voltage for Mythen 3. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
*/
descrToFuncMap[i].m_pFuncName = "vth1";
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdDAC;
++i;
/*! \page settings
- <b>Vth1</b> Sets/gets second detector threshold voltage for Mythen 3.0. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
- <b>vth2</b> Sets/gets second detector threshold voltage for Mythen 3. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
*/
descrToFuncMap[i].m_pFuncName = "vth2";
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdDAC;
++i;
/*! \page settings
- <b>Vth1</b> Sets/gets third detector threshold voltage for Mythen 3.0. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
- <b>vth3</b> Sets/gets third detector threshold voltage for Mythen 3. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
*/
descrToFuncMap[i].m_pFuncName = "vth3";
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdDAC;
++i;
/*! \page settings
- <b>vIpre</b> Sets/gets dac for xxx for Mythen3. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
- <b>vpl</b> Sets/gets dac for the low voltage for analog pulsing for Mythen3. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
*/
descrToFuncMap[i].m_pFuncName = "vpl";
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdDAC;
++i;
/*! \page settings
- <b>vIpre</b> Sets/gets dac for xxx for Mythen3. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
- <b>vph</b> Sets/gets dac for the high voltage for analog pulsing for Mythen3. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
*/
descrToFuncMap[i].m_pFuncName = "vph";
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdDAC;
++i;
/*! \page settings
- <b>vIpre</b> Sets/gets dac for xxx for Mythen3. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
- <b>vtrim</b> Sets/gets dac for the voltage defining the trim bit size for Mythen3. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
*/
descrToFuncMap[i].m_pFuncName = "vtrim";
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdDAC;
++i;
/*! \page settings
- <b>vIpre</b> Sets/gets dac for xxx for Mythen3. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
- <b>viinsh</b> Sets/gets dac for the bias current for the shaper for Mythen3. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
*/
descrToFuncMap[i].m_pFuncName = "viinsh";
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdDAC;
++i;
/*! \page settings
- <b>vIpre</b> Sets/gets dac for xxx for Mythen3. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
- <b>cas</b> Sets/gets dac for the preamplifier's cascode voltage for Mythen3. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
*/
descrToFuncMap[i].m_pFuncName = "cas";
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdDAC;
++i;
/*! \page settings
- <b>vIpre</b> Sets/gets dac for xxx for Mythen3. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
- <b>cassh</b> Sets/gets dac for the shaper's cascode voltage for Mythen3. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
*/
descrToFuncMap[i].m_pFuncName = "cassh";
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdDAC;
++i;
/*! \page settings
- <b>vIpre</b> Sets/gets dac for xxx for Mythen3. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
- <b>vicin</b> Sets/gets dac for the bias current for the comparator for Mythen3. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
*/
descrToFuncMap[i].m_pFuncName = "vicin";
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdDAC;
++i;
/*! \page settings
- <b>vIpre</b> Sets/gets dac for xxx for Mythen3. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
- <b>vipreout</b> Sets/gets dac for the preamplifier's output branch current for Mythen3. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
*/
descrToFuncMap[i].m_pFuncName = "vipreout";
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdDAC;
++i;
/*! \page settings
- <b>vIpre</b> Sets/gets dac for xxx for Mythen3. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
*/
descrToFuncMap[i].m_pFuncName = "vrfsh";
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdDAC;
++i;
/*! \page settings
- <b>vIpre</b> Sets/gets dac for xxx for Mythen3. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
*/
descrToFuncMap[i].m_pFuncName = "vrfshnpol";
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdDAC;
++i;
/*! \page settings
- <b>vref_h_adc</b> Sets/gets dac for reference voltage high of ADC for Gotthard2. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
*/
descrToFuncMap[i].m_pFuncName = "vref_h_adc";
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdDAC;
++i;
/*! \page settings
- <b>vb_comp_fe</b> Sets/gets dac for comparator current of analogue front end for Gotthard2. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
*/
descrToFuncMap[i].m_pFuncName = "vb_comp_fe";
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdDAC;
++i;
/*! \page settings
- <b>vb_comp_adc</b> Sets/gets dac for comparator current of ADC for Gotthard2. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
*/
descrToFuncMap[i].m_pFuncName = "vb_comp_adc";
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdDAC;
++i;
/*! \page settings
- <b>vcom_cds</b> Sets/gets dac for common mode voltage of CDS stage for Gotthard2. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
*/
descrToFuncMap[i].m_pFuncName = "vcom_cds";
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdDAC;
++i;
/*! \page settings
- <b>vref_restore</b> Sets/gets dac for reference charging voltage of temparory storage cell in high gain for Gotthard2. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
*/
descrToFuncMap[i].m_pFuncName = "vref_restore";
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdDAC;
++i;
/*! \page settings
- <b>vb_opa_1st</b> Sets/gets dac for opa current for driving the other DACs in chip for Gotthard2. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
*/
descrToFuncMap[i].m_pFuncName = "vb_opa_1st";
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdDAC;
++i;
/*! \page settings
- <b>vref_comp_fe</b> Sets/gets dac for reference voltage of the comparator of analogue front end for Gotthard2. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
*/
descrToFuncMap[i].m_pFuncName = "vref_comp_fe";
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdDAC;
++i;
/*! \page settings
- <b>vcom_adc1</b> Sets/gets dac for common mode voltage of ADC DAC bank 1 for Gotthard2. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
*/
descrToFuncMap[i].m_pFuncName = "vcom_adc1";
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdDAC;
++i;
/*! \page settings
- <b>vref_prech</b> Sets/gets dac for reference votlage for precharing the preamplifier for Gotthard2. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
*/
descrToFuncMap[i].m_pFuncName = "vref_prech";
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdDAC;
++i;
/*! \page settings
- <b>vref_l_adc</b> Sets/gets dac for reference voltage low for ADC for Gotthard2. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
*/
descrToFuncMap[i].m_pFuncName = "vref_l_adc";
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdDAC;
++i;
/*! \page settings
- <b>vref_cds</b> Sets/gets dac for reference voltage of CDS applied to the temporary storage cell in medium and low gain for Gotthard2. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
*/
descrToFuncMap[i].m_pFuncName = "vref_cds";
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdDAC;
++i;
/*! \page settings
- <b>vb_cs</b> Sets/gets dac for current injection into preamplifier for Gotthard2. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
*/
descrToFuncMap[i].m_pFuncName = "vb_cs";
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdDAC;
++i;
/*! \page settings
- <b>vb_opa_fd</b> Sets/gets dac for current for CDS opa stage for Gotthard2. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
*/
descrToFuncMap[i].m_pFuncName = "vb_opa_fd";
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdDAC;
++i;
/*! \page settings
- <b>vcom_adc2</b> Sets/gets dac for common mode voltage of ADC DAC bank 2 for Gotthard2. Normally in DAC units unless \c mv is specified at the end of the command line. \c Returns \c (int ["mV"])
*/
descrToFuncMap[i].m_pFuncName = "vcom_adc2";
descrToFuncMap[i].m_pFuncPtr = &slsDetectorCommand::cmdDAC;
++i;
/* r/w timers */
/*! \page settings
\section settingsadcs ADCs
@ -2056,7 +1943,6 @@ std::string slsDetectorCommand::executeLine(int narg, const char * const args[],
if (action == READOUT_ACTION)
return cmdAcquire(narg, args, action, detPos);
size_t s = std::string(args[0]).find(':');
std::string key = std::string(args[0]).substr(0, s); // truncate at :

View File

@ -297,8 +297,8 @@ format
#ifdef __cplusplus
struct xy {
int x{0};
int y{0};
int x;
int y;
};
#endif
/**