mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-21 11:20:04 +02:00
merge fix
This commit is contained in:
commit
bb1ad0c905
@ -160,6 +160,10 @@ This document describes the differences between 6.0.0 and 5.2.0 releases.
|
|||||||
Command line: datastream, API: getDataStream/ setDataStream
|
Command line: datastream, API: getDataStream/ setDataStream
|
||||||
Enable or disable each port. Default: enabled
|
Enable or disable each port. Default: enabled
|
||||||
|
|
||||||
|
25. Changing TCP ports
|
||||||
|
This will only affect shared memory and will not try to change the
|
||||||
|
current tcp port of the control/stop server in detector.
|
||||||
|
|
||||||
Detector servers
|
Detector servers
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
@ -186,6 +190,9 @@ This document describes the differences between 6.0.0 and 5.2.0 releases.
|
|||||||
|
|
||||||
2. Removed Padding option for Deactivated half modules.
|
2. Removed Padding option for Deactivated half modules.
|
||||||
|
|
||||||
|
3. Changing Receiver TCP ports
|
||||||
|
This will only affect shared memory and will not try to change the
|
||||||
|
current tcp port of the receiver.
|
||||||
|
|
||||||
Gui
|
Gui
|
||||||
----
|
----
|
||||||
|
@ -6,6 +6,7 @@ pybind11_add_module(_slsdet
|
|||||||
src/network.cpp
|
src/network.cpp
|
||||||
src/pattern.cpp
|
src/pattern.cpp
|
||||||
src/scan.cpp
|
src/scan.cpp
|
||||||
|
src/current.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(_slsdet PUBLIC
|
target_link_libraries(_slsdet PUBLIC
|
||||||
|
11
python/examples/use_currentsource.py
Normal file
11
python/examples/use_currentsource.py
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
from slsdet import Detector, currentSrcParameters
|
||||||
|
|
||||||
|
s = currentSrcParameters()
|
||||||
|
s.enable_ = 1
|
||||||
|
s.fix_= 1
|
||||||
|
s.normal_ = 1
|
||||||
|
s.select_ = 10
|
||||||
|
|
||||||
|
|
||||||
|
d = Detector()
|
||||||
|
d.currentsource = s
|
@ -15,5 +15,7 @@ sp.dacSettleTime_ns = int(1e9)
|
|||||||
d = Mythen3()
|
d = Mythen3()
|
||||||
d.setScan(sp)
|
d.setScan(sp)
|
||||||
|
|
||||||
|
#or d.scan = sp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -21,3 +21,4 @@ from .enums import *
|
|||||||
IpAddr = _slsdet.IpAddr
|
IpAddr = _slsdet.IpAddr
|
||||||
MacAddr = _slsdet.MacAddr
|
MacAddr = _slsdet.MacAddr
|
||||||
scanParameters = _slsdet.scanParameters
|
scanParameters = _slsdet.scanParameters
|
||||||
|
currentSrcParameters = _slsdet.currentSrcParameters
|
@ -362,6 +362,21 @@ class Detector(CppDetectorApi):
|
|||||||
"""
|
"""
|
||||||
return self.getNumberOfFramesFromStart()
|
return self.getNumberOfFramesFromStart()
|
||||||
|
|
||||||
|
|
||||||
|
@property
|
||||||
|
@element
|
||||||
|
def scan(self):
|
||||||
|
"""
|
||||||
|
Pass in a scanParameters object
|
||||||
|
see python/examples/use_scan.py
|
||||||
|
|
||||||
|
"""
|
||||||
|
return self.getScan()
|
||||||
|
|
||||||
|
@scan.setter
|
||||||
|
def scan(self, s):
|
||||||
|
ut.set_using_dict(self.setScan, s)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@element
|
@element
|
||||||
def powerchip(self):
|
def powerchip(self):
|
||||||
@ -1991,7 +2006,7 @@ class Detector(CppDetectorApi):
|
|||||||
return ut.reduce_time(self.getMeasuredSubFramePeriod())
|
return ut.reduce_time(self.getMeasuredSubFramePeriod())
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Jungfrau specific
|
------------------<<<Jungfrau specific>>>-------------------------
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@ -2212,6 +2227,20 @@ class Detector(CppDetectorApi):
|
|||||||
def gainmode(self, value):
|
def gainmode(self, value):
|
||||||
self.setGainMode(value)
|
self.setGainMode(value)
|
||||||
|
|
||||||
|
@property
|
||||||
|
@element
|
||||||
|
def currentsource(self):
|
||||||
|
"""
|
||||||
|
Pass in a currentSrcParameters object
|
||||||
|
see python/examples/use_currentsource.py
|
||||||
|
|
||||||
|
"""
|
||||||
|
return self.getCurrentSource()
|
||||||
|
|
||||||
|
@currentsource.setter
|
||||||
|
def currentsource(self, cs):
|
||||||
|
ut.set_using_dict(self.setCurrentSource, cs)
|
||||||
|
|
||||||
"""
|
"""
|
||||||
---------------------------<<<Gotthard2 specific>>>---------------------------
|
---------------------------<<<Gotthard2 specific>>>---------------------------
|
||||||
"""
|
"""
|
||||||
|
26
python/src/current.cpp
Normal file
26
python/src/current.cpp
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
#include <pybind11/chrono.h>
|
||||||
|
#include <pybind11/numpy.h>
|
||||||
|
#include <pybind11/operators.h>
|
||||||
|
#include <pybind11/pybind11.h>
|
||||||
|
#include <pybind11/stl.h>
|
||||||
|
|
||||||
|
// #include "sls/Pattern.h"
|
||||||
|
#include "sls/ToString.h"
|
||||||
|
#include "sls/sls_detector_defs.h"
|
||||||
|
|
||||||
|
namespace py = pybind11;
|
||||||
|
void init_source(py::module &m) {
|
||||||
|
|
||||||
|
using src = slsDetectorDefs::currentSrcParameters;
|
||||||
|
py::class_<src> currentSrcParameters(m, "currentSrcParameters");
|
||||||
|
|
||||||
|
currentSrcParameters.def(py::init());
|
||||||
|
currentSrcParameters.def_readwrite("enable_", &src::enable_);
|
||||||
|
currentSrcParameters.def_readwrite("fix_", &src::fix_);
|
||||||
|
currentSrcParameters.def_readwrite("normal_", &src::normal_);
|
||||||
|
currentSrcParameters.def_readwrite("select_", &src::select_);
|
||||||
|
currentSrcParameters.def(pybind11::self == pybind11::self);
|
||||||
|
|
||||||
|
currentSrcParameters.def("__repr__",
|
||||||
|
[](const src &a) { return sls::ToString(a); });
|
||||||
|
}
|
@ -160,6 +160,13 @@ void init_det(py::module &m) {
|
|||||||
(void (Detector::*)(const bool)) &
|
(void (Detector::*)(const bool)) &
|
||||||
Detector::setGapPixelsinCallback,
|
Detector::setGapPixelsinCallback,
|
||||||
py::arg())
|
py::arg())
|
||||||
|
.def("getFlipRows",
|
||||||
|
(Result<bool>(Detector::*)(sls::Positions) const) &
|
||||||
|
Detector::getFlipRows,
|
||||||
|
py::arg() = Positions{})
|
||||||
|
.def("setFlipRows",
|
||||||
|
(void (Detector::*)(bool, sls::Positions)) & Detector::setFlipRows,
|
||||||
|
py::arg(), py::arg() = Positions{})
|
||||||
.def("isVirtualDetectorServer",
|
.def("isVirtualDetectorServer",
|
||||||
(Result<bool>(Detector::*)(sls::Positions) const) &
|
(Result<bool>(Detector::*)(sls::Positions) const) &
|
||||||
Detector::isVirtualDetectorServer,
|
Detector::isVirtualDetectorServer,
|
||||||
@ -416,6 +423,39 @@ void init_det(py::module &m) {
|
|||||||
(void (Detector::*)(bool, sls::Positions)) &
|
(void (Detector::*)(bool, sls::Positions)) &
|
||||||
Detector::setParallelMode,
|
Detector::setParallelMode,
|
||||||
py::arg(), py::arg() = Positions{})
|
py::arg(), py::arg() = Positions{})
|
||||||
|
.def("getFilterResistor",
|
||||||
|
(Result<int>(Detector::*)(sls::Positions) const) &
|
||||||
|
Detector::getFilterResistor,
|
||||||
|
py::arg() = Positions{})
|
||||||
|
.def("setFilterResistor",
|
||||||
|
(void (Detector::*)(int, sls::Positions)) &
|
||||||
|
Detector::setFilterResistor,
|
||||||
|
py::arg(), py::arg() = Positions{})
|
||||||
|
.def("getCurrentSource",
|
||||||
|
(Result<defs::currentSrcParameters>(Detector::*)(sls::Positions)
|
||||||
|
const) &
|
||||||
|
Detector::getCurrentSource,
|
||||||
|
py::arg() = Positions{})
|
||||||
|
.def("setCurrentSource",
|
||||||
|
(void (Detector::*)(defs::currentSrcParameters, sls::Positions)) &
|
||||||
|
Detector::setCurrentSource,
|
||||||
|
py::arg(), py::arg() = Positions{})
|
||||||
|
.def("getDBITPipeline",
|
||||||
|
(Result<int>(Detector::*)(sls::Positions) const) &
|
||||||
|
Detector::getDBITPipeline,
|
||||||
|
py::arg() = Positions{})
|
||||||
|
.def("setDBITPipeline",
|
||||||
|
(void (Detector::*)(int, sls::Positions)) &
|
||||||
|
Detector::setDBITPipeline,
|
||||||
|
py::arg(), py::arg() = Positions{})
|
||||||
|
.def("getReadNRows",
|
||||||
|
(Result<int>(Detector::*)(sls::Positions) const) &
|
||||||
|
Detector::getReadNRows,
|
||||||
|
py::arg() = Positions{})
|
||||||
|
.def("setReadNRows",
|
||||||
|
(void (Detector::*)(const int, sls::Positions)) &
|
||||||
|
Detector::setReadNRows,
|
||||||
|
py::arg(), py::arg() = Positions{})
|
||||||
.def("acquire", (void (Detector::*)()) & Detector::acquire)
|
.def("acquire", (void (Detector::*)()) & Detector::acquire)
|
||||||
.def("clearAcquiringFlag",
|
.def("clearAcquiringFlag",
|
||||||
(void (Detector::*)()) & Detector::clearAcquiringFlag)
|
(void (Detector::*)()) & Detector::clearAcquiringFlag)
|
||||||
@ -516,6 +556,31 @@ void init_det(py::module &m) {
|
|||||||
(void (Detector::*)(const sls::MacAddr, sls::Positions)) &
|
(void (Detector::*)(const sls::MacAddr, sls::Positions)) &
|
||||||
Detector::setSourceUDPMAC2,
|
Detector::setSourceUDPMAC2,
|
||||||
py::arg(), py::arg() = Positions{})
|
py::arg(), py::arg() = Positions{})
|
||||||
|
.def("getDestinationUDPList",
|
||||||
|
(Result<sls::UdpDestination>(Detector::*)(const uint32_t,
|
||||||
|
sls::Positions) const) &
|
||||||
|
Detector::getDestinationUDPList,
|
||||||
|
py::arg(), py::arg() = Positions{})
|
||||||
|
.def("setDestinationUDPList",
|
||||||
|
(void (Detector::*)(const sls::UdpDestination, const int)) &
|
||||||
|
Detector::setDestinationUDPList,
|
||||||
|
py::arg(), py::arg())
|
||||||
|
.def("getNumberofUDPDestinations",
|
||||||
|
(Result<int>(Detector::*)(sls::Positions) const) &
|
||||||
|
Detector::getNumberofUDPDestinations,
|
||||||
|
py::arg() = Positions{})
|
||||||
|
.def("clearUDPDestinations",
|
||||||
|
(void (Detector::*)(sls::Positions)) &
|
||||||
|
Detector::clearUDPDestinations,
|
||||||
|
py::arg() = Positions{})
|
||||||
|
.def("getFirstUDPDestination",
|
||||||
|
(Result<int>(Detector::*)(sls::Positions) const) &
|
||||||
|
Detector::getFirstUDPDestination,
|
||||||
|
py::arg() = Positions{})
|
||||||
|
.def("setFirstUDPDestination",
|
||||||
|
(void (Detector::*)(const int, sls::Positions)) &
|
||||||
|
Detector::setFirstUDPDestination,
|
||||||
|
py::arg(), py::arg() = Positions{})
|
||||||
.def("getDestinationUDPIP",
|
.def("getDestinationUDPIP",
|
||||||
(Result<sls::IpAddr>(Detector::*)(sls::Positions) const) &
|
(Result<sls::IpAddr>(Detector::*)(sls::Positions) const) &
|
||||||
Detector::getDestinationUDPIP,
|
Detector::getDestinationUDPIP,
|
||||||
@ -852,13 +917,6 @@ void init_det(py::module &m) {
|
|||||||
(void (Detector::*)(bool, sls::Positions)) &
|
(void (Detector::*)(bool, sls::Positions)) &
|
||||||
Detector::setOverFlowMode,
|
Detector::setOverFlowMode,
|
||||||
py::arg(), py::arg() = Positions{})
|
py::arg(), py::arg() = Positions{})
|
||||||
.def("getFlipRows",
|
|
||||||
(Result<bool>(Detector::*)(sls::Positions) const) &
|
|
||||||
Detector::getFlipRows,
|
|
||||||
py::arg() = Positions{})
|
|
||||||
.def("setFlipRows",
|
|
||||||
(void (Detector::*)(bool, sls::Positions)) & Detector::setFlipRows,
|
|
||||||
py::arg(), py::arg() = Positions{})
|
|
||||||
.def("getRateCorrection",
|
.def("getRateCorrection",
|
||||||
(Result<sls::ns>(Detector::*)(sls::Positions) const) &
|
(Result<sls::ns>(Detector::*)(sls::Positions) const) &
|
||||||
Detector::getRateCorrection,
|
Detector::getRateCorrection,
|
||||||
@ -871,14 +929,6 @@ void init_det(py::module &m) {
|
|||||||
(void (Detector::*)(sls::ns, sls::Positions)) &
|
(void (Detector::*)(sls::ns, sls::Positions)) &
|
||||||
Detector::setRateCorrection,
|
Detector::setRateCorrection,
|
||||||
py::arg(), py::arg() = Positions{})
|
py::arg(), py::arg() = Positions{})
|
||||||
.def("getReadNRows",
|
|
||||||
(Result<int>(Detector::*)(sls::Positions) const) &
|
|
||||||
Detector::getReadNRows,
|
|
||||||
py::arg() = Positions{})
|
|
||||||
.def("setReadNRows",
|
|
||||||
(void (Detector::*)(const int, sls::Positions)) &
|
|
||||||
Detector::setReadNRows,
|
|
||||||
py::arg(), py::arg() = Positions{})
|
|
||||||
.def("getInterruptSubframe",
|
.def("getInterruptSubframe",
|
||||||
(Result<bool>(Detector::*)(sls::Positions) const) &
|
(Result<bool>(Detector::*)(sls::Positions) const) &
|
||||||
Detector::getInterruptSubframe,
|
Detector::getInterruptSubframe,
|
||||||
@ -1014,9 +1064,17 @@ void init_det(py::module &m) {
|
|||||||
Detector::getGainMode,
|
Detector::getGainMode,
|
||||||
py::arg() = Positions{})
|
py::arg() = Positions{})
|
||||||
.def("setGainMode",
|
.def("setGainMode",
|
||||||
(void (Detector::*)(defs::gainMode, sls::Positions)) &
|
(void (Detector::*)(const defs::gainMode, sls::Positions)) &
|
||||||
Detector::setGainMode,
|
Detector::setGainMode,
|
||||||
py::arg(), py::arg() = Positions{})
|
py::arg(), py::arg() = Positions{})
|
||||||
|
.def("getFilterCell",
|
||||||
|
(Result<int>(Detector::*)(sls::Positions) const) &
|
||||||
|
Detector::getFilterCell,
|
||||||
|
py::arg() = Positions{})
|
||||||
|
.def("setFilterCell",
|
||||||
|
(void (Detector::*)(int, sls::Positions)) &
|
||||||
|
Detector::setFilterCell,
|
||||||
|
py::arg(), py::arg() = Positions{})
|
||||||
.def("getROI",
|
.def("getROI",
|
||||||
(Result<defs::ROI>(Detector::*)(sls::Positions) const) &
|
(Result<defs::ROI>(Detector::*)(sls::Positions) const) &
|
||||||
Detector::getROI,
|
Detector::getROI,
|
||||||
@ -1092,30 +1150,6 @@ void init_det(py::module &m) {
|
|||||||
.def("setCDSGain",
|
.def("setCDSGain",
|
||||||
(void (Detector::*)(bool, sls::Positions)) & Detector::setCDSGain,
|
(void (Detector::*)(bool, sls::Positions)) & Detector::setCDSGain,
|
||||||
py::arg(), py::arg() = Positions{})
|
py::arg(), py::arg() = Positions{})
|
||||||
.def("getFilterResistor",
|
|
||||||
(Result<int>(Detector::*)(sls::Positions) const) &
|
|
||||||
Detector::getFilterResistor,
|
|
||||||
py::arg() = Positions{})
|
|
||||||
.def("setFilterResistor",
|
|
||||||
(void (Detector::*)(int, sls::Positions)) &
|
|
||||||
Detector::setFilterResistor,
|
|
||||||
py::arg(), py::arg() = Positions{})
|
|
||||||
.def("getFilterCell",
|
|
||||||
(Result<int>(Detector::*)(sls::Positions) const) &
|
|
||||||
Detector::getFilterCell,
|
|
||||||
py::arg() = Positions{})
|
|
||||||
.def("setFilterCell",
|
|
||||||
(void (Detector::*)(int, sls::Positions)) &
|
|
||||||
Detector::setFilterCell,
|
|
||||||
py::arg(), py::arg() = Positions{})
|
|
||||||
.def("getCurrentSource",
|
|
||||||
(Result<bool>(Detector::*)(sls::Positions) const) &
|
|
||||||
Detector::getCurrentSource,
|
|
||||||
py::arg() = Positions{})
|
|
||||||
.def("setCurrentSource",
|
|
||||||
(void (Detector::*)(bool, sls::Positions)) &
|
|
||||||
Detector::setCurrentSource,
|
|
||||||
py::arg(), py::arg() = Positions{})
|
|
||||||
.def("getTimingSource",
|
.def("getTimingSource",
|
||||||
(Result<defs::timingSourceType>(Detector::*)(sls::Positions)
|
(Result<defs::timingSourceType>(Detector::*)(sls::Positions)
|
||||||
const) &
|
const) &
|
||||||
@ -1307,14 +1341,6 @@ void init_det(py::module &m) {
|
|||||||
.def("setDBITClock",
|
.def("setDBITClock",
|
||||||
(void (Detector::*)(int, sls::Positions)) & Detector::setDBITClock,
|
(void (Detector::*)(int, sls::Positions)) & Detector::setDBITClock,
|
||||||
py::arg(), py::arg() = Positions{})
|
py::arg(), py::arg() = Positions{})
|
||||||
.def("getDBITPipeline",
|
|
||||||
(Result<int>(Detector::*)(sls::Positions) const) &
|
|
||||||
Detector::getDBITPipeline,
|
|
||||||
py::arg() = Positions{})
|
|
||||||
.def("setDBITPipeline",
|
|
||||||
(void (Detector::*)(int, sls::Positions)) &
|
|
||||||
Detector::setDBITPipeline,
|
|
||||||
py::arg(), py::arg() = Positions{})
|
|
||||||
.def("getMeasuredVoltage",
|
.def("getMeasuredVoltage",
|
||||||
(Result<int>(Detector::*)(defs::dacIndex, sls::Positions) const) &
|
(Result<int>(Detector::*)(defs::dacIndex, sls::Positions) const) &
|
||||||
Detector::getMeasuredVoltage,
|
Detector::getMeasuredVoltage,
|
||||||
|
@ -21,6 +21,7 @@ void init_det(py::module &);
|
|||||||
void init_network(py::module &);
|
void init_network(py::module &);
|
||||||
void init_pattern(py::module &);
|
void init_pattern(py::module &);
|
||||||
void init_scan(py::module &);
|
void init_scan(py::module &);
|
||||||
|
void init_source(py::module &);
|
||||||
PYBIND11_MODULE(_slsdet, m) {
|
PYBIND11_MODULE(_slsdet, m) {
|
||||||
m.doc() = R"pbdoc(
|
m.doc() = R"pbdoc(
|
||||||
C/C++ API
|
C/C++ API
|
||||||
@ -37,6 +38,7 @@ PYBIND11_MODULE(_slsdet, m) {
|
|||||||
init_network(m);
|
init_network(m);
|
||||||
init_pattern(m);
|
init_pattern(m);
|
||||||
init_scan(m);
|
init_scan(m);
|
||||||
|
init_source(m);
|
||||||
// init_experimental(m);
|
// init_experimental(m);
|
||||||
|
|
||||||
|
|
||||||
|
@ -87,7 +87,6 @@ int set_roi(int);
|
|||||||
int get_roi(int);
|
int get_roi(int);
|
||||||
int lock_server(int);
|
int lock_server(int);
|
||||||
int get_last_client_ip(int);
|
int get_last_client_ip(int);
|
||||||
int set_port(int);
|
|
||||||
int calibrate_pedestal(int);
|
int calibrate_pedestal(int);
|
||||||
int enable_ten_giga(int);
|
int enable_ten_giga(int);
|
||||||
int validateAndSetAllTrimbits(int arg);
|
int validateAndSetAllTrimbits(int arg);
|
||||||
|
@ -230,7 +230,6 @@ void function_table() {
|
|||||||
flist[F_GET_ROI] = &get_roi;
|
flist[F_GET_ROI] = &get_roi;
|
||||||
flist[F_LOCK_SERVER] = &lock_server;
|
flist[F_LOCK_SERVER] = &lock_server;
|
||||||
flist[F_GET_LAST_CLIENT_IP] = &get_last_client_ip;
|
flist[F_GET_LAST_CLIENT_IP] = &get_last_client_ip;
|
||||||
flist[F_SET_PORT] = &set_port;
|
|
||||||
flist[F_ENABLE_TEN_GIGA] = &enable_ten_giga;
|
flist[F_ENABLE_TEN_GIGA] = &enable_ten_giga;
|
||||||
flist[F_SET_ALL_TRIMBITS] = &set_all_trimbits;
|
flist[F_SET_ALL_TRIMBITS] = &set_all_trimbits;
|
||||||
flist[F_SET_PATTERN_IO_CONTROL] = &set_pattern_io_control;
|
flist[F_SET_PATTERN_IO_CONTROL] = &set_pattern_io_control;
|
||||||
@ -2880,43 +2879,6 @@ int get_last_client_ip(int file_des) {
|
|||||||
return Server_SendResult(file_des, INT32, &retval, sizeof(retval));
|
return Server_SendResult(file_des, INT32, &retval, sizeof(retval));
|
||||||
}
|
}
|
||||||
|
|
||||||
int set_port(int file_des) {
|
|
||||||
ret = OK;
|
|
||||||
memset(mess, 0, sizeof(mess));
|
|
||||||
int p_number = -1;
|
|
||||||
uint32_t oldLastClientIP = 0;
|
|
||||||
|
|
||||||
if (receiveData(file_des, &p_number, sizeof(p_number), INT32) < 0)
|
|
||||||
return printSocketReadError();
|
|
||||||
|
|
||||||
// set only
|
|
||||||
int sd = -1;
|
|
||||||
if ((Server_VerifyLock() == OK)) {
|
|
||||||
// port number too low
|
|
||||||
if (p_number < 1024) {
|
|
||||||
ret = FAIL;
|
|
||||||
sprintf(mess, "%s port Number (%d) too low\n",
|
|
||||||
(isControlServer ? "control" : "stop"), p_number);
|
|
||||||
LOG(logERROR, (mess));
|
|
||||||
} else {
|
|
||||||
LOG(logINFO, ("Setting %s port to %d\n",
|
|
||||||
(isControlServer ? "control" : "stop"), p_number));
|
|
||||||
oldLastClientIP = lastClientIP;
|
|
||||||
sd = bindSocket(p_number);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Server_SendResult(file_des, INT32, &p_number, sizeof(p_number));
|
|
||||||
// delete old socket
|
|
||||||
if (ret != FAIL) {
|
|
||||||
closeConnection(file_des);
|
|
||||||
exitServer(sockfd);
|
|
||||||
sockfd = sd;
|
|
||||||
lastClientIP = oldLastClientIP;
|
|
||||||
}
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
int enable_ten_giga(int file_des) {
|
int enable_ten_giga(int file_des) {
|
||||||
ret = OK;
|
ret = OK;
|
||||||
memset(mess, 0, sizeof(mess));
|
memset(mess, 0, sizeof(mess));
|
||||||
|
@ -1215,13 +1215,8 @@ int Module::getReceiverPort() const { return shm()->rxTCPPort; }
|
|||||||
|
|
||||||
int Module::setReceiverPort(int port_number) {
|
int Module::setReceiverPort(int port_number) {
|
||||||
if (port_number >= 0 && port_number != shm()->rxTCPPort) {
|
if (port_number >= 0 && port_number != shm()->rxTCPPort) {
|
||||||
if (shm()->useReceiverFlag) {
|
|
||||||
shm()->rxTCPPort =
|
|
||||||
sendToReceiver<int>(F_SET_RECEIVER_PORT, port_number);
|
|
||||||
} else {
|
|
||||||
shm()->rxTCPPort = port_number;
|
shm()->rxTCPPort = port_number;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
return shm()->rxTCPPort;
|
return shm()->rxTCPPort;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2558,22 +2553,14 @@ void Module::setADCInvert(uint32_t value) {
|
|||||||
int Module::getControlPort() const { return shm()->controlPort; }
|
int Module::getControlPort() const { return shm()->controlPort; }
|
||||||
|
|
||||||
void Module::setControlPort(int port_number) {
|
void Module::setControlPort(int port_number) {
|
||||||
if (strlen(shm()->hostname) > 0) {
|
|
||||||
shm()->controlPort = sendToDetector<int>(F_SET_PORT, port_number);
|
|
||||||
} else {
|
|
||||||
shm()->controlPort = port_number;
|
shm()->controlPort = port_number;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
int Module::getStopPort() const { return shm()->stopPort; }
|
int Module::getStopPort() const { return shm()->stopPort; }
|
||||||
|
|
||||||
void Module::setStopPort(int port_number) {
|
void Module::setStopPort(int port_number) {
|
||||||
if (strlen(shm()->hostname) > 0) {
|
|
||||||
shm()->stopPort = sendToDetectorStop<int>(F_SET_PORT, port_number);
|
|
||||||
} else {
|
|
||||||
shm()->stopPort = port_number;
|
shm()->stopPort = port_number;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
bool Module::getLockDetector() const {
|
bool Module::getLockDetector() const {
|
||||||
return sendToDetector<int>(F_LOCK_SERVER, GET_FLAG);
|
return sendToDetector<int>(F_LOCK_SERVER, GET_FLAG);
|
||||||
|
@ -190,7 +190,6 @@ TEST_CASE("rx_tcpport", "[.cmd][.rx]") {
|
|||||||
proxy.Call("rx_tcpport", {}, i, GET, oss);
|
proxy.Call("rx_tcpport", {}, i, GET, oss);
|
||||||
REQUIRE(oss.str() == "rx_tcpport " + std::to_string(port + i) + '\n');
|
REQUIRE(oss.str() == "rx_tcpport " + std::to_string(port + i) + '\n');
|
||||||
}
|
}
|
||||||
REQUIRE_THROWS(proxy.Call("rx_tcpport", {"15"}, -1, PUT));
|
|
||||||
port = 5754;
|
port = 5754;
|
||||||
proxy.Call("rx_tcpport", {std::to_string(port)}, -1, PUT);
|
proxy.Call("rx_tcpport", {std::to_string(port)}, -1, PUT);
|
||||||
for (int i = 0; i != det.size(); ++i) {
|
for (int i = 0; i != det.size(); ++i) {
|
||||||
|
@ -113,7 +113,6 @@ void ClientInterface::startTCPServer() {
|
|||||||
int ClientInterface::functionTable(){
|
int ClientInterface::functionTable(){
|
||||||
flist[F_LOCK_RECEIVER] = &ClientInterface::lock_receiver;
|
flist[F_LOCK_RECEIVER] = &ClientInterface::lock_receiver;
|
||||||
flist[F_GET_LAST_RECEIVER_CLIENT_IP] = &ClientInterface::get_last_client_ip;
|
flist[F_GET_LAST_RECEIVER_CLIENT_IP] = &ClientInterface::get_last_client_ip;
|
||||||
flist[F_SET_RECEIVER_PORT] = &ClientInterface::set_port;
|
|
||||||
flist[F_GET_RECEIVER_VERSION] = &ClientInterface::get_version;
|
flist[F_GET_RECEIVER_VERSION] = &ClientInterface::get_version;
|
||||||
flist[F_SETUP_RECEIVER] = &ClientInterface::setup_receiver;
|
flist[F_SETUP_RECEIVER] = &ClientInterface::setup_receiver;
|
||||||
flist[F_RECEIVER_SET_ROI] = &ClientInterface::set_roi;
|
flist[F_RECEIVER_SET_ROI] = &ClientInterface::set_roi;
|
||||||
@ -300,21 +299,6 @@ int ClientInterface::get_last_client_ip(Interface &socket) {
|
|||||||
return socket.sendResult(server.getLastClient());
|
return socket.sendResult(server.getLastClient());
|
||||||
}
|
}
|
||||||
|
|
||||||
int ClientInterface::set_port(Interface &socket) {
|
|
||||||
auto p_number = socket.Receive<int>();
|
|
||||||
if (p_number < 1024)
|
|
||||||
throw RuntimeError("Port Number: " + std::to_string(p_number) +
|
|
||||||
" is too low (<1024)");
|
|
||||||
|
|
||||||
LOG(logINFO) << "TCP port set to " << p_number << std::endl;
|
|
||||||
sls::ServerSocket new_server(p_number);
|
|
||||||
new_server.setLockedBy(server.getLockedBy());
|
|
||||||
new_server.setLastClient(server.getThisClient());
|
|
||||||
server = std::move(new_server);
|
|
||||||
socket.sendResult(p_number);
|
|
||||||
return OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
int ClientInterface::get_version(Interface &socket) {
|
int ClientInterface::get_version(Interface &socket) {
|
||||||
return socket.sendResult(getReceiverVersion());
|
return socket.sendResult(getReceiverVersion());
|
||||||
}
|
}
|
||||||
|
@ -62,7 +62,6 @@ class ClientInterface : private virtual slsDetectorDefs {
|
|||||||
|
|
||||||
int lock_receiver(sls::ServerInterface &socket);
|
int lock_receiver(sls::ServerInterface &socket);
|
||||||
int get_last_client_ip(sls::ServerInterface &socket);
|
int get_last_client_ip(sls::ServerInterface &socket);
|
||||||
int set_port(sls::ServerInterface &socket);
|
|
||||||
int get_version(sls::ServerInterface &socket);
|
int get_version(sls::ServerInterface &socket);
|
||||||
int setup_receiver(sls::ServerInterface &socket);
|
int setup_receiver(sls::ServerInterface &socket);
|
||||||
void setDetectorType(detectorType arg);
|
void setDetectorType(detectorType arg);
|
||||||
|
@ -69,7 +69,6 @@ enum detFuncs {
|
|||||||
F_GET_ROI,
|
F_GET_ROI,
|
||||||
F_LOCK_SERVER,
|
F_LOCK_SERVER,
|
||||||
F_GET_LAST_CLIENT_IP,
|
F_GET_LAST_CLIENT_IP,
|
||||||
F_SET_PORT,
|
|
||||||
F_ENABLE_TEN_GIGA,
|
F_ENABLE_TEN_GIGA,
|
||||||
F_SET_ALL_TRIMBITS,
|
F_SET_ALL_TRIMBITS,
|
||||||
F_SET_PATTERN_IO_CONTROL,
|
F_SET_PATTERN_IO_CONTROL,
|
||||||
@ -258,7 +257,6 @@ enum detFuncs {
|
|||||||
F_EXEC_RECEIVER_COMMAND,
|
F_EXEC_RECEIVER_COMMAND,
|
||||||
F_LOCK_RECEIVER,
|
F_LOCK_RECEIVER,
|
||||||
F_GET_LAST_RECEIVER_CLIENT_IP,
|
F_GET_LAST_RECEIVER_CLIENT_IP,
|
||||||
F_SET_RECEIVER_PORT,
|
|
||||||
F_GET_RECEIVER_VERSION,
|
F_GET_RECEIVER_VERSION,
|
||||||
F_RECEIVER_SET_ROI,
|
F_RECEIVER_SET_ROI,
|
||||||
F_RECEIVER_SET_NUM_FRAMES,
|
F_RECEIVER_SET_NUM_FRAMES,
|
||||||
@ -425,7 +423,6 @@ const char* getFunctionNameFromEnum(enum detFuncs func) {
|
|||||||
case F_GET_ROI: return "F_GET_ROI";
|
case F_GET_ROI: return "F_GET_ROI";
|
||||||
case F_LOCK_SERVER: return "F_LOCK_SERVER";
|
case F_LOCK_SERVER: return "F_LOCK_SERVER";
|
||||||
case F_GET_LAST_CLIENT_IP: return "F_GET_LAST_CLIENT_IP";
|
case F_GET_LAST_CLIENT_IP: return "F_GET_LAST_CLIENT_IP";
|
||||||
case F_SET_PORT: return "F_SET_PORT";
|
|
||||||
case F_ENABLE_TEN_GIGA: return "F_ENABLE_TEN_GIGA";
|
case F_ENABLE_TEN_GIGA: return "F_ENABLE_TEN_GIGA";
|
||||||
case F_SET_ALL_TRIMBITS: return "F_SET_ALL_TRIMBITS";
|
case F_SET_ALL_TRIMBITS: return "F_SET_ALL_TRIMBITS";
|
||||||
case F_SET_PATTERN_IO_CONTROL: return "F_SET_PATTERN_IO_CONTROL";
|
case F_SET_PATTERN_IO_CONTROL: return "F_SET_PATTERN_IO_CONTROL";
|
||||||
@ -612,7 +609,6 @@ const char* getFunctionNameFromEnum(enum detFuncs func) {
|
|||||||
case F_EXEC_RECEIVER_COMMAND: return "F_EXEC_RECEIVER_COMMAND";
|
case F_EXEC_RECEIVER_COMMAND: return "F_EXEC_RECEIVER_COMMAND";
|
||||||
case F_LOCK_RECEIVER: return "F_LOCK_RECEIVER";
|
case F_LOCK_RECEIVER: return "F_LOCK_RECEIVER";
|
||||||
case F_GET_LAST_RECEIVER_CLIENT_IP: return "F_GET_LAST_RECEIVER_CLIENT_IP";
|
case F_GET_LAST_RECEIVER_CLIENT_IP: return "F_GET_LAST_RECEIVER_CLIENT_IP";
|
||||||
case F_SET_RECEIVER_PORT: return "F_SET_RECEIVER_PORT";
|
|
||||||
case F_GET_RECEIVER_VERSION: return "F_GET_RECEIVER_VERSION";
|
case F_GET_RECEIVER_VERSION: return "F_GET_RECEIVER_VERSION";
|
||||||
case F_RECEIVER_SET_ROI: return "F_RECEIVER_SET_ROI";
|
case F_RECEIVER_SET_ROI: return "F_RECEIVER_SET_ROI";
|
||||||
case F_RECEIVER_SET_NUM_FRAMES: return "F_RECEIVER_SET_NUM_FRAMES";
|
case F_RECEIVER_SET_NUM_FRAMES: return "F_RECEIVER_SET_NUM_FRAMES";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user