mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-04 00:50:42 +02:00
python for datastream
This commit is contained in:
parent
d052efbd23
commit
a301e223e9
@ -8,6 +8,8 @@ speedLevel = slsDetectorDefs.speedLevel
|
||||
dacIndex = slsDetectorDefs.dacIndex
|
||||
detectorType = slsDetectorDefs.detectorType
|
||||
|
||||
defs = slsDetectorDefs
|
||||
|
||||
from .utils import element_if_equal, all_equal, get_set_bits, list_to_bitmask
|
||||
from .utils import Geometry, to_geo, element, reduce_time, is_iterable
|
||||
from _slsdet import xy
|
||||
@ -1787,10 +1789,25 @@ class Detector(CppDetectorApi):
|
||||
|
||||
"""
|
||||
|
||||
<<<-----------------------Eiger specific----------------------->>>
|
||||
<<<Eiger>>>
|
||||
|
||||
"""
|
||||
|
||||
@property
|
||||
def datastream(self):
|
||||
"""
|
||||
datastream [left|right] [0, 1]
|
||||
[Eiger] Enables or disables data streaming from left or/and right side of detector. 1 (enabled) by default.
|
||||
"""
|
||||
result = {}
|
||||
for port in [defs.LEFT, defs.RIGHT]:
|
||||
result[port] = element_if_equal(self.getDataStream(port))
|
||||
return result
|
||||
|
||||
@datastream.setter
|
||||
def datastream(self, value):
|
||||
ut.set_using_dict(self.setDataStream, *value)
|
||||
|
||||
@property
|
||||
@element
|
||||
def quad(self):
|
||||
|
@ -401,7 +401,9 @@ void init_det(py::module &m) {
|
||||
.def("startDetector", (void (Detector::*)()) & Detector::startDetector)
|
||||
.def("startDetectorReadout",
|
||||
(void (Detector::*)()) & Detector::startDetectorReadout)
|
||||
.def("stopDetector", (void (Detector::*)()) & Detector::stopDetector)
|
||||
.def("stopDetector",
|
||||
(void (Detector::*)(sls::Positions)) & Detector::stopDetector,
|
||||
py::arg() = Positions{})
|
||||
.def("getDetectorStatus",
|
||||
(Result<defs::runStatus>(Detector::*)(sls::Positions) const) &
|
||||
Detector::getDetectorStatus,
|
||||
@ -430,7 +432,7 @@ void init_det(py::module &m) {
|
||||
.def("sendSoftwareTrigger",
|
||||
(void (Detector::*)(const bool, sls::Positions)) &
|
||||
Detector::sendSoftwareTrigger,
|
||||
py::arg(), py::arg() = Positions{})
|
||||
py::arg() = false, py::arg() = Positions{})
|
||||
.def("getScan",
|
||||
(Result<defs::scanParameters>(Detector::*)(sls::Positions) const) &
|
||||
Detector::getScan,
|
||||
@ -911,6 +913,16 @@ void init_det(py::module &m) {
|
||||
py::arg() = Positions{})
|
||||
.def("setQuad", (void (Detector::*)(const bool)) & Detector::setQuad,
|
||||
py::arg())
|
||||
.def("getDataStream",
|
||||
(Result<bool>(Detector::*)(const defs::portPosition,
|
||||
sls::Positions) const) &
|
||||
Detector::getDataStream,
|
||||
py::arg(), py::arg() = Positions{})
|
||||
.def("setDataStream",
|
||||
(void (Detector::*)(const defs::portPosition, const bool,
|
||||
sls::Positions)) &
|
||||
Detector::setDataStream,
|
||||
py::arg(), py::arg(), py::arg() = Positions{})
|
||||
.def("getThresholdTemperature",
|
||||
(Result<int>(Detector::*)(sls::Positions) const) &
|
||||
Detector::getThresholdTemperature,
|
||||
|
@ -281,4 +281,11 @@ void init_enums(py::module &m) {
|
||||
.value("M3_C225ACsh", slsDetectorDefs::M3_GainCaps::M3_C225ACsh)
|
||||
.value("M3_C15pre", slsDetectorDefs::M3_GainCaps::M3_C15pre)
|
||||
.export_values();
|
||||
|
||||
py::enum_<slsDetectorDefs::portPosition>(Defs, "portPosition")
|
||||
.value("LEFT", slsDetectorDefs::portPosition::LEFT)
|
||||
.value("RIGHT", slsDetectorDefs::portPosition::RIGHT)
|
||||
.value("TOP", slsDetectorDefs::portPosition::TOP)
|
||||
.value("BOTTOM", slsDetectorDefs::portPosition::BOTTOM)
|
||||
.export_values();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user