mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-07 02:20: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
|
dacIndex = slsDetectorDefs.dacIndex
|
||||||
detectorType = slsDetectorDefs.detectorType
|
detectorType = slsDetectorDefs.detectorType
|
||||||
|
|
||||||
|
defs = slsDetectorDefs
|
||||||
|
|
||||||
from .utils import element_if_equal, all_equal, get_set_bits, list_to_bitmask
|
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 .utils import Geometry, to_geo, element, reduce_time, is_iterable
|
||||||
from _slsdet import xy
|
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
|
@property
|
||||||
@element
|
@element
|
||||||
def quad(self):
|
def quad(self):
|
||||||
|
@ -401,7 +401,9 @@ void init_det(py::module &m) {
|
|||||||
.def("startDetector", (void (Detector::*)()) & Detector::startDetector)
|
.def("startDetector", (void (Detector::*)()) & Detector::startDetector)
|
||||||
.def("startDetectorReadout",
|
.def("startDetectorReadout",
|
||||||
(void (Detector::*)()) & Detector::startDetectorReadout)
|
(void (Detector::*)()) & Detector::startDetectorReadout)
|
||||||
.def("stopDetector", (void (Detector::*)()) & Detector::stopDetector)
|
.def("stopDetector",
|
||||||
|
(void (Detector::*)(sls::Positions)) & Detector::stopDetector,
|
||||||
|
py::arg() = Positions{})
|
||||||
.def("getDetectorStatus",
|
.def("getDetectorStatus",
|
||||||
(Result<defs::runStatus>(Detector::*)(sls::Positions) const) &
|
(Result<defs::runStatus>(Detector::*)(sls::Positions) const) &
|
||||||
Detector::getDetectorStatus,
|
Detector::getDetectorStatus,
|
||||||
@ -430,7 +432,7 @@ void init_det(py::module &m) {
|
|||||||
.def("sendSoftwareTrigger",
|
.def("sendSoftwareTrigger",
|
||||||
(void (Detector::*)(const bool, sls::Positions)) &
|
(void (Detector::*)(const bool, sls::Positions)) &
|
||||||
Detector::sendSoftwareTrigger,
|
Detector::sendSoftwareTrigger,
|
||||||
py::arg(), py::arg() = Positions{})
|
py::arg() = false, py::arg() = Positions{})
|
||||||
.def("getScan",
|
.def("getScan",
|
||||||
(Result<defs::scanParameters>(Detector::*)(sls::Positions) const) &
|
(Result<defs::scanParameters>(Detector::*)(sls::Positions) const) &
|
||||||
Detector::getScan,
|
Detector::getScan,
|
||||||
@ -911,6 +913,16 @@ void init_det(py::module &m) {
|
|||||||
py::arg() = Positions{})
|
py::arg() = Positions{})
|
||||||
.def("setQuad", (void (Detector::*)(const bool)) & Detector::setQuad,
|
.def("setQuad", (void (Detector::*)(const bool)) & Detector::setQuad,
|
||||||
py::arg())
|
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",
|
.def("getThresholdTemperature",
|
||||||
(Result<int>(Detector::*)(sls::Positions) const) &
|
(Result<int>(Detector::*)(sls::Positions) const) &
|
||||||
Detector::getThresholdTemperature,
|
Detector::getThresholdTemperature,
|
||||||
|
@ -281,4 +281,11 @@ void init_enums(py::module &m) {
|
|||||||
.value("M3_C225ACsh", slsDetectorDefs::M3_GainCaps::M3_C225ACsh)
|
.value("M3_C225ACsh", slsDetectorDefs::M3_GainCaps::M3_C225ACsh)
|
||||||
.value("M3_C15pre", slsDetectorDefs::M3_GainCaps::M3_C15pre)
|
.value("M3_C15pre", slsDetectorDefs::M3_GainCaps::M3_C15pre)
|
||||||
.export_values();
|
.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