mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-12-27 22:51:19 +01:00
conflict merge fix
This commit is contained in:
@@ -12,7 +12,7 @@ import subprocess
|
||||
from parse import remove_comments
|
||||
|
||||
allow_bitwise_op = ["M3_GainCaps"]
|
||||
allow_bitwise_op = ["EthernetInterface"]
|
||||
allow_bitwise_op = ["ethernetInterface"]
|
||||
|
||||
op_key = {"operator|": "__or__",
|
||||
"operator&" : "__and__"}
|
||||
@@ -23,7 +23,7 @@ def single_line_enum(line):
|
||||
|
||||
def extract_enums(lines):
|
||||
|
||||
# deal with enum class EthernetInterface : int32_t
|
||||
# deal with enum class ethernetInterface : int32_t
|
||||
# and normal enum burstMode {
|
||||
|
||||
line_iter = iter(lines)
|
||||
@@ -90,7 +90,7 @@ def generate_enum_string(enums):
|
||||
|
||||
#Here add the operators
|
||||
for op in operators:
|
||||
data.append(f"\n\t.def(\"{op_key[op]}\", py::overload_cast< const slsDetectorDefs::EthernetInterface&, const slsDetectorDefs::EthernetInterface&>(&{op}))")
|
||||
data.append(f"\n\t.def(\"{op_key[op]}\", py::overload_cast< const slsDetectorDefs::ethernetInterface&, const slsDetectorDefs::ethernetInterface&>(&{op}))")
|
||||
|
||||
|
||||
data.append(';\n\n')
|
||||
|
||||
@@ -7,6 +7,7 @@ timingMode = slsDetectorDefs.timingMode
|
||||
speedLevel = slsDetectorDefs.speedLevel
|
||||
dacIndex = slsDetectorDefs.dacIndex
|
||||
detectorType = slsDetectorDefs.detectorType
|
||||
ethernetInterface = slsDetectorDefs.ethernetInterface
|
||||
|
||||
defs = slsDetectorDefs
|
||||
|
||||
@@ -2352,6 +2353,13 @@ class Detector(CppDetectorApi):
|
||||
@property
|
||||
@element
|
||||
def vetostream(self):
|
||||
"""[Gotthard2] Enabling/ disabling veto interface
|
||||
Note
|
||||
----
|
||||
Default: both off
|
||||
Options: NONE, I3GBE, 10GBE (debugging)
|
||||
Debugging interface also enables second interface in receiver (separate file), which also restarts zmq streaming if enabled.
|
||||
"""
|
||||
return self.getVetoStream()
|
||||
|
||||
@vetostream.setter
|
||||
@@ -2360,6 +2368,25 @@ class Detector(CppDetectorApi):
|
||||
args = (args,)
|
||||
ut.set_using_dict(self.setVetoStream, *args)
|
||||
|
||||
@property
|
||||
def vetoalg(self):
|
||||
"""[Gotthard2] Algorithm used for veto
|
||||
Example
|
||||
----------
|
||||
>>> d.vetoalg = defs.DEFAULT_ALGORITHM, defs.I10GBE
|
||||
"""
|
||||
result = {}
|
||||
interface = [ethernetInterface.I3GBE, ethernetInterface.I10GBE]
|
||||
for eth in interface:
|
||||
result[eth] = element_if_equal(self.getVetoAlgorithm(eth))
|
||||
return result
|
||||
|
||||
|
||||
@vetoalg.setter
|
||||
def vetoalg(self, args):
|
||||
if not isinstance(args, tuple):
|
||||
args = (args,)
|
||||
ut.set_using_dict(self.setVetoAlgorithm, *args)
|
||||
|
||||
"""
|
||||
Mythen3 specific
|
||||
|
||||
@@ -1087,15 +1087,26 @@ void init_det(py::module &m) {
|
||||
Detector::setVeto,
|
||||
py::arg(), py::arg() = Positions{})
|
||||
.def("getVetoStream",
|
||||
(Result<defs::EthernetInterface>(Detector::*)(sls::Positions)
|
||||
(Result<defs::ethernetInterface>(Detector::*)(sls::Positions)
|
||||
const) &
|
||||
Detector::getVetoStream,
|
||||
py::arg() = Positions{})
|
||||
.def("setVetoStream",
|
||||
(void (Detector::*)(const defs::EthernetInterface,
|
||||
(void (Detector::*)(const defs::ethernetInterface,
|
||||
sls::Positions)) &
|
||||
Detector::setVetoStream,
|
||||
py::arg(), py::arg() = Positions{})
|
||||
.def("getVetoAlgorithm",
|
||||
(Result<defs::vetoAlgorithm>(Detector::*)(
|
||||
const defs::ethernetInterface, sls::Positions) const) &
|
||||
Detector::getVetoAlgorithm,
|
||||
py::arg(), py::arg() = Positions{})
|
||||
.def("setVetoAlgorithm",
|
||||
(void (Detector::*)(const defs::vetoAlgorithm,
|
||||
const defs::ethernetInterface,
|
||||
sls::Positions)) &
|
||||
Detector::setVetoAlgorithm,
|
||||
py::arg(), py::arg(), py::arg() = Positions{})
|
||||
.def("getADCConfiguration",
|
||||
(Result<int>(Detector::*)(const int, const int, sls::Positions)
|
||||
const) &
|
||||
|
||||
@@ -289,19 +289,24 @@ void init_enums(py::module &m) {
|
||||
.value("BOTTOM", slsDetectorDefs::portPosition::BOTTOM)
|
||||
.export_values();
|
||||
|
||||
py::enum_<slsDetectorDefs::EthernetInterface>(Defs, "EthernetInterface",
|
||||
py::enum_<slsDetectorDefs::ethernetInterface>(Defs, "ethernetInterface",
|
||||
py::arithmetic())
|
||||
.value("NONE", slsDetectorDefs::EthernetInterface::NONE)
|
||||
.value("I3GBE", slsDetectorDefs::EthernetInterface::I3GBE)
|
||||
.value("I10GBE", slsDetectorDefs::EthernetInterface::I10GBE)
|
||||
.value("ALL", slsDetectorDefs::EthernetInterface::ALL)
|
||||
.value("NONE", slsDetectorDefs::ethernetInterface::NONE)
|
||||
.value("I3GBE", slsDetectorDefs::ethernetInterface::I3GBE)
|
||||
.value("I10GBE", slsDetectorDefs::ethernetInterface::I10GBE)
|
||||
.value("ALL", slsDetectorDefs::ethernetInterface::ALL)
|
||||
.export_values()
|
||||
.def("__or__",
|
||||
py::overload_cast<const slsDetectorDefs::EthernetInterface &,
|
||||
const slsDetectorDefs::EthernetInterface &>(
|
||||
py::overload_cast<const slsDetectorDefs::ethernetInterface &,
|
||||
const slsDetectorDefs::ethernetInterface &>(
|
||||
&operator|))
|
||||
.def("__and__",
|
||||
py::overload_cast<const slsDetectorDefs::EthernetInterface &,
|
||||
const slsDetectorDefs::EthernetInterface &>(
|
||||
py::overload_cast<const slsDetectorDefs::ethernetInterface &,
|
||||
const slsDetectorDefs::ethernetInterface &>(
|
||||
&operator&));
|
||||
|
||||
py::enum_<slsDetectorDefs::vetoAlgorithm>(Defs, "vetoAlgorithm")
|
||||
.value("DEFAULT_ALGORITHM",
|
||||
slsDetectorDefs::vetoAlgorithm::DEFAULT_ALGORITHM)
|
||||
.export_values();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user