Hacky implementation

This commit is contained in:
Erik Frojdh
2022-03-22 16:45:02 +01:00
parent 74d55db3f0
commit 2823451c9d
6 changed files with 108 additions and 8 deletions

View File

@ -59,7 +59,10 @@ class DetectorDacs:
def __getattr__(self, name):
return self.__getattribute__('_' + name)
@property
def dacnames(self):
return [_d[0] for _d in _dacs]
def __setattr__(self, name, value):
if name in self._dacnames:
return self.__getattribute__('_' + name).__setitem__(slice(None, None, None), value)

View File

@ -1427,6 +1427,20 @@ void init_det(py::module &m) {
(void (Detector::*)(bool, sls::Positions)) &
Detector::setLEDEnable,
py::arg(), py::arg() = Positions{})
.def("setDacNames",
(void (Detector::*)(const std::vector<std::string>)) &
Detector::setDacNames,
py::arg())
.def("getDacNames", (std::vector<std::string>(Detector::*)() const) &
Detector::getDacNames)
.def("decodeNamedDac",
(defs::dacIndex(Detector::*)(const std::string &)) &
Detector::decodeNamedDac,
py::arg())
.def("decodeNamedDac",
(std::string(Detector::*)(defs::dacIndex)) &
Detector::decodeNamedDac,
py::arg())
.def("setPattern",
(void (Detector::*)(const std::string &, sls::Positions)) &
Detector::setPattern,