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

This commit is contained in:
maliakal_d 2020-05-28 09:44:32 +02:00
commit 5ca987ecbb
8 changed files with 68 additions and 9 deletions

View File

@ -0,0 +1,27 @@
import pytest
import datetime as dt
@pytest.fixture
def jf():
from slsdet import Jungfrau
return Jungfrau()
def test_storagecells(jf):
for i in range(16):
jf.storagecells = i
assert jf.storagecells == i
jf.storagecells = 0 #default
def test_storagecell_start(jf):
for i in range(16):
jf.storagecell_start = i
assert jf.storagecell_start == i
jf.storagecells = 15 #default
def test_storagecell_delay(jf):
for t in [0.001, 0.0002, 0.0013]:
jf.storagecell_delay = t
assert jf.storagecell_delay == t
jf.storagecell_delay = 0 #default

View File

@ -748,6 +748,38 @@ class Detector(CppDetectorApi):
def storeinram(self, value):
self.setStoreInRamMode(value)
"""
Jungfrau specific
"""
@property
@element
def storagecells(self):
return self.getNumberOfAdditionalStorageCells()
@storagecells.setter
def storagecells(self, n_cells):
self.setNumberOfAdditionalStorageCells(n_cells)
@property
@element
def storagecell_start(self):
return self.getStorageCellStart()
@storagecell_start.setter
def storagecell_start(self, value):
self.setStorageCellStart(value)
@property
@element
def storagecell_delay(self):
return ut.reduce_time(self.getStorageCellDelay())
@storagecell_delay.setter
def storagecell_delay(self, t):
self.setStorageCellDelay(ut.make_timedelta(t))
"""
Gotthard2
"""

View File

@ -880,9 +880,9 @@ void init_det(py::module &m) {
(Result<int>(Detector::*)(sls::Positions) const) &
Detector::getStorageCellStart,
py::arg() = Positions{})
.def("setStoragecellStart",
.def("setStorageCellStart",
(void (Detector::*)(int, sls::Positions)) &
Detector::setStoragecellStart,
Detector::setStorageCellStart,
py::arg(), py::arg() = Positions{})
.def("getStorageCellDelay",
(Result<sls::ns>(Detector::*)(sls::Positions) const) &

View File

@ -884,7 +884,7 @@ class Detector {
/** [Jungfrau] Advanced. Sets the storage cell storing the first acquisition
* of the series. Options: 0-15
*/
void setStoragecellStart(int cell, Positions pos = {});
void setStorageCellStart(int cell, Positions pos = {});
/** [Jungfrau] Advanced*/
Result<ns> getStorageCellDelay(Positions pos = {}) const;

View File

@ -1844,7 +1844,7 @@ class CmdProxy {
"(#storagecells + 1).");
INTEGER_COMMAND(
storagecell_start, getStorageCellStart, setStoragecellStart,
storagecell_start, getStorageCellStart, setStorageCellStart,
StringTo<int>,
"[0-15]\n\t[Jungfrau] Storage cell that stores the first acquisition "
"of the series. Default is 15. For advanced users only.");

View File

@ -1132,11 +1132,11 @@ void Detector::setNumberOfAdditionalStorageCells(int value) {
}
Result<int> Detector::getStorageCellStart(Positions pos) const {
return pimpl->Parallel(&Module::setStoragecellStart, pos, -1);
return pimpl->Parallel(&Module::setStorageCellStart, pos, -1);
}
void Detector::setStoragecellStart(int cell, Positions pos) {
pimpl->Parallel(&Module::setStoragecellStart, pos, cell);
void Detector::setStorageCellStart(int cell, Positions pos) {
pimpl->Parallel(&Module::setStorageCellStart, pos, cell);
}
Result<ns> Detector::getStorageCellDelay(Positions pos) const {

View File

@ -2355,7 +2355,7 @@ int Module::setTemperatureEvent(int val) {
return retval;
}
int Module::setStoragecellStart(int pos) {
int Module::setStorageCellStart(int pos) {
return sendToDetector<int>(F_STORAGE_CELL_START, pos);
}

View File

@ -1200,7 +1200,7 @@ class Module : public virtual slsDetectorDefs {
* @param value storage cell index. Value can be 0 to 15. (-1 gets)
* @returns the storage cell that stores the first acquisition of the series
*/
int setStoragecellStart(int pos = -1);
int setStorageCellStart(int pos = -1);
/**
* [Jungfau][Ctb] Programs FPGA with raw file from pof file