diff --git a/python/scripts/generate_functions.py b/python/scripts/generate_functions.py index ab57f740f..b312f9b92 100644 --- a/python/scripts/generate_functions.py +++ b/python/scripts/generate_functions.py @@ -7,6 +7,9 @@ to be installed. When the Detector API is updated this file should be run manually. + +Tested with libclang 17-23. The output is formatted with +clang-format 17. """ import os from clang import cindex @@ -38,11 +41,11 @@ def find_libclang(): """Find libclang in the current Conda/Mamba environment.""" conda_prefix = os.environ.get("CONDA_PREFIX") if conda_prefix: - lib_dir = os.path.join(conda_prefix, "lib") - # Look for libclang*.so files - for f in os.listdir(lib_dir): - if f.startswith("libclang") and f.endswith(".so"): - return os.path.join(lib_dir, f) + # Match the name exactly, lib also holds libclang-cpp and libclang_rt.* + for name in ("libclang.so", "libclang.dylib"): + path = os.path.join(conda_prefix, "lib", name) + if os.path.exists(path): + return path # fallback: system-wide search path = ctypes.util.find_library("clang") @@ -52,7 +55,7 @@ def find_libclang(): raise FileNotFoundError("libclang not found in CONDA_PREFIX or system paths.") -def check_libclang_version(required="12"): +def check_libclang_version(supported): # Use already-loaded libclang, or let cindex resolve it lib = ctypes.CDLL(cindex.Config.library_file or ctypes.util.find_library("clang")) @@ -63,11 +66,13 @@ def check_libclang_version(required="12"): # Parse and check version match = re.search(r"version\s+(\d+)", version_str) - if not match or match.group(1) != required: - msg = red(f"libclang version {match.group(1) if match else '?'} found, but version {required} required. Bye!") + version = int(match.group(1)) if match else None + if version not in supported: + versions = ", ".join(str(v) for v in supported) + msg = red(f"libclang version {version or '?'} found, but one of {versions} required. Bye!") print(msg) sys.exit(1) - msg = green(f"Found libclang version {required}") + msg = green(f"Found libclang version {version}") print(msg) @@ -95,8 +100,25 @@ def check_for_compile_commands_json(path): print(msg) +def check_for_parse_errors(tu): + # Types that libclang fails to parse silently turn into int. Errors without + # a location come from compiler flags that clang does not know and are harmless + errors = [ + d + for d in tu.diagnostics + if d.severity >= cindex.Diagnostic.Error and d.location.file + ] + if errors: + print(red("FAILED")) + for d in errors: + print(red(f"{d.location.file}:{d.location.line}: {d.spelling}")) + print(red("Errors while parsing, the generated types can't be trusted. Bye!")) + sys.exit(1) + + default_build_path = "/home/l_frojdh/sls/build/" fpath = "../../slsDetectorSoftware/src/Detector.cpp" +supported_libclang_versions = (17, 18, 19, 20, 21, 22, 23) m = [] @@ -118,13 +140,64 @@ def get_arguments(node): return args +def qualified_name(decl): + """Name of a declaration including its enclosing scopes, e.g. sls::Positions""" + parts = [] + while decl is not None and decl.kind != cindex.CursorKind.TRANSLATION_UNIT: + if decl.spelling: + parts.append(decl.spelling) + decl = decl.semantic_parent + return "::".join(reversed(parts)) + + +def referenced_types(node): + """Declarations of the types named in the return type of a method or in a parameter""" + for child in node.get_children(): + if child.kind == cindex.CursorKind.TYPE_REF: + yield child.referenced + elif node.kind == child.kind == cindex.CursorKind.PARM_DECL: + # parameters of a function pointer + yield from referenced_types(child) + + +def type_spelling(node, type): + """ + Spelling of the return type of a method or the type of a parameter. + + libclang gives a type name as it is written in the source (Positions). + The generated file is outside the sls namespace, so we look up the + declarations and add the scope ourselves (sls::Positions). Names already + written with a scope (defs::xy) are left as they are. + """ + spelling = type.spelling + for decl in referenced_types(node): + unqualified = rf"(?()); CppDetectorApi.def("loadConfig", - (void (Detector::*)(const std::string &)) & + (void(Detector::*)(const std::string &)) & Detector::loadConfig, py::arg()); CppDetectorApi.def("loadParameters", - (void (Detector::*)(const std::string &)) & + (void(Detector::*)(const std::string &)) & Detector::loadParameters, py::arg()); CppDetectorApi.def("loadParameters", - (void (Detector::*)(const std::vector &)) & + (void(Detector::*)(const std::vector &)) & Detector::loadParameters, py::arg()); CppDetectorApi.def( @@ -53,15 +53,15 @@ void init_det(py::module &m) { Detector::getHostname, py::arg() = Positions{}); CppDetectorApi.def("setHostname", - (void (Detector::*)(const std::vector &)) & + (void(Detector::*)(const std::vector &)) & Detector::setHostname, py::arg()); CppDetectorApi.def("setVirtualDetectorServers", - (void (Detector::*)(int, uint16_t)) & + (void(Detector::*)(int, uint16_t)) & Detector::setVirtualDetectorServers, py::arg(), py::arg()); CppDetectorApi.def("getShmId", - (int (Detector::*)() const) & Detector::getShmId); + (int(Detector::*)() const) & Detector::getShmId); CppDetectorApi.def("getPackageVersion", (std::string(Detector::*)() const) & Detector::getPackageVersion); CppDetectorApi.def("getClientVersion", (std::string(Detector::*)() const) & @@ -108,8 +108,8 @@ void init_det(py::module &m) { (Result(Detector::*)(sls::Positions) const) & Detector::getDetectorType, py::arg() = Positions{}); - CppDetectorApi.def("size", (int (Detector::*)() const) & Detector::size); - CppDetectorApi.def("empty", (bool (Detector::*)() const) & Detector::empty); + CppDetectorApi.def("size", (int(Detector::*)() const) & Detector::size); + CppDetectorApi.def("empty", (bool(Detector::*)() const) & Detector::empty); CppDetectorApi.def("getModuleGeometry", (defs::xy(Detector::*)() const) & Detector::getModuleGeometry); CppDetectorApi.def("getModuleSize", @@ -126,7 +126,7 @@ void init_det(py::module &m) { CppDetectorApi.def("getDetectorSize", (defs::xy(Detector::*)() const) & Detector::getDetectorSize); CppDetectorApi.def("setDetectorSize", - (void (Detector::*)(const defs::xy)) & + (void(Detector::*)(const defs::xy)) & Detector::setDetectorSize, py::arg()); CppDetectorApi.def("getSettingsList", (std::vector( @@ -139,7 +139,7 @@ void init_det(py::module &m) { py::arg() = Positions{}); CppDetectorApi.def( "setSettings", - (void (Detector::*)(defs::detectorSettings, sls::Positions)) & + (void(Detector::*)(defs::detectorSettings, sls::Positions)) & Detector::setSettings, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getThresholdEnergy", @@ -151,16 +151,16 @@ void init_det(py::module &m) { (Result>(Detector::*)(sls::Positions) const) & Detector::getAllThresholdEnergy, py::arg() = Positions{}); - CppDetectorApi.def("setThresholdEnergy", - (void (Detector::*)(int, defs::detectorSettings, bool, - sls::Positions)) & - Detector::setThresholdEnergy, - py::arg(), py::arg() = defs::STANDARD, py::arg() = true, - py::arg() = Positions{}); CppDetectorApi.def( "setThresholdEnergy", - (void (Detector::*)(std::array, defs::detectorSettings, bool, - sls::Positions)) & + (void(Detector::*)(int, defs::detectorSettings, bool, sls::Positions)) & + Detector::setThresholdEnergy, + py::arg(), py::arg() = defs::STANDARD, py::arg() = true, + py::arg() = Positions{}); + CppDetectorApi.def( + "setThresholdEnergy", + (void(Detector::*)(std::array, defs::detectorSettings, bool, + sls::Positions)) & Detector::setThresholdEnergy, py::arg(), py::arg() = defs::STANDARD, py::arg() = true, py::arg() = Positions{}); @@ -171,17 +171,17 @@ void init_det(py::module &m) { py::arg() = Positions{}); CppDetectorApi.def( "setSettingsPath", - (void (Detector::*)(const std::string &, sls::Positions)) & + (void(Detector::*)(const std::string &, sls::Positions)) & Detector::setSettingsPath, py::arg(), py::arg() = Positions{}); CppDetectorApi.def( "loadTrimbits", - (void (Detector::*)(const std::string &, sls::Positions)) & + (void(Detector::*)(const std::string &, sls::Positions)) & Detector::loadTrimbits, py::arg(), py::arg() = Positions{}); CppDetectorApi.def( "saveTrimbits", - (void (Detector::*)(const std::string &, sls::Positions)) & + (void(Detector::*)(const std::string &, sls::Positions)) & Detector::saveTrimbits, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getAllTrimbits", @@ -189,7 +189,7 @@ void init_det(py::module &m) { Detector::getAllTrimbits, py::arg() = Positions{}); CppDetectorApi.def("setAllTrimbits", - (void (Detector::*)(int, sls::Positions)) & + (void(Detector::*)(int, sls::Positions)) & Detector::setAllTrimbits, py::arg(), py::arg() = Positions{}); CppDetectorApi.def( @@ -198,14 +198,14 @@ void init_det(py::module &m) { Detector::getTrimEnergies, py::arg() = Positions{}); CppDetectorApi.def("setTrimEnergies", - (void (Detector::*)(std::vector, sls::Positions)) & + (void(Detector::*)(std::vector, sls::Positions)) & Detector::setTrimEnergies, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getGapPixelsinCallback", - (bool (Detector::*)() const) & + (bool(Detector::*)() const) & Detector::getGapPixelsinCallback); CppDetectorApi.def("setGapPixelsinCallback", - (void (Detector::*)(const bool)) & + (void(Detector::*)(const bool)) & Detector::setGapPixelsinCallback, py::arg()); CppDetectorApi.def("getFlipRows", @@ -213,7 +213,7 @@ void init_det(py::module &m) { Detector::getFlipRows, py::arg() = Positions{}); CppDetectorApi.def("setFlipRows", - (void (Detector::*)(bool, sls::Positions)) & + (void(Detector::*)(bool, sls::Positions)) & Detector::setFlipRows, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getMaster", @@ -221,23 +221,23 @@ void init_det(py::module &m) { Detector::getMaster, py::arg() = Positions{}); CppDetectorApi.def("setMaster", - (void (Detector::*)(bool, int)) & Detector::setMaster, + (void(Detector::*)(bool, int)) & Detector::setMaster, py::arg(), py::arg()); CppDetectorApi.def("getSynchronization", (Result(Detector::*)(sls::Positions) const) & Detector::getSynchronization, py::arg() = Positions{}); - CppDetectorApi.def( - "setSynchronization", - (void (Detector::*)(bool)) & Detector::setSynchronization, py::arg()); + CppDetectorApi.def("setSynchronization", + (void(Detector::*)(bool)) & Detector::setSynchronization, + py::arg()); CppDetectorApi.def( "getBadChannels", - (void (Detector::*)(const std::string &, sls::Positions) const) & + (void(Detector::*)(const std::string &, sls::Positions) const) & Detector::getBadChannels, py::arg(), py::arg() = Positions{}); CppDetectorApi.def( "setBadChannels", - (void (Detector::*)(const std::string &, sls::Positions)) & + (void(Detector::*)(const std::string &, sls::Positions)) & Detector::setBadChannels, py::arg(), py::arg() = Positions{}); CppDetectorApi.def( @@ -247,12 +247,12 @@ void init_det(py::module &m) { py::arg() = Positions{}); CppDetectorApi.def( "setBadChannels", - (void (Detector::*)(const std::vector, sls::Positions)) & + (void(Detector::*)(const std::vector, sls::Positions)) & Detector::setBadChannels, py::arg(), py::arg() = Positions{}); CppDetectorApi.def( "setBadChannels", - (void (Detector::*)(const std::vector>)) & + (void(Detector::*)(const std::vector>)) & Detector::setBadChannels, py::arg()); CppDetectorApi.def("getRow", @@ -260,7 +260,7 @@ void init_det(py::module &m) { Detector::getRow, py::arg() = Positions{}); CppDetectorApi.def("setRow", - (void (Detector::*)(const int, sls::Positions)) & + (void(Detector::*)(const int, sls::Positions)) & Detector::setRow, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getColumn", @@ -268,7 +268,7 @@ void init_det(py::module &m) { Detector::getColumn, py::arg() = Positions{}); CppDetectorApi.def("setColumn", - (void (Detector::*)(const int, sls::Positions)) & + (void(Detector::*)(const int, sls::Positions)) & Detector::setColumn, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("isVirtualDetectorServer", @@ -277,13 +277,13 @@ void init_det(py::module &m) { py::arg() = Positions{}); CppDetectorApi.def( "registerAcquisitionFinishedCallback", - (void (Detector::*)(void (*)(double, int, void *), void *)) & + (void(Detector::*)(void (*)(double, int, void *), void *)) & Detector::registerAcquisitionFinishedCallback, py::arg(), py::arg()); CppDetectorApi.def("registerDataCallback", - (void (Detector::*)(void (*)(sls::detectorData *, - uint64_t, uint32_t, void *), - void *)) & + (void(Detector::*)(void (*)(sls::detectorData *, + uint64_t, uint32_t, void *), + void *)) & Detector::registerDataCallback, py::arg(), py::arg()); CppDetectorApi.def("getNumberOfFrames", @@ -292,13 +292,13 @@ void init_det(py::module &m) { py::arg() = Positions{}); CppDetectorApi.def( "setNumberOfFrames", - (void (Detector::*)(int64_t)) & Detector::setNumberOfFrames, py::arg()); + (void(Detector::*)(int64_t)) & Detector::setNumberOfFrames, py::arg()); CppDetectorApi.def("getNumberOfTriggers", (Result(Detector::*)(sls::Positions) const) & Detector::getNumberOfTriggers, py::arg() = Positions{}); CppDetectorApi.def("setNumberOfTriggers", - (void (Detector::*)(int64_t)) & + (void(Detector::*)(int64_t)) & Detector::setNumberOfTriggers, py::arg()); CppDetectorApi.def("getExptime", @@ -306,7 +306,7 @@ void init_det(py::module &m) { Detector::getExptime, py::arg() = Positions{}); CppDetectorApi.def("setExptime", - (void (Detector::*)(sls::ns, sls::Positions)) & + (void(Detector::*)(sls::ns, sls::Positions)) & Detector::setExptime, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getPeriod", @@ -314,7 +314,7 @@ void init_det(py::module &m) { Detector::getPeriod, py::arg() = Positions{}); CppDetectorApi.def("setPeriod", - (void (Detector::*)(sls::ns, sls::Positions)) & + (void(Detector::*)(sls::ns, sls::Positions)) & Detector::setPeriod, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getDelayAfterTrigger", @@ -322,7 +322,7 @@ void init_det(py::module &m) { Detector::getDelayAfterTrigger, py::arg() = Positions{}); CppDetectorApi.def("setDelayAfterTrigger", - (void (Detector::*)(sls::ns, sls::Positions)) & + (void(Detector::*)(sls::ns, sls::Positions)) & Detector::setDelayAfterTrigger, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getNumberOfFramesLeft", @@ -346,7 +346,7 @@ void init_det(py::module &m) { Detector::getDynamicRange, py::arg() = Positions{}); CppDetectorApi.def("setDynamicRange", - (void (Detector::*)(int)) & Detector::setDynamicRange, + (void(Detector::*)(int)) & Detector::setDynamicRange, py::arg()); CppDetectorApi.def("getDynamicRangeList", (std::vector(Detector::*)() const) & @@ -357,7 +357,7 @@ void init_det(py::module &m) { Detector::getTimingMode, py::arg() = Positions{}); CppDetectorApi.def("setTimingMode", - (void (Detector::*)(defs::timingMode, sls::Positions)) & + (void(Detector::*)(defs::timingMode, sls::Positions)) & Detector::setTimingMode, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getTimingModeList", @@ -369,7 +369,7 @@ void init_det(py::module &m) { Detector::getReadoutSpeed, py::arg() = Positions{}); CppDetectorApi.def("setReadoutSpeed", - (void (Detector::*)(defs::speedLevel, sls::Positions)) & + (void(Detector::*)(defs::speedLevel, sls::Positions)) & Detector::setReadoutSpeed, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getReadoutSpeedList", @@ -380,7 +380,7 @@ void init_det(py::module &m) { Detector::getADCPhase, py::arg() = Positions{}); CppDetectorApi.def("setADCPhase", - (void (Detector::*)(int, sls::Positions)) & + (void(Detector::*)(int, sls::Positions)) & Detector::setADCPhase, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getMaxADCPhaseShift", @@ -392,7 +392,7 @@ void init_det(py::module &m) { Detector::getADCPhaseInDegrees, py::arg() = Positions{}); CppDetectorApi.def("setADCPhaseInDegrees", - (void (Detector::*)(int, sls::Positions)) & + (void(Detector::*)(int, sls::Positions)) & Detector::setADCPhaseInDegrees, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getDBITPhase", @@ -400,7 +400,7 @@ void init_det(py::module &m) { Detector::getDBITPhase, py::arg() = Positions{}); CppDetectorApi.def("setDBITPhase", - (void (Detector::*)(int, sls::Positions)) & + (void(Detector::*)(int, sls::Positions)) & Detector::setDBITPhase, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getMaxDBITPhaseShift", @@ -412,7 +412,7 @@ void init_det(py::module &m) { Detector::getDBITPhaseInDegrees, py::arg() = Positions{}); CppDetectorApi.def("setDBITPhaseInDegrees", - (void (Detector::*)(int, sls::Positions)) & + (void(Detector::*)(int, sls::Positions)) & Detector::setDBITPhaseInDegrees, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getClockFrequency", @@ -424,7 +424,7 @@ void init_det(py::module &m) { Detector::getClockPhase, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("setClockPhase", - (void (Detector::*)(int, int, sls::Positions)) & + (void(Detector::*)(int, int, sls::Positions)) & Detector::setClockPhase, py::arg(), py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getMaxClockPhaseShift", @@ -436,7 +436,7 @@ void init_det(py::module &m) { Detector::getClockPhaseinDegrees, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("setClockPhaseinDegrees", - (void (Detector::*)(int, int, sls::Positions)) & + (void(Detector::*)(int, int, sls::Positions)) & Detector::setClockPhaseinDegrees, py::arg(), py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getClockDivider", @@ -444,7 +444,7 @@ void init_det(py::module &m) { Detector::getClockDivider, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("setClockDivider", - (void (Detector::*)(int, int, sls::Positions)) & + (void(Detector::*)(int, int, sls::Positions)) & Detector::setClockDivider, py::arg(), py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getHighVoltage", @@ -452,7 +452,7 @@ void init_det(py::module &m) { Detector::getHighVoltage, py::arg() = Positions{}); CppDetectorApi.def("setHighVoltage", - (void (Detector::*)(int, sls::Positions)) & + (void(Detector::*)(int, sls::Positions)) & Detector::setHighVoltage, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getPowerChip", @@ -460,7 +460,7 @@ void init_det(py::module &m) { Detector::getPowerChip, py::arg() = Positions{}); CppDetectorApi.def("setPowerChip", - (void (Detector::*)(bool, sls::Positions)) & + (void(Detector::*)(bool, sls::Positions)) & Detector::setPowerChip, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getImageTestMode", @@ -468,7 +468,7 @@ void init_det(py::module &m) { Detector::getImageTestMode, py::arg() = Positions{}); CppDetectorApi.def("setImageTestMode", - (void (Detector::*)(const int, sls::Positions)) & + (void(Detector::*)(const int, sls::Positions)) & Detector::setImageTestMode, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getTemperatureList", @@ -489,7 +489,7 @@ void init_det(py::module &m) { py::arg(), py::arg() = Positions{}); CppDetectorApi.def( "setDefaultDac", - (void (Detector::*)(defs::dacIndex, int, sls::Positions)) & + (void(Detector::*)(defs::dacIndex, int, sls::Positions)) & Detector::setDefaultDac, py::arg(), py::arg(), py::arg() = Positions{}); CppDetectorApi.def( @@ -500,12 +500,12 @@ void init_det(py::module &m) { py::arg(), py::arg(), py::arg() = Positions{}); CppDetectorApi.def( "setDefaultDac", - (void (Detector::*)(defs::dacIndex, int, defs::detectorSettings, - sls::Positions)) & + (void(Detector::*)(defs::dacIndex, int, defs::detectorSettings, + sls::Positions)) & Detector::setDefaultDac, py::arg(), py::arg(), py::arg(), py::arg() = Positions{}); CppDetectorApi.def("resetToDefaultDacs", - (void (Detector::*)(const bool, sls::Positions)) & + (void(Detector::*)(const bool, sls::Positions)) & Detector::resetToDefaultDacs, py::arg(), py::arg() = Positions{}); CppDetectorApi.def( @@ -515,7 +515,7 @@ void init_det(py::module &m) { py::arg(), py::arg() = false, py::arg() = Positions{}); CppDetectorApi.def( "setDAC", - (void (Detector::*)(defs::dacIndex, int, bool, sls::Positions)) & + (void(Detector::*)(defs::dacIndex, int, bool, sls::Positions)) & Detector::setDAC, py::arg(), py::arg(), py::arg() = false, py::arg() = Positions{}); CppDetectorApi.def( @@ -525,7 +525,7 @@ void init_det(py::module &m) { py::arg(), py::arg(), py::arg() = Positions{}); CppDetectorApi.def( "setOnChipDAC", - (void (Detector::*)(defs::dacIndex, int, int, sls::Positions)) & + (void(Detector::*)(defs::dacIndex, int, int, sls::Positions)) & Detector::setOnChipDAC, py::arg(), py::arg(), py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getExternalSignalFlags", @@ -535,7 +535,7 @@ void init_det(py::module &m) { py::arg(), py::arg() = Positions{}); CppDetectorApi.def( "setExternalSignalFlags", - (void (Detector::*)(int, defs::externalSignalFlag, sls::Positions)) & + (void(Detector::*)(int, defs::externalSignalFlag, sls::Positions)) & Detector::setExternalSignalFlags, py::arg(), py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getParallelMode", @@ -543,7 +543,7 @@ void init_det(py::module &m) { Detector::getParallelMode, py::arg() = Positions{}); CppDetectorApi.def("setParallelMode", - (void (Detector::*)(bool, sls::Positions)) & + (void(Detector::*)(bool, sls::Positions)) & Detector::setParallelMode, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getFilterResistor", @@ -551,7 +551,7 @@ void init_det(py::module &m) { Detector::getFilterResistor, py::arg() = Positions{}); CppDetectorApi.def("setFilterResistor", - (void (Detector::*)(int, sls::Positions)) & + (void(Detector::*)(int, sls::Positions)) & Detector::setFilterResistor, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getCurrentSource", @@ -561,7 +561,7 @@ void init_det(py::module &m) { py::arg() = Positions{}); CppDetectorApi.def( "setCurrentSource", - (void (Detector::*)(defs::currentSrcParameters, sls::Positions)) & + (void(Detector::*)(defs::currentSrcParameters, sls::Positions)) & Detector::setCurrentSource, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getDBITPipeline", @@ -569,7 +569,7 @@ void init_det(py::module &m) { Detector::getDBITPipeline, py::arg() = Positions{}); CppDetectorApi.def("setDBITPipeline", - (void (Detector::*)(int, sls::Positions)) & + (void(Detector::*)(int, sls::Positions)) & Detector::setDBITPipeline, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getReadNRows", @@ -577,24 +577,24 @@ void init_det(py::module &m) { Detector::getReadNRows, py::arg() = Positions{}); CppDetectorApi.def("setReadNRows", - (void (Detector::*)(const int, sls::Positions)) & + (void(Detector::*)(const int, sls::Positions)) & Detector::setReadNRows, py::arg(), py::arg() = Positions{}); - CppDetectorApi.def("acquire", (void (Detector::*)()) & Detector::acquire); + CppDetectorApi.def("acquire", (void(Detector::*)()) & Detector::acquire); CppDetectorApi.def("clearAcquiringFlag", - (void (Detector::*)()) & Detector::clearAcquiringFlag); + (void(Detector::*)()) & Detector::clearAcquiringFlag); CppDetectorApi.def("startReceiver", - (void (Detector::*)()) & Detector::startReceiver); + (void(Detector::*)()) & Detector::startReceiver); CppDetectorApi.def("stopReceiver", - (void (Detector::*)()) & Detector::stopReceiver); + (void(Detector::*)()) & Detector::stopReceiver); CppDetectorApi.def("startDetector", - (void (Detector::*)(sls::Positions)) & + (void(Detector::*)(sls::Positions)) & Detector::startDetector, py::arg() = Positions{}); CppDetectorApi.def("startDetectorReadout", - (void (Detector::*)()) & Detector::startDetectorReadout); + (void(Detector::*)()) & Detector::startDetectorReadout); CppDetectorApi.def("stopDetector", - (void (Detector::*)(sls::Positions)) & + (void(Detector::*)(sls::Positions)) & Detector::stopDetector, py::arg() = Positions{}); CppDetectorApi.def( @@ -627,11 +627,11 @@ void init_det(py::module &m) { Detector::getNextFrameNumber, py::arg() = Positions{}); CppDetectorApi.def("setNextFrameNumber", - (void (Detector::*)(uint64_t, sls::Positions)) & + (void(Detector::*)(uint64_t, sls::Positions)) & Detector::setNextFrameNumber, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("sendSoftwareTrigger", - (void (Detector::*)(const bool, sls::Positions)) & + (void(Detector::*)(const bool, sls::Positions)) & Detector::sendSoftwareTrigger, py::arg() = false, py::arg() = Positions{}); CppDetectorApi.def( @@ -640,7 +640,7 @@ void init_det(py::module &m) { Detector::getScan, py::arg() = Positions{}); CppDetectorApi.def("setScan", - (void (Detector::*)(const defs::scanParameters)) & + (void(Detector::*)(const defs::scanParameters)) & Detector::setScan, py::arg()); CppDetectorApi.def( @@ -653,7 +653,7 @@ void init_det(py::module &m) { Detector::getNumberofUDPInterfaces, py::arg() = Positions{}); CppDetectorApi.def("setNumberofUDPInterfaces", - (void (Detector::*)(int)) & + (void(Detector::*)(int)) & Detector::setNumberofUDPInterfaces, py::arg()); CppDetectorApi.def("getSelectedUDPInterface", @@ -661,7 +661,7 @@ void init_det(py::module &m) { Detector::getSelectedUDPInterface, py::arg() = Positions{}); CppDetectorApi.def("selectUDPInterface", - (void (Detector::*)(int, sls::Positions)) & + (void(Detector::*)(int, sls::Positions)) & Detector::selectUDPInterface, py::arg(), py::arg() = Positions{}); CppDetectorApi.def( @@ -670,7 +670,7 @@ void init_det(py::module &m) { Detector::getSourceUDPIP, py::arg() = Positions{}); CppDetectorApi.def("setSourceUDPIP", - (void (Detector::*)(const sls::IpAddr, sls::Positions)) & + (void(Detector::*)(const sls::IpAddr, sls::Positions)) & Detector::setSourceUDPIP, py::arg(), py::arg() = Positions{}); CppDetectorApi.def( @@ -679,7 +679,7 @@ void init_det(py::module &m) { Detector::getSourceUDPIP2, py::arg() = Positions{}); CppDetectorApi.def("setSourceUDPIP2", - (void (Detector::*)(const sls::IpAddr, sls::Positions)) & + (void(Detector::*)(const sls::IpAddr, sls::Positions)) & Detector::setSourceUDPIP2, py::arg(), py::arg() = Positions{}); CppDetectorApi.def( @@ -687,21 +687,19 @@ void init_det(py::module &m) { (Result(Detector::*)(sls::Positions) const) & Detector::getSourceUDPMAC, py::arg() = Positions{}); - CppDetectorApi.def( - "setSourceUDPMAC", - (void (Detector::*)(const sls::MacAddr, sls::Positions)) & - Detector::setSourceUDPMAC, - py::arg(), py::arg() = Positions{}); + CppDetectorApi.def("setSourceUDPMAC", + (void(Detector::*)(const sls::MacAddr, sls::Positions)) & + Detector::setSourceUDPMAC, + py::arg(), py::arg() = Positions{}); CppDetectorApi.def( "getSourceUDPMAC2", (Result(Detector::*)(sls::Positions) const) & Detector::getSourceUDPMAC2, py::arg() = Positions{}); - CppDetectorApi.def( - "setSourceUDPMAC2", - (void (Detector::*)(const sls::MacAddr, sls::Positions)) & - Detector::setSourceUDPMAC2, - py::arg(), py::arg() = Positions{}); + CppDetectorApi.def("setSourceUDPMAC2", + (void(Detector::*)(const sls::MacAddr, sls::Positions)) & + Detector::setSourceUDPMAC2, + py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getDestinationUDPList", (Result(Detector::*)( const uint32_t, sls::Positions) const) & @@ -709,7 +707,7 @@ void init_det(py::module &m) { py::arg(), py::arg() = Positions{}); CppDetectorApi.def( "setDestinationUDPList", - (void (Detector::*)(const sls::UdpDestination, const int)) & + (void(Detector::*)(const sls::UdpDestination, const int)) & Detector::setDestinationUDPList, py::arg(), py::arg()); CppDetectorApi.def("getNumberofUDPDestinations", @@ -717,7 +715,7 @@ void init_det(py::module &m) { Detector::getNumberofUDPDestinations, py::arg() = Positions{}); CppDetectorApi.def("clearUDPDestinations", - (void (Detector::*)(sls::Positions)) & + (void(Detector::*)(sls::Positions)) & Detector::clearUDPDestinations, py::arg() = Positions{}); CppDetectorApi.def("getFirstUDPDestination", @@ -725,7 +723,7 @@ void init_det(py::module &m) { Detector::getFirstUDPDestination, py::arg() = Positions{}); CppDetectorApi.def("setFirstUDPDestination", - (void (Detector::*)(const int, sls::Positions)) & + (void(Detector::*)(const int, sls::Positions)) & Detector::setFirstUDPDestination, py::arg(), py::arg() = Positions{}); CppDetectorApi.def( @@ -734,7 +732,7 @@ void init_det(py::module &m) { Detector::getDestinationUDPIP, py::arg() = Positions{}); CppDetectorApi.def("setDestinationUDPIP", - (void (Detector::*)(const sls::IpAddr, sls::Positions)) & + (void(Detector::*)(const sls::IpAddr, sls::Positions)) & Detector::setDestinationUDPIP, py::arg(), py::arg() = Positions{}); CppDetectorApi.def( @@ -743,7 +741,7 @@ void init_det(py::module &m) { Detector::getDestinationUDPIP2, py::arg() = Positions{}); CppDetectorApi.def("setDestinationUDPIP2", - (void (Detector::*)(const sls::IpAddr, sls::Positions)) & + (void(Detector::*)(const sls::IpAddr, sls::Positions)) & Detector::setDestinationUDPIP2, py::arg(), py::arg() = Positions{}); CppDetectorApi.def( @@ -751,27 +749,25 @@ void init_det(py::module &m) { (Result(Detector::*)(sls::Positions) const) & Detector::getDestinationUDPMAC, py::arg() = Positions{}); - CppDetectorApi.def( - "setDestinationUDPMAC", - (void (Detector::*)(const sls::MacAddr, sls::Positions)) & - Detector::setDestinationUDPMAC, - py::arg(), py::arg() = Positions{}); + CppDetectorApi.def("setDestinationUDPMAC", + (void(Detector::*)(const sls::MacAddr, sls::Positions)) & + Detector::setDestinationUDPMAC, + py::arg(), py::arg() = Positions{}); CppDetectorApi.def( "getDestinationUDPMAC2", (Result(Detector::*)(sls::Positions) const) & Detector::getDestinationUDPMAC2, py::arg() = Positions{}); - CppDetectorApi.def( - "setDestinationUDPMAC2", - (void (Detector::*)(const sls::MacAddr, sls::Positions)) & - Detector::setDestinationUDPMAC2, - py::arg(), py::arg() = Positions{}); + CppDetectorApi.def("setDestinationUDPMAC2", + (void(Detector::*)(const sls::MacAddr, sls::Positions)) & + Detector::setDestinationUDPMAC2, + py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getDestinationUDPPort", (Result(Detector::*)(sls::Positions) const) & Detector::getDestinationUDPPort, py::arg() = Positions{}); CppDetectorApi.def("setDestinationUDPPort", - (void (Detector::*)(uint16_t, int)) & + (void(Detector::*)(uint16_t, int)) & Detector::setDestinationUDPPort, py::arg(), py::arg() = -1); CppDetectorApi.def("getDestinationUDPPort2", @@ -779,15 +775,15 @@ void init_det(py::module &m) { Detector::getDestinationUDPPort2, py::arg() = Positions{}); CppDetectorApi.def("setDestinationUDPPort2", - (void (Detector::*)(uint16_t, int)) & + (void(Detector::*)(uint16_t, int)) & Detector::setDestinationUDPPort2, py::arg(), py::arg() = -1); CppDetectorApi.def("reconfigureUDPDestination", - (void (Detector::*)(sls::Positions)) & + (void(Detector::*)(sls::Positions)) & Detector::reconfigureUDPDestination, py::arg() = Positions{}); CppDetectorApi.def("validateUDPConfiguration", - (void (Detector::*)(sls::Positions)) & + (void(Detector::*)(sls::Positions)) & Detector::validateUDPConfiguration, py::arg() = Positions{}); CppDetectorApi.def( @@ -800,7 +796,7 @@ void init_det(py::module &m) { Detector::getTenGiga, py::arg() = Positions{}); CppDetectorApi.def("setTenGiga", - (void (Detector::*)(bool, sls::Positions)) & + (void(Detector::*)(bool, sls::Positions)) & Detector::setTenGiga, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getTenGigaFlowControl", @@ -808,7 +804,7 @@ void init_det(py::module &m) { Detector::getTenGigaFlowControl, py::arg() = Positions{}); CppDetectorApi.def("setTenGigaFlowControl", - (void (Detector::*)(bool, sls::Positions)) & + (void(Detector::*)(bool, sls::Positions)) & Detector::setTenGigaFlowControl, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getTransmissionDelayFrame", @@ -816,7 +812,7 @@ void init_det(py::module &m) { Detector::getTransmissionDelayFrame, py::arg() = Positions{}); CppDetectorApi.def("setTransmissionDelayFrame", - (void (Detector::*)(int, sls::Positions)) & + (void(Detector::*)(int, sls::Positions)) & Detector::setTransmissionDelayFrame, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getTransmissionDelayLeft", @@ -824,7 +820,7 @@ void init_det(py::module &m) { Detector::getTransmissionDelayLeft, py::arg() = Positions{}); CppDetectorApi.def("setTransmissionDelayLeft", - (void (Detector::*)(int, sls::Positions)) & + (void(Detector::*)(int, sls::Positions)) & Detector::setTransmissionDelayLeft, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getTransmissionDelayRight", @@ -832,23 +828,23 @@ void init_det(py::module &m) { Detector::getTransmissionDelayRight, py::arg() = Positions{}); CppDetectorApi.def("setTransmissionDelayRight", - (void (Detector::*)(int, sls::Positions)) & + (void(Detector::*)(int, sls::Positions)) & Detector::setTransmissionDelayRight, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getTransmissionDelay", - (int (Detector::*)() const) & + (int(Detector::*)() const) & Detector::getTransmissionDelay); CppDetectorApi.def( "setTransmissionDelay", - (void (Detector::*)(int)) & Detector::setTransmissionDelay, py::arg()); + (void(Detector::*)(int)) & Detector::setTransmissionDelay, py::arg()); CppDetectorApi.def("getUDPDataStream", (Result(Detector::*)(const defs::portPosition, sls::Positions) const) & Detector::getUDPDataStream, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("setUDPDataStream", - (void (Detector::*)(const defs::portPosition, const bool, - sls::Positions)) & + (void(Detector::*)(const defs::portPosition, const bool, + sls::Positions)) & Detector::setUDPDataStream, py::arg(), py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getRxDisabledUDPPortIndices", @@ -868,26 +864,26 @@ void init_det(py::module &m) { py::arg() = Positions{}); CppDetectorApi.def( "setRxHostname", - (void (Detector::*)(const std::string &, sls::Positions)) & + (void(Detector::*)(const std::string &, sls::Positions)) & Detector::setRxHostname, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("setRxHostname", - (void (Detector::*)(const std::vector &)) & + (void(Detector::*)(const std::vector &)) & Detector::setRxHostname, py::arg()); CppDetectorApi.def("getRxPort", (Result(Detector::*)(sls::Positions) const) & Detector::getRxPort, py::arg() = Positions{}); - CppDetectorApi.def( - "setRxPort", (void (Detector::*)(uint16_t, int)) & Detector::setRxPort, - py::arg(), py::arg() = -1); + CppDetectorApi.def("setRxPort", + (void(Detector::*)(uint16_t, int)) & Detector::setRxPort, + py::arg(), py::arg() = -1); CppDetectorApi.def("getRxFifoDepth", (Result(Detector::*)(sls::Positions) const) & Detector::getRxFifoDepth, py::arg() = Positions{}); CppDetectorApi.def("setRxFifoDepth", - (void (Detector::*)(int, sls::Positions)) & + (void(Detector::*)(int, sls::Positions)) & Detector::setRxFifoDepth, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getRxSilentMode", @@ -895,7 +891,7 @@ void init_det(py::module &m) { Detector::getRxSilentMode, py::arg() = Positions{}); CppDetectorApi.def("setRxSilentMode", - (void (Detector::*)(bool, sls::Positions)) & + (void(Detector::*)(bool, sls::Positions)) & Detector::setRxSilentMode, py::arg(), py::arg() = Positions{}); CppDetectorApi.def( @@ -905,7 +901,7 @@ void init_det(py::module &m) { py::arg() = Positions{}); CppDetectorApi.def( "setRxFrameDiscardPolicy", - (void (Detector::*)(defs::frameDiscardPolicy, sls::Positions)) & + (void(Detector::*)(defs::frameDiscardPolicy, sls::Positions)) & Detector::setRxFrameDiscardPolicy, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getPartialFramesPadding", @@ -913,7 +909,7 @@ void init_det(py::module &m) { Detector::getPartialFramesPadding, py::arg() = Positions{}); CppDetectorApi.def("setPartialFramesPadding", - (void (Detector::*)(bool, sls::Positions)) & + (void(Detector::*)(bool, sls::Positions)) & Detector::setPartialFramesPadding, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getRxUDPSocketBufferSize", @@ -921,7 +917,7 @@ void init_det(py::module &m) { Detector::getRxUDPSocketBufferSize, py::arg() = Positions{}); CppDetectorApi.def("setRxUDPSocketBufferSize", - (void (Detector::*)(int, sls::Positions)) & + (void(Detector::*)(int, sls::Positions)) & Detector::setRxUDPSocketBufferSize, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getRxRealUDPSocketBufferSize", @@ -933,7 +929,7 @@ void init_det(py::module &m) { Detector::getRxLock, py::arg() = Positions{}); CppDetectorApi.def("setRxLock", - (void (Detector::*)(bool, sls::Positions)) & + (void(Detector::*)(bool, sls::Positions)) & Detector::setRxLock, py::arg(), py::arg() = Positions{}); CppDetectorApi.def( @@ -951,7 +947,7 @@ void init_det(py::module &m) { Detector::getRxArping, py::arg() = Positions{}); CppDetectorApi.def("setRxArping", - (void (Detector::*)(bool, sls::Positions)) & + (void(Detector::*)(bool, sls::Positions)) & Detector::setRxArping, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getRxROI", @@ -959,18 +955,18 @@ void init_det(py::module &m) { Detector::getRxROI, py::arg() = -1); CppDetectorApi.def("setRxROI", - (void (Detector::*)(const std::vector &)) & + (void(Detector::*)(const std::vector &)) & Detector::setRxROI, py::arg()); CppDetectorApi.def("clearRxROI", - (void (Detector::*)()) & Detector::clearRxROI); + (void(Detector::*)()) & Detector::clearRxROI); CppDetectorApi.def( "getFileFormat", (Result(Detector::*)(sls::Positions) const) & Detector::getFileFormat, py::arg() = Positions{}); CppDetectorApi.def("setFileFormat", - (void (Detector::*)(defs::fileFormat, sls::Positions)) & + (void(Detector::*)(defs::fileFormat, sls::Positions)) & Detector::setFileFormat, py::arg(), py::arg() = Positions{}); CppDetectorApi.def( @@ -980,7 +976,7 @@ void init_det(py::module &m) { py::arg() = Positions{}); CppDetectorApi.def( "setFilePath", - (void (Detector::*)(const std::string &, sls::Positions)) & + (void(Detector::*)(const std::string &, sls::Positions)) & Detector::setFilePath, py::arg(), py::arg() = Positions{}); CppDetectorApi.def( @@ -990,7 +986,7 @@ void init_det(py::module &m) { py::arg() = Positions{}); CppDetectorApi.def( "setFileNamePrefix", - (void (Detector::*)(const std::string &, sls::Positions)) & + (void(Detector::*)(const std::string &, sls::Positions)) & Detector::setFileNamePrefix, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getAcquisitionIndex", @@ -998,7 +994,7 @@ void init_det(py::module &m) { Detector::getAcquisitionIndex, py::arg() = Positions{}); CppDetectorApi.def("setAcquisitionIndex", - (void (Detector::*)(int64_t, sls::Positions)) & + (void(Detector::*)(int64_t, sls::Positions)) & Detector::setAcquisitionIndex, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getFileWrite", @@ -1006,20 +1002,20 @@ void init_det(py::module &m) { Detector::getFileWrite, py::arg() = Positions{}); CppDetectorApi.def("setFileWrite", - (void (Detector::*)(bool, sls::Positions)) & + (void(Detector::*)(bool, sls::Positions)) & Detector::setFileWrite, py::arg(), py::arg() = Positions{}); - CppDetectorApi.def("getMasterFileWrite", (bool (Detector::*)() const) & + CppDetectorApi.def("getMasterFileWrite", (bool(Detector::*)() const) & Detector::getMasterFileWrite); - CppDetectorApi.def( - "setMasterFileWrite", - (void (Detector::*)(bool)) & Detector::setMasterFileWrite, py::arg()); + CppDetectorApi.def("setMasterFileWrite", + (void(Detector::*)(bool)) & Detector::setMasterFileWrite, + py::arg()); CppDetectorApi.def("getFileOverWrite", (Result(Detector::*)(sls::Positions) const) & Detector::getFileOverWrite, py::arg() = Positions{}); CppDetectorApi.def("setFileOverWrite", - (void (Detector::*)(bool, sls::Positions)) & + (void(Detector::*)(bool, sls::Positions)) & Detector::setFileOverWrite, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getFramesPerFile", @@ -1027,7 +1023,7 @@ void init_det(py::module &m) { Detector::getFramesPerFile, py::arg() = Positions{}); CppDetectorApi.def("setFramesPerFile", - (void (Detector::*)(int, sls::Positions)) & + (void(Detector::*)(int, sls::Positions)) & Detector::setFramesPerFile, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getRxZmqDataStream", @@ -1035,7 +1031,7 @@ void init_det(py::module &m) { Detector::getRxZmqDataStream, py::arg() = Positions{}); CppDetectorApi.def("setRxZmqDataStream", - (void (Detector::*)(bool, sls::Positions)) & + (void(Detector::*)(bool, sls::Positions)) & Detector::setRxZmqDataStream, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getRxZmqFrequency", @@ -1043,7 +1039,7 @@ void init_det(py::module &m) { Detector::getRxZmqFrequency, py::arg() = Positions{}); CppDetectorApi.def("setRxZmqFrequency", - (void (Detector::*)(int, sls::Positions)) & + (void(Detector::*)(int, sls::Positions)) & Detector::setRxZmqFrequency, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getRxZmqTimer", @@ -1051,7 +1047,7 @@ void init_det(py::module &m) { Detector::getRxZmqTimer, py::arg() = Positions{}); CppDetectorApi.def("setRxZmqTimer", - (void (Detector::*)(int, sls::Positions)) & + (void(Detector::*)(int, sls::Positions)) & Detector::setRxZmqTimer, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getRxZmqStartingFrame", @@ -1059,7 +1055,7 @@ void init_det(py::module &m) { Detector::getRxZmqStartingFrame, py::arg() = Positions{}); CppDetectorApi.def("setRxZmqStartingFrame", - (void (Detector::*)(int, sls::Positions)) & + (void(Detector::*)(int, sls::Positions)) & Detector::setRxZmqStartingFrame, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getRxZmqPort", @@ -1067,7 +1063,7 @@ void init_det(py::module &m) { Detector::getRxZmqPort, py::arg() = Positions{}); CppDetectorApi.def("setRxZmqPort", - (void (Detector::*)(uint16_t, int)) & + (void(Detector::*)(uint16_t, int)) & Detector::setRxZmqPort, py::arg(), py::arg() = -1); CppDetectorApi.def("getClientZmqPort", @@ -1075,7 +1071,7 @@ void init_det(py::module &m) { Detector::getClientZmqPort, py::arg() = Positions{}); CppDetectorApi.def("setClientZmqPort", - (void (Detector::*)(uint16_t, int)) & + (void(Detector::*)(uint16_t, int)) & Detector::setClientZmqPort, py::arg(), py::arg() = -1); CppDetectorApi.def( @@ -1084,23 +1080,23 @@ void init_det(py::module &m) { Detector::getClientZmqIp, py::arg() = Positions{}); CppDetectorApi.def("setClientZmqIp", - (void (Detector::*)(const sls::IpAddr, sls::Positions)) & + (void(Detector::*)(const sls::IpAddr, sls::Positions)) & Detector::setClientZmqIp, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getClientZmqHwm", - (int (Detector::*)() const) & Detector::getClientZmqHwm); + (int(Detector::*)() const) & Detector::getClientZmqHwm); CppDetectorApi.def( "setClientZmqHwm", - (void (Detector::*)(const int)) & Detector::setClientZmqHwm, py::arg()); + (void(Detector::*)(const int)) & Detector::setClientZmqHwm, py::arg()); CppDetectorApi.def("getRxZmqHwm", (Result(Detector::*)(sls::Positions) const) & Detector::getRxZmqHwm, py::arg() = Positions{}); CppDetectorApi.def("setRxZmqHwm", - (void (Detector::*)(const int)) & Detector::setRxZmqHwm, + (void(Detector::*)(const int)) & Detector::setRxZmqHwm, py::arg()); CppDetectorApi.def("streamRxDummyHeader", - (void (Detector::*)(sls::Positions) const) & + (void(Detector::*)(sls::Positions) const) & Detector::streamRxDummyHeader, py::arg() = Positions{}); CppDetectorApi.def("getSubExptime", @@ -1108,7 +1104,7 @@ void init_det(py::module &m) { Detector::getSubExptime, py::arg() = Positions{}); CppDetectorApi.def("setSubExptime", - (void (Detector::*)(sls::ns, sls::Positions)) & + (void(Detector::*)(sls::ns, sls::Positions)) & Detector::setSubExptime, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getSubDeadTime", @@ -1116,7 +1112,7 @@ void init_det(py::module &m) { Detector::getSubDeadTime, py::arg() = Positions{}); CppDetectorApi.def("setSubDeadTime", - (void (Detector::*)(sls::ns, sls::Positions)) & + (void(Detector::*)(sls::ns, sls::Positions)) & Detector::setSubDeadTime, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getOverFlowMode", @@ -1124,7 +1120,7 @@ void init_det(py::module &m) { Detector::getOverFlowMode, py::arg() = Positions{}); CppDetectorApi.def("setOverFlowMode", - (void (Detector::*)(bool, sls::Positions)) & + (void(Detector::*)(bool, sls::Positions)) & Detector::setOverFlowMode, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getRateCorrection", @@ -1132,11 +1128,11 @@ void init_det(py::module &m) { Detector::getRateCorrection, py::arg() = Positions{}); CppDetectorApi.def("setDefaultRateCorrection", - (void (Detector::*)(sls::Positions)) & + (void(Detector::*)(sls::Positions)) & Detector::setDefaultRateCorrection, py::arg() = Positions{}); CppDetectorApi.def("setRateCorrection", - (void (Detector::*)(sls::ns, sls::Positions)) & + (void(Detector::*)(sls::ns, sls::Positions)) & Detector::setRateCorrection, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getInterruptSubframe", @@ -1144,7 +1140,7 @@ void init_det(py::module &m) { Detector::getInterruptSubframe, py::arg() = Positions{}); CppDetectorApi.def("setInterruptSubframe", - (void (Detector::*)(const bool, sls::Positions)) & + (void(Detector::*)(const bool, sls::Positions)) & Detector::setInterruptSubframe, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getMeasuredPeriod", @@ -1160,7 +1156,7 @@ void init_det(py::module &m) { Detector::getActive, py::arg() = Positions{}); CppDetectorApi.def("setActive", - (void (Detector::*)(const bool, sls::Positions)) & + (void(Detector::*)(const bool, sls::Positions)) & Detector::setActive, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getPartialReset", @@ -1168,19 +1164,19 @@ void init_det(py::module &m) { Detector::getPartialReset, py::arg() = Positions{}); CppDetectorApi.def("setPartialReset", - (void (Detector::*)(bool, sls::Positions)) & + (void(Detector::*)(bool, sls::Positions)) & Detector::setPartialReset, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("pulsePixel", - (void (Detector::*)(int, defs::xy, sls::Positions)) & + (void(Detector::*)(int, defs::xy, sls::Positions)) & Detector::pulsePixel, py::arg(), py::arg(), py::arg() = Positions{}); CppDetectorApi.def("pulsePixelNMove", - (void (Detector::*)(int, defs::xy, sls::Positions)) & + (void(Detector::*)(int, defs::xy, sls::Positions)) & Detector::pulsePixelNMove, py::arg(), py::arg(), py::arg() = Positions{}); CppDetectorApi.def("pulseChip", - (void (Detector::*)(int, sls::Positions)) & + (void(Detector::*)(int, sls::Positions)) & Detector::pulseChip, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getQuad", @@ -1188,14 +1184,14 @@ void init_det(py::module &m) { Detector::getQuad, py::arg() = Positions{}); CppDetectorApi.def("setQuad", - (void (Detector::*)(const bool)) & Detector::setQuad, + (void(Detector::*)(const bool)) & Detector::setQuad, py::arg()); CppDetectorApi.def("getTop", (Result(Detector::*)(sls::Positions) const) & Detector::getTop, py::arg() = Positions{}); CppDetectorApi.def( - "setTop", (void (Detector::*)(bool, sls::Positions)) & Detector::setTop, + "setTop", (void(Detector::*)(bool, sls::Positions)) & Detector::setTop, py::arg(), py::arg() = Positions{}); CppDetectorApi.def( "getChipVersion", @@ -1207,7 +1203,7 @@ void init_det(py::module &m) { Detector::getThresholdTemperature, py::arg() = Positions{}); CppDetectorApi.def("setThresholdTemperature", - (void (Detector::*)(int, sls::Positions)) & + (void(Detector::*)(int, sls::Positions)) & Detector::setThresholdTemperature, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getTemperatureControl", @@ -1215,7 +1211,7 @@ void init_det(py::module &m) { Detector::getTemperatureControl, py::arg() = Positions{}); CppDetectorApi.def("setTemperatureControl", - (void (Detector::*)(bool, sls::Positions)) & + (void(Detector::*)(bool, sls::Positions)) & Detector::setTemperatureControl, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getTemperatureEvent", @@ -1223,7 +1219,7 @@ void init_det(py::module &m) { Detector::getTemperatureEvent, py::arg() = Positions{}); CppDetectorApi.def("resetTemperatureEvent", - (void (Detector::*)(sls::Positions)) & + (void(Detector::*)(sls::Positions)) & Detector::resetTemperatureEvent, py::arg() = Positions{}); CppDetectorApi.def("getAutoComparatorDisable", @@ -1231,7 +1227,7 @@ void init_det(py::module &m) { Detector::getAutoComparatorDisable, py::arg() = Positions{}); CppDetectorApi.def("setAutoComparatorDisable", - (void (Detector::*)(bool, sls::Positions)) & + (void(Detector::*)(bool, sls::Positions)) & Detector::setAutoComparatorDisable, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getComparatorDisableTime", @@ -1239,7 +1235,7 @@ void init_det(py::module &m) { Detector::getComparatorDisableTime, py::arg() = Positions{}); CppDetectorApi.def("setComparatorDisableTime", - (void (Detector::*)(sls::ns, sls::Positions)) & + (void(Detector::*)(sls::ns, sls::Positions)) & Detector::setComparatorDisableTime, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getNumberOfAdditionalStorageCells", @@ -1247,7 +1243,7 @@ void init_det(py::module &m) { Detector::getNumberOfAdditionalStorageCells, py::arg() = Positions{}); CppDetectorApi.def("setNumberOfAdditionalStorageCells", - (void (Detector::*)(int)) & + (void(Detector::*)(int)) & Detector::setNumberOfAdditionalStorageCells, py::arg()); CppDetectorApi.def("getStorageCellStart", @@ -1255,7 +1251,7 @@ void init_det(py::module &m) { Detector::getStorageCellStart, py::arg() = Positions{}); CppDetectorApi.def("setStorageCellStart", - (void (Detector::*)(int, sls::Positions)) & + (void(Detector::*)(int, sls::Positions)) & Detector::setStorageCellStart, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getStorageCellDelay", @@ -1263,7 +1259,7 @@ void init_det(py::module &m) { Detector::getStorageCellDelay, py::arg() = Positions{}); CppDetectorApi.def("setStorageCellDelay", - (void (Detector::*)(sls::ns, sls::Positions)) & + (void(Detector::*)(sls::ns, sls::Positions)) & Detector::setStorageCellDelay, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getGainModeList", @@ -1276,7 +1272,7 @@ void init_det(py::module &m) { py::arg() = Positions{}); CppDetectorApi.def( "setGainMode", - (void (Detector::*)(const defs::gainMode, sls::Positions)) & + (void(Detector::*)(const defs::gainMode, sls::Positions)) & Detector::setGainMode, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getNumberOfFilterCells", @@ -1284,7 +1280,7 @@ void init_det(py::module &m) { Detector::getNumberOfFilterCells, py::arg() = Positions{}); CppDetectorApi.def("setNumberOfFilterCells", - (void (Detector::*)(int, sls::Positions)) & + (void(Detector::*)(int, sls::Positions)) & Detector::setNumberOfFilterCells, py::arg(), py::arg() = Positions{}); CppDetectorApi.def( @@ -1294,7 +1290,7 @@ void init_det(py::module &m) { py::arg() = Positions{}); CppDetectorApi.def( "setPedestalMode", - (void (Detector::*)(const defs::pedestalParameters, sls::Positions)) & + (void(Detector::*)(const defs::pedestalParameters, sls::Positions)) & Detector::setPedestalMode, py::arg(), py::arg() = Positions{}); CppDetectorApi.def( @@ -1304,7 +1300,7 @@ void init_det(py::module &m) { py::arg() = Positions{}); CppDetectorApi.def( "setTimingInfoDecoder", - (void (Detector::*)(defs::timingInfoDecoder, sls::Positions)) & + (void(Detector::*)(defs::timingInfoDecoder, sls::Positions)) & Detector::setTimingInfoDecoder, py::arg(), py::arg() = Positions{}); CppDetectorApi.def( @@ -1314,7 +1310,7 @@ void init_det(py::module &m) { py::arg() = Positions{}); CppDetectorApi.def( "setCollectionMode", - (void (Detector::*)(defs::collectionMode, sls::Positions)) & + (void(Detector::*)(defs::collectionMode, sls::Positions)) & Detector::setCollectionMode, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getNumberOfBursts", @@ -1323,13 +1319,13 @@ void init_det(py::module &m) { py::arg() = Positions{}); CppDetectorApi.def( "setNumberOfBursts", - (void (Detector::*)(int64_t)) & Detector::setNumberOfBursts, py::arg()); + (void(Detector::*)(int64_t)) & Detector::setNumberOfBursts, py::arg()); CppDetectorApi.def("getBurstPeriod", (Result(Detector::*)(sls::Positions) const) & Detector::getBurstPeriod, py::arg() = Positions{}); CppDetectorApi.def("setBurstPeriod", - (void (Detector::*)(sls::ns, sls::Positions)) & + (void(Detector::*)(sls::ns, sls::Positions)) & Detector::setBurstPeriod, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getNumberOfBurstsLeft", @@ -1343,28 +1339,28 @@ void init_det(py::module &m) { py::arg() = Positions{}); CppDetectorApi.def( "setInjectChannel", - (void (Detector::*)(const int, const int, sls::Positions)) & + (void(Detector::*)(const int, const int, sls::Positions)) & Detector::setInjectChannel, py::arg(), py::arg(), py::arg() = Positions{}); CppDetectorApi.def( "getVetoPhoton", - (void (Detector::*)(const int, const std::string &, sls::Positions)) & + (void(Detector::*)(const int, const std::string &, sls::Positions)) & Detector::getVetoPhoton, py::arg(), py::arg(), py::arg() = Positions{}); CppDetectorApi.def( "setVetoPhoton", - (void (Detector::*)(const int, const int, const int, - const std::string &, sls::Positions)) & + (void(Detector::*)(const int, const int, const int, const std::string &, + sls::Positions)) & Detector::setVetoPhoton, py::arg(), py::arg(), py::arg(), py::arg(), py::arg() = Positions{}); CppDetectorApi.def( "setVetoReference", - (void (Detector::*)(const int, const int, sls::Positions)) & + (void(Detector::*)(const int, const int, sls::Positions)) & Detector::setVetoReference, py::arg(), py::arg(), py::arg() = Positions{}); CppDetectorApi.def( "setVetoFile", - (void (Detector::*)(const int, const std::string &, sls::Positions)) & + (void(Detector::*)(const int, const std::string &, sls::Positions)) & Detector::setVetoFile, py::arg(), py::arg(), py::arg() = Positions{}); CppDetectorApi.def( @@ -1373,7 +1369,7 @@ void init_det(py::module &m) { Detector::getBurstMode, py::arg() = Positions{}); CppDetectorApi.def("setBurstMode", - (void (Detector::*)(defs::burstMode, sls::Positions)) & + (void(Detector::*)(defs::burstMode, sls::Positions)) & Detector::setBurstMode, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getCDSGain", @@ -1381,7 +1377,7 @@ void init_det(py::module &m) { Detector::getCDSGain, py::arg() = Positions{}); CppDetectorApi.def("setCDSGain", - (void (Detector::*)(bool, sls::Positions)) & + (void(Detector::*)(bool, sls::Positions)) & Detector::setCDSGain, py::arg(), py::arg() = Positions{}); CppDetectorApi.def( @@ -1391,7 +1387,7 @@ void init_det(py::module &m) { py::arg() = Positions{}); CppDetectorApi.def( "setTimingSource", - (void (Detector::*)(defs::timingSourceType, sls::Positions)) & + (void(Detector::*)(defs::timingSourceType, sls::Positions)) & Detector::setTimingSource, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getVeto", @@ -1399,7 +1395,7 @@ void init_det(py::module &m) { Detector::getVeto, py::arg() = Positions{}); CppDetectorApi.def("setVeto", - (void (Detector::*)(const bool, sls::Positions)) & + (void(Detector::*)(const bool, sls::Positions)) & Detector::setVeto, py::arg(), py::arg() = Positions{}); CppDetectorApi.def( @@ -1409,7 +1405,7 @@ void init_det(py::module &m) { py::arg() = Positions{}); CppDetectorApi.def( "setVetoStream", - (void (Detector::*)(const defs::streamingInterface, sls::Positions)) & + (void(Detector::*)(const defs::streamingInterface, sls::Positions)) & Detector::setVetoStream, py::arg(), py::arg() = Positions{}); CppDetectorApi.def( @@ -1420,8 +1416,8 @@ void init_det(py::module &m) { py::arg(), py::arg() = Positions{}); CppDetectorApi.def( "setVetoAlgorithm", - (void (Detector::*)(const defs::vetoAlgorithm, - const defs::streamingInterface, sls::Positions)) & + (void(Detector::*)(const defs::vetoAlgorithm, + const defs::streamingInterface, sls::Positions)) & Detector::setVetoAlgorithm, py::arg(), py::arg(), py::arg() = Positions{}); CppDetectorApi.def( @@ -1431,7 +1427,7 @@ void init_det(py::module &m) { py::arg(), py::arg(), py::arg() = Positions{}); CppDetectorApi.def( "setADCConfiguration", - (void (Detector::*)(const int, const int, const int, sls::Positions)) & + (void(Detector::*)(const int, const int, const int, sls::Positions)) & Detector::setADCConfiguration, py::arg(), py::arg(), py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getCounterMask", @@ -1439,7 +1435,7 @@ void init_det(py::module &m) { Detector::getCounterMask, py::arg() = Positions{}); CppDetectorApi.def("setCounterMask", - (void (Detector::*)(uint32_t, sls::Positions)) & + (void(Detector::*)(uint32_t, sls::Positions)) & Detector::setCounterMask, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getNumberOfGates", @@ -1447,7 +1443,7 @@ void init_det(py::module &m) { Detector::getNumberOfGates, py::arg() = Positions{}); CppDetectorApi.def("setNumberOfGates", - (void (Detector::*)(int, sls::Positions)) & + (void(Detector::*)(int, sls::Positions)) & Detector::setNumberOfGates, py::arg(), py::arg() = Positions{}); CppDetectorApi.def( @@ -1456,12 +1452,12 @@ void init_det(py::module &m) { Detector::getExptime, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("setExptime", - (void (Detector::*)(int, sls::ns, sls::Positions)) & + (void(Detector::*)(int, sls::ns, sls::Positions)) & Detector::setExptime, py::arg(), py::arg(), py::arg() = Positions{}); CppDetectorApi.def( "getExptimeForAllGates", - (Result>(Detector::*)(sls::Positions) const) & + (Result>(Detector::*)(sls::Positions) const) & Detector::getExptimeForAllGates, py::arg() = Positions{}); CppDetectorApi.def( @@ -1470,12 +1466,12 @@ void init_det(py::module &m) { Detector::getGateDelay, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("setGateDelay", - (void (Detector::*)(int, sls::ns, sls::Positions)) & + (void(Detector::*)(int, sls::ns, sls::Positions)) & Detector::setGateDelay, py::arg(), py::arg(), py::arg() = Positions{}); CppDetectorApi.def( "getGateDelayForAllGates", - (Result>(Detector::*)(sls::Positions) const) & + (Result>(Detector::*)(sls::Positions) const) & Detector::getGateDelayForAllGates, py::arg() = Positions{}); CppDetectorApi.def("getChipStatusRegister", @@ -1483,7 +1479,7 @@ void init_det(py::module &m) { Detector::getChipStatusRegister, py::arg() = Positions{}); CppDetectorApi.def("setGainCaps", - (void (Detector::*)(int, sls::Positions)) & + (void(Detector::*)(int, sls::Positions)) & Detector::setGainCaps, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getGainCaps", @@ -1496,7 +1492,7 @@ void init_det(py::module &m) { Detector::getPolarity, py::arg() = Positions{}); CppDetectorApi.def("setPolarity", - (void (Detector::*)(defs::polarity, sls::Positions)) & + (void(Detector::*)(defs::polarity, sls::Positions)) & Detector::setPolarity, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getInterpolation", @@ -1504,7 +1500,7 @@ void init_det(py::module &m) { Detector::getInterpolation, py::arg() = Positions{}); CppDetectorApi.def("setInterpolation", - (void (Detector::*)(bool, sls::Positions)) & + (void(Detector::*)(bool, sls::Positions)) & Detector::setInterpolation, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getPumpProbe", @@ -1512,7 +1508,7 @@ void init_det(py::module &m) { Detector::getPumpProbe, py::arg() = Positions{}); CppDetectorApi.def("setPumpProbe", - (void (Detector::*)(bool, sls::Positions)) & + (void(Detector::*)(bool, sls::Positions)) & Detector::setPumpProbe, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getAnalogPulsing", @@ -1520,7 +1516,7 @@ void init_det(py::module &m) { Detector::getAnalogPulsing, py::arg() = Positions{}); CppDetectorApi.def("setAnalogPulsing", - (void (Detector::*)(bool, sls::Positions)) & + (void(Detector::*)(bool, sls::Positions)) & Detector::setAnalogPulsing, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getDigitalPulsing", @@ -1528,7 +1524,7 @@ void init_det(py::module &m) { Detector::getDigitalPulsing, py::arg() = Positions{}); CppDetectorApi.def("setDigitalPulsing", - (void (Detector::*)(bool, sls::Positions)) & + (void(Detector::*)(bool, sls::Positions)) & Detector::setDigitalPulsing, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getNumberOfAnalogSamples", @@ -1536,7 +1532,7 @@ void init_det(py::module &m) { Detector::getNumberOfAnalogSamples, py::arg() = Positions{}); CppDetectorApi.def("setNumberOfAnalogSamples", - (void (Detector::*)(int, sls::Positions)) & + (void(Detector::*)(int, sls::Positions)) & Detector::setNumberOfAnalogSamples, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getADCClock", @@ -1544,7 +1540,7 @@ void init_det(py::module &m) { Detector::getADCClock, py::arg() = Positions{}); CppDetectorApi.def("setADCClock", - (void (Detector::*)(defs::Hz, sls::Positions)) & + (void(Detector::*)(defs::Hz, sls::Positions)) & Detector::setADCClock, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getRUNClock", @@ -1552,7 +1548,7 @@ void init_det(py::module &m) { Detector::getRUNClock, py::arg() = Positions{}); CppDetectorApi.def("setRUNClock", - (void (Detector::*)(defs::Hz, sls::Positions)) & + (void(Detector::*)(defs::Hz, sls::Positions)) & Detector::setRUNClock, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getDBITClock", @@ -1560,7 +1556,7 @@ void init_det(py::module &m) { Detector::getDBITClock, py::arg() = Positions{}); CppDetectorApi.def("setDBITClock", - (void (Detector::*)(defs::Hz, sls::Positions)) & + (void(Detector::*)(defs::Hz, sls::Positions)) & Detector::setDBITClock, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getSYNCClock", @@ -1571,35 +1567,35 @@ void init_det(py::module &m) { (std::vector(Detector::*)() const) & Detector::getPowerList); CppDetectorApi.def("getPowerDAC", - (int (Detector::*)(defs::powerIndex) const) & + (int(Detector::*)(defs::powerIndex) const) & Detector::getPowerDAC, py::arg()); CppDetectorApi.def("setPowerDAC", - (void (Detector::*)(defs::powerIndex, int)) & + (void(Detector::*)(defs::powerIndex, int)) & Detector::setPowerDAC, py::arg(), py::arg()); CppDetectorApi.def("isPowerEnabled", - (bool (Detector::*)(defs::powerIndex) const) & + (bool(Detector::*)(defs::powerIndex) const) & Detector::isPowerEnabled, py::arg()); CppDetectorApi.def( "setPowerEnabled", - (void (Detector::*)(const std::vector &, bool)) & + (void(Detector::*)(const std::vector &, bool)) & Detector::setPowerEnabled, py::arg(), py::arg()); CppDetectorApi.def("getMeasuredPower", - (int (Detector::*)(defs::powerIndex) const) & + (int(Detector::*)(defs::powerIndex) const) & Detector::getMeasuredPower, py::arg()); CppDetectorApi.def("getMeasuredCurrent", - (int (Detector::*)(defs::powerIndex) const) & + (int(Detector::*)(defs::powerIndex) const) & Detector::getMeasuredCurrent, py::arg()); CppDetectorApi.def("getVoltageLimit", - (int (Detector::*)() const) & Detector::getVoltageLimit); + (int(Detector::*)() const) & Detector::getVoltageLimit); CppDetectorApi.def( "setVoltageLimit", - (void (Detector::*)(const int)) & Detector::setVoltageLimit, py::arg()); + (void(Detector::*)(const int)) & Detector::setVoltageLimit, py::arg()); CppDetectorApi.def("getSlowADCList", (std::vector(Detector::*)() const) & Detector::getSlowADCList); @@ -1613,7 +1609,7 @@ void init_det(py::module &m) { Detector::getADCVpp, py::arg() = false, py::arg() = Positions{}); CppDetectorApi.def("setADCVpp", - (void (Detector::*)(int, bool, sls::Positions)) & + (void(Detector::*)(int, bool, sls::Positions)) & Detector::setADCVpp, py::arg(), py::arg() = false, py::arg() = Positions{}); CppDetectorApi.def("getADCEnableMask", @@ -1621,7 +1617,7 @@ void init_det(py::module &m) { Detector::getADCEnableMask, py::arg() = Positions{}); CppDetectorApi.def("setADCEnableMask", - (void (Detector::*)(uint32_t, sls::Positions)) & + (void(Detector::*)(uint32_t, sls::Positions)) & Detector::setADCEnableMask, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getTenGigaADCEnableMask", @@ -1629,7 +1625,7 @@ void init_det(py::module &m) { Detector::getTenGigaADCEnableMask, py::arg() = Positions{}); CppDetectorApi.def("setTenGigaADCEnableMask", - (void (Detector::*)(uint32_t, sls::Positions)) & + (void(Detector::*)(uint32_t, sls::Positions)) & Detector::setTenGigaADCEnableMask, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getTransceiverEnableMask", @@ -1637,7 +1633,7 @@ void init_det(py::module &m) { Detector::getTransceiverEnableMask, py::arg() = Positions{}); CppDetectorApi.def("setTransceiverEnableMask", - (void (Detector::*)(uint32_t, sls::Positions)) & + (void(Detector::*)(uint32_t, sls::Positions)) & Detector::setTransceiverEnableMask, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getNumberOfDigitalSamples", @@ -1645,7 +1641,7 @@ void init_det(py::module &m) { Detector::getNumberOfDigitalSamples, py::arg() = Positions{}); CppDetectorApi.def("setNumberOfDigitalSamples", - (void (Detector::*)(int, sls::Positions)) & + (void(Detector::*)(int, sls::Positions)) & Detector::setNumberOfDigitalSamples, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getNumberOfTransceiverSamples", @@ -1653,7 +1649,7 @@ void init_det(py::module &m) { Detector::getNumberOfTransceiverSamples, py::arg() = Positions{}); CppDetectorApi.def("setNumberOfTransceiverSamples", - (void (Detector::*)(int, sls::Positions)) & + (void(Detector::*)(int, sls::Positions)) & Detector::setNumberOfTransceiverSamples, py::arg(), py::arg() = Positions{}); CppDetectorApi.def( @@ -1662,7 +1658,7 @@ void init_det(py::module &m) { Detector::getReadoutMode, py::arg() = Positions{}); CppDetectorApi.def("setReadoutMode", - (void (Detector::*)(defs::readoutMode, sls::Positions)) & + (void(Detector::*)(defs::readoutMode, sls::Positions)) & Detector::setReadoutMode, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getExternalSamplingSource", @@ -1670,7 +1666,7 @@ void init_det(py::module &m) { Detector::getExternalSamplingSource, py::arg() = Positions{}); CppDetectorApi.def("setExternalSamplingSource", - (void (Detector::*)(int, sls::Positions)) & + (void(Detector::*)(int, sls::Positions)) & Detector::setExternalSamplingSource, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getExternalSampling", @@ -1678,7 +1674,7 @@ void init_det(py::module &m) { Detector::getExternalSampling, py::arg() = Positions{}); CppDetectorApi.def("setExternalSampling", - (void (Detector::*)(bool, sls::Positions)) & + (void(Detector::*)(bool, sls::Positions)) & Detector::setExternalSampling, py::arg(), py::arg() = Positions{}); CppDetectorApi.def( @@ -1688,7 +1684,7 @@ void init_det(py::module &m) { py::arg() = Positions{}); CppDetectorApi.def( "setRxDbitList", - (void (Detector::*)(const std::vector &, sls::Positions)) & + (void(Detector::*)(const std::vector &, sls::Positions)) & Detector::setRxDbitList, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getRxDbitOffset", @@ -1696,7 +1692,7 @@ void init_det(py::module &m) { Detector::getRxDbitOffset, py::arg() = Positions{}); CppDetectorApi.def("setRxDbitOffset", - (void (Detector::*)(int, sls::Positions)) & + (void(Detector::*)(int, sls::Positions)) & Detector::setRxDbitOffset, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getRxDbitReorder", @@ -1704,11 +1700,11 @@ void init_det(py::module &m) { Detector::getRxDbitReorder, py::arg() = Positions{}); CppDetectorApi.def("setRxDbitReorder", - (void (Detector::*)(bool, sls::Positions)) & + (void(Detector::*)(bool, sls::Positions)) & Detector::setRxDbitReorder, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("setDigitalIODelay", - (void (Detector::*)(uint64_t, int, sls::Positions)) & + (void(Detector::*)(uint64_t, int, sls::Positions)) & Detector::setDigitalIODelay, py::arg(), py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getLEDEnable", @@ -1716,11 +1712,11 @@ void init_det(py::module &m) { Detector::getLEDEnable, py::arg() = Positions{}); CppDetectorApi.def("setLEDEnable", - (void (Detector::*)(bool, sls::Positions)) & + (void(Detector::*)(bool, sls::Positions)) & Detector::setLEDEnable, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("setDacNames", - (void (Detector::*)(const std::vector)) & + (void(Detector::*)(const std::vector)) & Detector::setDacNames, py::arg()); CppDetectorApi.def("getDacNames", @@ -1733,7 +1729,7 @@ void init_det(py::module &m) { py::arg()); CppDetectorApi.def( "setDacName", - (void (Detector::*)(const defs::dacIndex, const std::string &)) & + (void(Detector::*)(const defs::dacIndex, const std::string &)) & Detector::setDacName, py::arg(), py::arg()); CppDetectorApi.def("getDacName", @@ -1741,18 +1737,18 @@ void init_det(py::module &m) { Detector::getDacName, py::arg()); CppDetectorApi.def("setAdcNames", - (void (Detector::*)(const std::vector)) & + (void(Detector::*)(const std::vector)) & Detector::setAdcNames, py::arg()); CppDetectorApi.def("getAdcNames", (std::vector(Detector::*)() const) & Detector::getAdcNames); CppDetectorApi.def("getAdcIndex", - (int (Detector::*)(const std::string &) const) & + (int(Detector::*)(const std::string &) const) & Detector::getAdcIndex, py::arg()); CppDetectorApi.def("setAdcName", - (void (Detector::*)(const int, const std::string &)) & + (void(Detector::*)(const int, const std::string &)) & Detector::setAdcName, py::arg(), py::arg()); CppDetectorApi.def("getAdcName", @@ -1760,18 +1756,18 @@ void init_det(py::module &m) { Detector::getAdcName, py::arg()); CppDetectorApi.def("setSignalNames", - (void (Detector::*)(const std::vector)) & + (void(Detector::*)(const std::vector)) & Detector::setSignalNames, py::arg()); CppDetectorApi.def("getSignalNames", (std::vector(Detector::*)() const) & Detector::getSignalNames); CppDetectorApi.def("getSignalIndex", - (int (Detector::*)(const std::string &) const) & + (int(Detector::*)(const std::string &) const) & Detector::getSignalIndex, py::arg()); CppDetectorApi.def("setSignalName", - (void (Detector::*)(const int, const std::string &)) & + (void(Detector::*)(const int, const std::string &)) & Detector::setSignalName, py::arg(), py::arg()); CppDetectorApi.def("getSignalName", @@ -1779,7 +1775,7 @@ void init_det(py::module &m) { Detector::getSignalName, py::arg()); CppDetectorApi.def("setPowerNames", - (void (Detector::*)(const std::vector)) & + (void(Detector::*)(const std::vector)) & Detector::setPowerNames, py::arg()); CppDetectorApi.def("getPowerNames", @@ -1792,7 +1788,7 @@ void init_det(py::module &m) { py::arg()); CppDetectorApi.def( "setPowerName", - (void (Detector::*)(const defs::powerIndex, const std::string &)) & + (void(Detector::*)(const defs::powerIndex, const std::string &)) & Detector::setPowerName, py::arg(), py::arg()); CppDetectorApi.def( @@ -1801,7 +1797,7 @@ void init_det(py::module &m) { Detector::getPowerName, py::arg()); CppDetectorApi.def("setSlowADCNames", - (void (Detector::*)(const std::vector)) & + (void(Detector::*)(const std::vector)) & Detector::setSlowADCNames, py::arg()); CppDetectorApi.def("getSlowADCNames", @@ -1814,7 +1810,7 @@ void init_det(py::module &m) { py::arg()); CppDetectorApi.def( "setSlowADCName", - (void (Detector::*)(const defs::dacIndex, const std::string &)) & + (void(Detector::*)(const defs::dacIndex, const std::string &)) & Detector::setSlowADCName, py::arg(), py::arg()); CppDetectorApi.def("getSlowADCName", @@ -1822,19 +1818,19 @@ void init_det(py::module &m) { Detector::getSlowADCName, py::arg()); CppDetectorApi.def("getRegisterDefinitionsCount", - (int (Detector::*)() const) & + (int(Detector::*)() const) & Detector::getRegisterDefinitionsCount); CppDetectorApi.def( "setRegisterDefinition", - (void (Detector::*)(const std::string &, sls::RegisterAddress)) & + (void(Detector::*)(const std::string &, sls::RegisterAddress)) & Detector::setRegisterDefinition, py::arg(), py::arg()); CppDetectorApi.def("hasRegisterDefinition", - (bool (Detector::*)(const std::string &) const) & + (bool(Detector::*)(const std::string &) const) & Detector::hasRegisterDefinition, py::arg()); CppDetectorApi.def("hasRegisterDefinition", - (bool (Detector::*)(sls::RegisterAddress) const) & + (bool(Detector::*)(sls::RegisterAddress) const) & Detector::hasRegisterDefinition, py::arg()); CppDetectorApi.def( @@ -1847,31 +1843,32 @@ void init_det(py::module &m) { Detector::getRegisterName, py::arg()); CppDetectorApi.def("clearRegisterDefinitions", - (void (Detector::*)()) & + (void(Detector::*)()) & Detector::clearRegisterDefinitions); CppDetectorApi.def( "setRegisterDefinitions", - (void (Detector::*)(const std::map &)) & + (void(Detector::*)( + const std::map &)) & Detector::setRegisterDefinitions, py::arg()); CppDetectorApi.def( "getRegisterDefinitions", - (std::map(Detector::*)() const) & + (std::map(Detector::*)() const) & Detector::getRegisterDefinitions); CppDetectorApi.def("getBitDefinitionsCount", - (int (Detector::*)() const) & + (int(Detector::*)() const) & Detector::getBitDefinitionsCount); CppDetectorApi.def( "setBitDefinition", - (void (Detector::*)(const std::string &, sls::BitAddress)) & + (void(Detector::*)(const std::string &, sls::BitAddress)) & Detector::setBitDefinition, py::arg(), py::arg()); CppDetectorApi.def("hasBitDefinition", - (bool (Detector::*)(const std::string &) const) & + (bool(Detector::*)(const std::string &) const) & Detector::hasBitDefinition, py::arg()); CppDetectorApi.def("hasBitDefinition", - (bool (Detector::*)(sls::BitAddress) const) & + (bool(Detector::*)(sls::BitAddress) const) & Detector::hasBitDefinition, py::arg()); CppDetectorApi.def("toRegisterNameBitString", @@ -1888,17 +1885,18 @@ void init_det(py::module &m) { Detector::getBitName, py::arg()); CppDetectorApi.def("clearBitDefinitions", - (void (Detector::*)()) & Detector::clearBitDefinitions); + (void(Detector::*)()) & Detector::clearBitDefinitions); CppDetectorApi.def( "setBitDefinitions", - (void (Detector::*)(const std::map &)) & + (void(Detector::*)(const std::map &)) & Detector::setBitDefinitions, py::arg()); - CppDetectorApi.def("getBitDefinitions", (std::map( - Detector::*)() const) & - Detector::getBitDefinitions); + CppDetectorApi.def( + "getBitDefinitions", + (std::map(Detector::*)() const) & + Detector::getBitDefinitions); CppDetectorApi.def("configureTransceiver", - (void (Detector::*)(sls::Positions)) & + (void(Detector::*)(sls::Positions)) & Detector::configureTransceiver, py::arg() = Positions{}); CppDetectorApi.def( @@ -1908,20 +1906,20 @@ void init_det(py::module &m) { py::arg() = Positions{}); CppDetectorApi.def( "setPattern", - (void (Detector::*)(const std::string &, sls::Positions)) & + (void(Detector::*)(const std::string &, sls::Positions)) & Detector::setPattern, py::arg(), py::arg() = Positions{}); CppDetectorApi.def( "setPattern", - (void (Detector::*)(const sls::Pattern &, sls::Positions)) & + (void(Detector::*)(const sls::Pattern &, sls::Positions)) & Detector::setPattern, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("savePattern", - (void (Detector::*)(const std::string &)) & + (void(Detector::*)(const std::string &)) & Detector::savePattern, py::arg()); CppDetectorApi.def("loadDefaultPattern", - (void (Detector::*)(sls::Positions)) & + (void(Detector::*)(sls::Positions)) & Detector::loadDefaultPattern, py::arg() = Positions{}); CppDetectorApi.def("getPatternIOControl", @@ -1929,7 +1927,7 @@ void init_det(py::module &m) { Detector::getPatternIOControl, py::arg() = Positions{}); CppDetectorApi.def("setPatternIOControl", - (void (Detector::*)(uint64_t, sls::Positions)) & + (void(Detector::*)(uint64_t, sls::Positions)) & Detector::setPatternIOControl, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getPatternWord", @@ -1937,7 +1935,7 @@ void init_det(py::module &m) { Detector::getPatternWord, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("setPatternWord", - (void (Detector::*)(int, uint64_t, sls::Positions)) & + (void(Detector::*)(int, uint64_t, sls::Positions)) & Detector::setPatternWord, py::arg(), py::arg(), py::arg() = Positions{}); CppDetectorApi.def( @@ -1946,7 +1944,7 @@ void init_det(py::module &m) { Detector::getPatternLoopAddresses, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("setPatternLoopAddresses", - (void (Detector::*)(int, int, int, sls::Positions)) & + (void(Detector::*)(int, int, int, sls::Positions)) & Detector::setPatternLoopAddresses, py::arg(), py::arg(), py::arg(), py::arg() = Positions{}); @@ -1955,7 +1953,7 @@ void init_det(py::module &m) { Detector::getPatternLoopCycles, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("setPatternLoopCycles", - (void (Detector::*)(int, int, sls::Positions)) & + (void(Detector::*)(int, int, sls::Positions)) & Detector::setPatternLoopCycles, py::arg(), py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getPatternWaitAddr", @@ -1963,7 +1961,7 @@ void init_det(py::module &m) { Detector::getPatternWaitAddr, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("setPatternWaitAddr", - (void (Detector::*)(int, int, sls::Positions)) & + (void(Detector::*)(int, int, sls::Positions)) & Detector::setPatternWaitAddr, py::arg(), py::arg(), py::arg() = Positions{}); CppDetectorApi.def( @@ -1972,7 +1970,7 @@ void init_det(py::module &m) { Detector::getPatternWaitClocks, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("setPatternWaitClocks", - (void (Detector::*)(int, uint64_t, sls::Positions)) & + (void(Detector::*)(int, uint64_t, sls::Positions)) & Detector::setPatternWaitClocks, py::arg(), py::arg(), py::arg() = Positions{}); CppDetectorApi.def( @@ -1981,7 +1979,7 @@ void init_det(py::module &m) { Detector::getPatternWaitInterval, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("setPatternWaitInterval", - (void (Detector::*)(int, sls::ns, sls::Positions)) & + (void(Detector::*)(int, sls::ns, sls::Positions)) & Detector::setPatternWaitInterval, py::arg(), py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getPatternMask", @@ -1989,7 +1987,7 @@ void init_det(py::module &m) { Detector::getPatternMask, py::arg() = Positions{}); CppDetectorApi.def("setPatternMask", - (void (Detector::*)(uint64_t, sls::Positions)) & + (void(Detector::*)(uint64_t, sls::Positions)) & Detector::setPatternMask, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getPatternBitMask", @@ -1997,11 +1995,11 @@ void init_det(py::module &m) { Detector::getPatternBitMask, py::arg() = Positions{}); CppDetectorApi.def("setPatternBitMask", - (void (Detector::*)(uint64_t, sls::Positions)) & + (void(Detector::*)(uint64_t, sls::Positions)) & Detector::setPatternBitMask, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("startPattern", - (void (Detector::*)(sls::Positions)) & + (void(Detector::*)(sls::Positions)) & Detector::startPattern, py::arg() = Positions{}); CppDetectorApi.def("getAdditionalJsonHeader", @@ -2011,8 +2009,8 @@ void init_det(py::module &m) { py::arg() = Positions{}); CppDetectorApi.def( "setAdditionalJsonHeader", - (void (Detector::*)(const std::map &, - sls::Positions)) & + (void(Detector::*)(const std::map &, + sls::Positions)) & Detector::setAdditionalJsonHeader, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getAdditionalJsonParameter", @@ -2022,8 +2020,8 @@ void init_det(py::module &m) { py::arg(), py::arg() = Positions{}); CppDetectorApi.def( "setAdditionalJsonParameter", - (void (Detector::*)(const std::string &, const std::string &, - sls::Positions)) & + (void(Detector::*)(const std::string &, const std::string &, + sls::Positions)) & Detector::setAdditionalJsonParameter, py::arg(), py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getADCPipeline", @@ -2031,35 +2029,35 @@ void init_det(py::module &m) { Detector::getADCPipeline, py::arg() = Positions{}); CppDetectorApi.def("setADCPipeline", - (void (Detector::*)(int, sls::Positions)) & + (void(Detector::*)(int, sls::Positions)) & Detector::setADCPipeline, py::arg(), py::arg() = Positions{}); CppDetectorApi.def( "programFPGA", - (void (Detector::*)(const std::string &, const bool, sls::Positions)) & + (void(Detector::*)(const std::string &, const bool, sls::Positions)) & Detector::programFPGA, py::arg(), py::arg(), py::arg() = Positions{}); CppDetectorApi.def( - "resetFPGA", (void (Detector::*)(sls::Positions)) & Detector::resetFPGA, + "resetFPGA", (void(Detector::*)(sls::Positions)) & Detector::resetFPGA, py::arg() = Positions{}); CppDetectorApi.def( "updateDetectorServer", - (void (Detector::*)(const std::string &, sls::Positions)) & + (void(Detector::*)(const std::string &, sls::Positions)) & Detector::updateDetectorServer, py::arg(), py::arg() = Positions{}); CppDetectorApi.def( "updateKernel", - (void (Detector::*)(const std::string &, sls::Positions)) & + (void(Detector::*)(const std::string &, sls::Positions)) & Detector::updateKernel, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("rebootController", - (void (Detector::*)(sls::Positions)) & + (void(Detector::*)(sls::Positions)) & Detector::rebootController, py::arg() = Positions{}); CppDetectorApi.def( "updateFirmwareAndServer", - (void (Detector::*)(const std::string &, const std::string &, - sls::Positions)) & + (void(Detector::*)(const std::string &, const std::string &, + sls::Positions)) & Detector::updateFirmwareAndServer, py::arg(), py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getUpdateMode", @@ -2067,7 +2065,7 @@ void init_det(py::module &m) { Detector::getUpdateMode, py::arg() = Positions{}); CppDetectorApi.def("setUpdateMode", - (void (Detector::*)(const bool, sls::Positions)) & + (void(Detector::*)(const bool, sls::Positions)) & Detector::setUpdateMode, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("readRegister", @@ -2077,18 +2075,18 @@ void init_det(py::module &m) { py::arg(), py::arg() = Positions{}); CppDetectorApi.def( "writeRegister", - (void (Detector::*)(sls::RegisterAddress, sls::RegisterValue, bool, - sls::Positions)) & + (void(Detector::*)(sls::RegisterAddress, sls::RegisterValue, bool, + sls::Positions)) & Detector::writeRegister, py::arg(), py::arg(), py::arg() = false, py::arg() = Positions{}); CppDetectorApi.def( "setBit", - (void (Detector::*)(sls::BitAddress, bool, sls::Positions)) & + (void(Detector::*)(sls::BitAddress, bool, sls::Positions)) & Detector::setBit, py::arg(), py::arg() = false, py::arg() = Positions{}); CppDetectorApi.def( "clearBit", - (void (Detector::*)(sls::BitAddress, bool, sls::Positions)) & + (void(Detector::*)(sls::BitAddress, bool, sls::Positions)) & Detector::clearBit, py::arg(), py::arg() = false, py::arg() = Positions{}); CppDetectorApi.def( @@ -2103,18 +2101,18 @@ void init_det(py::module &m) { py::arg(), py::arg() = Positions{}); CppDetectorApi.def( "writeRegister", - (void (Detector::*)(const std::string &, sls::RegisterValue, bool, - sls::Positions)) & + (void(Detector::*)(const std::string &, sls::RegisterValue, bool, + sls::Positions)) & Detector::writeRegister, py::arg(), py::arg(), py::arg() = false, py::arg() = Positions{}); CppDetectorApi.def( "setBit", - (void (Detector::*)(const std::string &, bool, sls::Positions)) & + (void(Detector::*)(const std::string &, bool, sls::Positions)) & Detector::setBit, py::arg(), py::arg() = false, py::arg() = Positions{}); CppDetectorApi.def( "clearBit", - (void (Detector::*)(const std::string &, bool, sls::Positions)) & + (void(Detector::*)(const std::string &, bool, sls::Positions)) & Detector::clearBit, py::arg(), py::arg() = false, py::arg() = Positions{}); CppDetectorApi.def( @@ -2129,17 +2127,17 @@ void init_det(py::module &m) { py::arg(), py::arg() = Positions{}); CppDetectorApi.def( "writeRegister", - (void (Detector::*)(uint32_t, uint32_t, bool, sls::Positions)) & + (void(Detector::*)(uint32_t, uint32_t, bool, sls::Positions)) & Detector::writeRegister, py::arg(), py::arg(), py::arg() = false, py::arg() = Positions{}); CppDetectorApi.def( "setBit", - (void (Detector::*)(uint32_t, int, bool, sls::Positions)) & + (void(Detector::*)(uint32_t, int, bool, sls::Positions)) & Detector::setBit, py::arg(), py::arg(), py::arg() = false, py::arg() = Positions{}); CppDetectorApi.def( "clearBit", - (void (Detector::*)(uint32_t, int, bool, sls::Positions)) & + (void(Detector::*)(uint32_t, int, bool, sls::Positions)) & Detector::clearBit, py::arg(), py::arg(), py::arg() = false, py::arg() = Positions{}); CppDetectorApi.def( @@ -2148,22 +2146,21 @@ void init_det(py::module &m) { Detector::getBit, py::arg(), py::arg(), py::arg() = Positions{}); CppDetectorApi.def("executeFirmwareTest", - (void (Detector::*)(sls::Positions)) & + (void(Detector::*)(sls::Positions)) & Detector::executeFirmwareTest, py::arg() = Positions{}); CppDetectorApi.def("executeBusTest", - (void (Detector::*)(sls::Positions)) & + (void(Detector::*)(sls::Positions)) & Detector::executeBusTest, py::arg() = Positions{}); - CppDetectorApi.def( - "writeAdcRegister", - (void (Detector::*)(uint32_t, uint32_t, sls::Positions)) & - Detector::writeAdcRegister, - py::arg(), py::arg(), py::arg() = Positions{}); - CppDetectorApi.def("getInitialChecks", (bool (Detector::*)() const) & + CppDetectorApi.def("writeAdcRegister", + (void(Detector::*)(uint32_t, uint32_t, sls::Positions)) & + Detector::writeAdcRegister, + py::arg(), py::arg(), py::arg() = Positions{}); + CppDetectorApi.def("getInitialChecks", (bool(Detector::*)() const) & Detector::getInitialChecks); CppDetectorApi.def("setInitialChecks", - (void (Detector::*)(const bool)) & + (void(Detector::*)(const bool)) & Detector::setInitialChecks, py::arg()); CppDetectorApi.def("getADCInvert", @@ -2171,7 +2168,7 @@ void init_det(py::module &m) { Detector::getADCInvert, py::arg() = Positions{}); CppDetectorApi.def("setADCInvert", - (void (Detector::*)(uint32_t, sls::Positions)) & + (void(Detector::*)(uint32_t, sls::Positions)) & Detector::setADCInvert, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getControlPort", @@ -2179,7 +2176,7 @@ void init_det(py::module &m) { Detector::getControlPort, py::arg() = Positions{}); CppDetectorApi.def("setControlPort", - (void (Detector::*)(uint16_t, sls::Positions)) & + (void(Detector::*)(uint16_t, sls::Positions)) & Detector::setControlPort, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getStopPort", @@ -2187,7 +2184,7 @@ void init_det(py::module &m) { Detector::getStopPort, py::arg() = Positions{}); CppDetectorApi.def("setStopPort", - (void (Detector::*)(uint16_t, sls::Positions)) & + (void(Detector::*)(uint16_t, sls::Positions)) & Detector::setStopPort, py::arg(), py::arg() = Positions{}); CppDetectorApi.def("getDetectorLock", @@ -2195,7 +2192,7 @@ void init_det(py::module &m) { Detector::getDetectorLock, py::arg() = Positions{}); CppDetectorApi.def("setDetectorLock", - (void (Detector::*)(bool, sls::Positions)) & + (void(Detector::*)(bool, sls::Positions)) & Detector::setDetectorLock, py::arg(), py::arg() = Positions{}); CppDetectorApi.def(