mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-06 01:50:40 +02:00
added commands to python
This commit is contained in:
parent
1e19b99a78
commit
7c4aa7f3a7
@ -17,7 +17,7 @@ e = ExperimentalDetector()
|
||||
|
||||
|
||||
|
||||
a = read_my302_file('/home/l_frojdh/Downloads/run_d0_5.raw', 104, 24)
|
||||
# a = read_my302_file('/home/l_frojdh/Downloads/run_d0_5.raw', 104, 24)
|
||||
# ncols = 192
|
||||
# start = 600
|
||||
# end = 1800
|
||||
|
@ -1355,6 +1355,38 @@ class Detector:
|
||||
self._api.configureNetworkParameters()
|
||||
|
||||
|
||||
#TODO! can we make this one function?
|
||||
@property
|
||||
def patnloop0(self):
|
||||
return self._api.getPatternLoops(0, -1)
|
||||
|
||||
@patnloop0.setter
|
||||
def patnloop0(self, n):
|
||||
self._api.setPatternLoops(0, -1, -1, n, -1)
|
||||
|
||||
@property
|
||||
def patnloop1(self):
|
||||
return self._api.getPatternLoops(1, -1)
|
||||
|
||||
@patnloop1.setter
|
||||
def patnloop1(self, n):
|
||||
self._api.setPatternLoops(1, -1, -1, n, -1)
|
||||
|
||||
@property
|
||||
def patnloop2(self):
|
||||
return self._api.getPatternLoops(2, -1)
|
||||
|
||||
@patnloop2.setter
|
||||
def patnloop2(self, n):
|
||||
self._api.setPatternLoops(2, -1, -1, n, -1)
|
||||
|
||||
def setPatternWord(self, addr, word, det_id = -1):
|
||||
self._api.setPatternWord(addr, word, det_id)
|
||||
|
||||
def setPatternLoops(self, level, start, stop, n, det_id=-1):
|
||||
self._api.setPatternLoops(level, start, stop, n, det_id)
|
||||
|
||||
|
||||
def free_shared_memory(multi_id=0):
|
||||
"""
|
||||
Function to free the shared memory but do not initialize with new
|
||||
|
@ -1,12 +1,12 @@
|
||||
#ifndef DETECTOR_H
|
||||
#define DETECTOR_H
|
||||
#include <array>
|
||||
#include <cstdint>
|
||||
#include <iostream>
|
||||
#include <stdexcept>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include <stdexcept>
|
||||
|
||||
#include "error_defs.h"
|
||||
#include "multiSlsDetector.h"
|
||||
#include "slsDetector.h"
|
||||
@ -244,6 +244,21 @@ class Detector {
|
||||
|
||||
std::vector<double> getRateCorrection();
|
||||
|
||||
|
||||
|
||||
void setPatternLoops(uint64_t level, uint64_t start, uint64_t stop,
|
||||
uint64_t n, int detPos) {
|
||||
det.setPatternLoops(level, start, stop, n, detPos);
|
||||
}
|
||||
|
||||
std::array<uint64_t, 3> getPatternLoops(uint64_t level, int detPos) {
|
||||
return det.getPatternLoops(level, detPos);
|
||||
}
|
||||
|
||||
void setPatternWord(int addr, uint64_t word, int detPos){
|
||||
det.setPatternWord(addr, word, detPos);
|
||||
}
|
||||
|
||||
bool getFlippedDataX(int i) {
|
||||
return det.getFlippedData(slsDetectorDefs::dimension::X, i);
|
||||
}
|
||||
|
@ -262,6 +262,10 @@ PYBIND11_MODULE(_sls_detector, m)
|
||||
.def("getTenGigabitEthernet", &Detector::getTenGigabitEthernet)
|
||||
.def("setTenGigabitEthernet", &Detector::setTenGigabitEthernet)
|
||||
|
||||
.def("getPatternLoops", &Detector::getPatternLoops)
|
||||
.def("setPatternLoops", &Detector::setPatternLoops)
|
||||
.def("setPatternWord", &Detector::setPatternWord)
|
||||
|
||||
.def("getImageSize", &Detector::getImageSize)
|
||||
.def("setImageSize", &Detector::setImageSize)
|
||||
.def("getNumberOfDetectors", &Detector::getNumberOfDetectors)
|
||||
@ -269,6 +273,7 @@ PYBIND11_MODULE(_sls_detector, m)
|
||||
|
||||
|
||||
|
||||
|
||||
//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");
|
||||
@ -283,6 +288,9 @@ py::class_<multiSlsDetector> multiDetectorApi(m, "multiDetectorApi");
|
||||
py::cpp_function(&multiSlsDetector::getDetectorNumber))
|
||||
.def("_getReceiverUDPIP", &multiSlsDetector::getReceiverUDPIP)
|
||||
.def("_setReceiverUDPIP", &multiSlsDetector::setReceiverUDPIP)
|
||||
.def("_getPatternLoops", &multiSlsDetector::getPatternLoops)
|
||||
.def("_setPatternLoops", &multiSlsDetector::setPatternLoops)
|
||||
.def("_setPatternWord", &multiSlsDetector::setPatternWord)
|
||||
;
|
||||
|
||||
py::module io = m.def_submodule("io", "Submodule for io");
|
||||
|
Loading…
x
Reference in New Issue
Block a user