mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-12 12:57:13 +02:00
more ctb commands
This commit is contained in:
@ -1381,25 +1381,136 @@ class Detector:
|
|||||||
def patnloop2(self, n):
|
def patnloop2(self, n):
|
||||||
self._api.setPatternLoops(2, -1, -1, n, -1)
|
self._api.setPatternLoops(2, -1, -1, n, -1)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def patloop0(self):
|
||||||
|
return self._api.getPatternLoops(0)[0:2]
|
||||||
|
|
||||||
|
@patloop0.setter
|
||||||
|
def patloop0(self, value):
|
||||||
|
start, stop = value
|
||||||
|
self._api.setPatternLoops(0, start, stop, -1)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def patloop1(self):
|
||||||
|
return self._api.getPatternLoops(1)[0:2]
|
||||||
|
|
||||||
|
@patloop1.setter
|
||||||
|
def patloop1(self, value):
|
||||||
|
start, stop = value
|
||||||
|
self._api.setPatternLoops(1, start, stop, -1)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def patloop2(self):
|
||||||
|
return self._api.getPatternLoops(2)[0:2]
|
||||||
|
|
||||||
|
@patloop2.setter
|
||||||
|
def patloop2(self, value):
|
||||||
|
start, stop = value
|
||||||
|
self._api.setPatternLoops(2, start, stop, -1)
|
||||||
|
|
||||||
def setPatternWord(self, addr, word, det_id = -1):
|
def setPatternWord(self, addr, word, det_id = -1):
|
||||||
self._api.setPatternWord(addr, word, det_id)
|
self._api.setPatternWord(addr, word, det_id)
|
||||||
|
|
||||||
def setPatternLoops(self, level, start, stop, n, det_id=-1):
|
def setPatternLoops(self, level, start, stop, n, det_id=-1):
|
||||||
self._api.setPatternLoops(level, start, stop, n, det_id)
|
self._api.setPatternLoops(level, start, stop, n, det_id)
|
||||||
|
|
||||||
|
def getPatternLoops(self, level):
|
||||||
|
return self._api.getPatternLoops(level)
|
||||||
|
|
||||||
|
def getPatternWaitAddr(self, level):
|
||||||
|
return self._api.getPatternWaitAddr(level)
|
||||||
|
|
||||||
|
def setPatternWaitAddr(self, level, addr):
|
||||||
|
self._api.setPatternWaitAddr(level, addr)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def patwait0(self):
|
||||||
|
return self._api.getPatternWaitAddr(0)
|
||||||
|
|
||||||
|
@patwait0.setter
|
||||||
|
def patwait0(self, addr):
|
||||||
|
self._api.setPatternWaitAddr(0, addr)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def patwait1(self):
|
||||||
|
return self._api.getPatternWaitAddr(1)
|
||||||
|
|
||||||
|
@patwait1.setter
|
||||||
|
def patwait1(self, addr):
|
||||||
|
self._api.setPatternWaitAddr(1, addr)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def patwait2(self):
|
||||||
|
return self._api.getPatternWaitAddr(0)
|
||||||
|
|
||||||
|
@patwait2.setter
|
||||||
|
def patwait2(self, addr):
|
||||||
|
self._api.setPatternWaitAddr(2, addr)
|
||||||
|
|
||||||
|
|
||||||
|
def setPatternWaitTime(self, level, duration):
|
||||||
|
self._api.setPatternWaitTime(level, duration)
|
||||||
|
|
||||||
|
def getPatternWaitTime(self, level):
|
||||||
|
return self._api.getPatternWaitTime(level)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def patwaittime0(self):
|
||||||
|
return self._api.getPatternWaitTime(0)
|
||||||
|
|
||||||
|
@patwaittime0.setter
|
||||||
|
def patwaittime0(self, duration):
|
||||||
|
self._api.setPatternWaitTime(0, duration)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def patwaittime1(self):
|
||||||
|
return self._api.getPatternWaitTime(1)
|
||||||
|
|
||||||
|
@patwaittime1.setter
|
||||||
|
def patwaittime1(self, duration):
|
||||||
|
self._api.setPatternWaitTime(1, duration)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def patwaittime2(self):
|
||||||
|
return self._api.getPatternWaitTime(2)
|
||||||
|
|
||||||
|
@patwaittime2.setter
|
||||||
|
def patwaittime2(self, duration):
|
||||||
|
self._api.setPatternWaitTime(2, duration)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def patioctrl(self):
|
def patioctrl(self):
|
||||||
self._api.setPatternWord(-1,-1,-1)
|
return self._api.getPatternWord(-1)
|
||||||
|
|
||||||
@patioctrl.setter
|
@patioctrl.setter
|
||||||
def patioctrl(self, word):
|
def patioctrl(self, word):
|
||||||
self._api.setPatternWord(-1, word, -1)
|
self._api.setPatternWord(-1, np.uint64(word))
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def patlimits(self):
|
def patlimits(self):
|
||||||
return self._api.getPatternLoops(np.uint64(-1),-1)[0:2]
|
return self._api.getPatternLoops(np.uint64(-1),-1)[0:2]
|
||||||
|
|
||||||
|
@patlimits.setter
|
||||||
|
def patlimits(self, value):
|
||||||
|
start, stop = value
|
||||||
|
self._api.setPatternLoops(-1, start, stop, -1)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def patword(self):
|
||||||
|
print('Can\'t read')
|
||||||
|
|
||||||
|
@patword.setter
|
||||||
|
def patword(self, value):
|
||||||
|
addr, word = value
|
||||||
|
self._api.setPatternWord(addr, word)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def patclkctrl(self):
|
||||||
|
return self._api.getPatternWord(-2)
|
||||||
|
|
||||||
|
@patclkctrl.setter
|
||||||
|
def patclkctrl(self, value):
|
||||||
|
self._api.setPatternWord(-2, value)
|
||||||
|
|
||||||
|
|
||||||
def free_shared_memory(multi_id=0):
|
def free_shared_memory(multi_id=0):
|
||||||
|
@ -258,6 +258,26 @@ class Detector {
|
|||||||
det.setPatternWord(addr, word, detPos);
|
det.setPatternWord(addr, word, detPos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint64_t getPatternWord(int addr, int detPos){
|
||||||
|
return det.setPatternWord(addr, -1, detPos);
|
||||||
|
}
|
||||||
|
|
||||||
|
void setPatternWaitAddr(int level, int addr, int detPos){
|
||||||
|
det.setPatternWaitAddr(level, addr, detPos);
|
||||||
|
}
|
||||||
|
|
||||||
|
int getPatternWaitAddr(int level, int detPos){
|
||||||
|
return det.setPatternWaitAddr(level, -1, detPos);
|
||||||
|
}
|
||||||
|
|
||||||
|
void setPatternWaitTime(int level, uint64_t duration, int detPos){
|
||||||
|
det.setPatternWaitTime(level, duration, detPos)
|
||||||
|
}
|
||||||
|
|
||||||
|
uint64_t getPatternWaitTime(int level, int detPos){
|
||||||
|
det.setPatternWaitTime(level, -1, detPos)
|
||||||
|
}
|
||||||
|
|
||||||
bool getFlippedDataX(int i) {
|
bool getFlippedDataX(int i) {
|
||||||
return det.getFlippedData(slsDetectorDefs::dimension::X, i);
|
return det.getFlippedData(slsDetectorDefs::dimension::X, i);
|
||||||
}
|
}
|
||||||
|
@ -272,9 +272,25 @@ PYBIND11_MODULE(_sls_detector, m) {
|
|||||||
.def("getTenGigabitEthernet", &Detector::getTenGigabitEthernet)
|
.def("getTenGigabitEthernet", &Detector::getTenGigabitEthernet)
|
||||||
.def("setTenGigabitEthernet", &Detector::setTenGigabitEthernet)
|
.def("setTenGigabitEthernet", &Detector::setTenGigabitEthernet)
|
||||||
|
|
||||||
.def("getPatternLoops", &Detector::getPatternLoops)
|
.def("getPatternLoops", &Detector::getPatternLoops, py::arg("level"),
|
||||||
.def("setPatternLoops", &Detector::setPatternLoops)
|
py::arg("det_id") = -1)
|
||||||
.def("setPatternWord", &Detector::setPatternWord, py::arg("addr"), py::arg("word"), py::arg("det_id") = -1 )
|
.def("setPatternLoops", &Detector::setPatternLoops, py::arg("level"),
|
||||||
|
py::arg("start"), py::arg("stop"), py::arg("n"),
|
||||||
|
py::arg("det_id") = -1)
|
||||||
|
.def("setPatternWord", &Detector::setPatternWord, py::arg("addr"),
|
||||||
|
py::arg("word"), py::arg("det_id") = -1)
|
||||||
|
.def("getPatternWord", &Detector::getPatternWord, py::arg("addr"),
|
||||||
|
py::arg("det_id") = -1)
|
||||||
|
|
||||||
|
.def("setPatternWaitAddr", &Detector::setPatternWaitAddr,
|
||||||
|
py::arg("level"), py::arg("addr"), py::arg("det_id") = -1)
|
||||||
|
.def("getPatternWaitAddr", &Detector::getPatternWaitAddr,
|
||||||
|
py::arg("level"), py::arg("det_id") = -1)
|
||||||
|
|
||||||
|
.def("setPatternWaitTime", &Detector::setPatternWaitTime,
|
||||||
|
py::arg("level"), py::arg("duration"), py::arg("det_id") = -1)
|
||||||
|
.def("getPatternWaitTime", &Detector::getPatternWaitTime,
|
||||||
|
py::arg("level"), py::arg("det_id") = -1)
|
||||||
|
|
||||||
.def("getImageSize", &Detector::getImageSize)
|
.def("getImageSize", &Detector::getImageSize)
|
||||||
.def("setImageSize", &Detector::setImageSize)
|
.def("setImageSize", &Detector::setImageSize)
|
||||||
|
@ -4516,9 +4516,6 @@ int slsDetector::setPatternLoops(uint64_t level, uint64_t start, uint64_t stop,
|
|||||||
sizeof(retvals));
|
sizeof(retvals));
|
||||||
FILE_LOG(logDEBUG1) << "Set Pat Loops: " << retvals[0] << ", "
|
FILE_LOG(logDEBUG1) << "Set Pat Loops: " << retvals[0] << ", "
|
||||||
<< retvals[1] << ", " << retvals[2];
|
<< retvals[1] << ", " << retvals[2];
|
||||||
assert(start == retvals[0]);
|
|
||||||
assert(stop == retvals[1]);
|
|
||||||
assert(n == retvals[2]);
|
|
||||||
}
|
}
|
||||||
if (ret == FORCE_UPDATE) {
|
if (ret == FORCE_UPDATE) {
|
||||||
updateDetector();
|
updateDetector();
|
||||||
|
Reference in New Issue
Block a user