Merge branch 'developer' of github.com:slsdetectorgroup/slsDetectorPackage into developer

This commit is contained in:
maliakal_d 2019-04-18 17:18:14 +02:00
commit 21cab38921
3 changed files with 28 additions and 12 deletions

View File

@ -1480,15 +1480,15 @@ class Detector:
@property
def patioctrl(self):
return self._api.getPatternWord(-1)
return self._api.setPatternIOControl(np.uint64(-1))
@patioctrl.setter
def patioctrl(self, word):
self._api.setPatternWord(-1, np.uint64(word))
self._api.setPatternIOControl(np.uint64(word))
@property
def patlimits(self):
return self._api.getPatternLoops(np.uint64(-1),-1)[0:2]
return self._api.getPatternLoops(-1,-1)[0:2]
@patlimits.setter
def patlimits(self, value):
@ -1506,11 +1506,11 @@ class Detector:
@property
def patclkctrl(self):
return self._api.getPatternWord(-2)
return self._api.setPatternClockControl(np.uint64(-1))
@patclkctrl.setter
def patclkctrl(self, value):
self._api.setPatternWord(-2, value)
self._api.setPatternClockControl(value)
def free_shared_memory(multi_id=0):

View File

@ -250,7 +250,7 @@ class Detector {
}
std::array<uint64_t, 3> getPatternLoops(uint64_t level, int detPos) {
std::array<int, 3> getPatternLoops(int level, int detPos) {
return det.getPatternLoops(level, detPos);
}
@ -262,6 +262,14 @@ class Detector {
return det.setPatternWord(addr, -1, detPos);
}
uint64_t setPatternIOControl(uint64_t word, int detPos){
return det.setPatternIOControl(word, detPos);
}
uint64_t setPatternClockControl(uint64_t word, int detPos){
return det.setPatternClockControl(word, detPos);
}
void setPatternWaitAddr(int level, int addr, int detPos){
det.setPatternWaitAddr(level, addr, detPos);
}

View File

@ -284,6 +284,9 @@ PYBIND11_MODULE(_sls_detector, m) {
.def("getPatternWord", &Detector::getPatternWord, py::arg("addr"),
py::arg("det_id") = -1)
.def("setPatternIOControl", &Detector::setPatternIOControl, py::arg("word"), py::arg("det_id") = -1)
.def("setPatternClockControl", &Detector::setPatternClockControl, py::arg("word"), py::arg("det_id") = -1)
.def("setPatternWaitAddr", &Detector::setPatternWaitAddr,
py::arg("level"), py::arg("addr"), py::arg("det_id") = -1)
.def("getPatternWaitAddr", &Detector::getPatternWaitAddr,
@ -300,6 +303,8 @@ PYBIND11_MODULE(_sls_detector, m) {
.def("getNumberOfDetectors", &Detector::getNumberOfDetectors)
.def("getDetectorGeometry", &Detector::getDetectorGeometry);
// Experimental API to use the multi directly and inherit from to reduce
// code duplication need to investigate how to handle documentation
py::class_<multiSlsDetector> multiDetectorApi(m, "multiDetectorApi");
@ -307,10 +312,12 @@ PYBIND11_MODULE(_sls_detector, m) {
.def("acquire", &multiSlsDetector::acquire)
.def_property("online",
py::cpp_function(&multiSlsDetector::setOnline, py::arg(), py::arg()=-1, py::arg("det_id")=-1),
py::cpp_function(&multiSlsDetector::setOnline, py::arg(), py::arg("flag"), py::arg("det_id")=-1)
)
// .def("_setOnline", &multiSlsDetector::setOnline, py::arg("flag") = -1,
py::cpp_function(&multiSlsDetector::setOnline, py::arg(),
py::arg() = -1, py::arg("det_id") = -1),
py::cpp_function(&multiSlsDetector::setOnline, py::arg(),
py::arg("flag"), py::arg("det_id") = -1))
// .def("_setOnline", &multiSlsDetector::setOnline, py::arg("flag") =
// -1,
// py::arg("det_id") = -1)
.def_property_readonly(
@ -328,7 +335,8 @@ PYBIND11_MODULE(_sls_detector, m) {
py::cpp_function(&multiSlsDetector::getReceiverUDPIP,
py::arg(), py::arg("det_id") = -1),
py::cpp_function(&multiSlsDetector::setReceiverUDPIP,
py::arg(), py::arg("ip"), py::arg("det_id") = -1) )
py::arg(), py::arg("ip"),
py::arg("det_id") = -1))
.def("_getReceiverUDPIP", &multiSlsDetector::getReceiverUDPIP)
.def("_setReceiverUDPIP", &multiSlsDetector::setReceiverUDPIP)
.def("getPatternLoops", &multiSlsDetector::getPatternLoops,