From ce199968741a4a16bbd7b13413048e120448b234 Mon Sep 17 00:00:00 2001 From: leonarski_f Date: Mon, 14 Oct 2024 15:03:38 +0200 Subject: [PATCH] version 1.0.0-rc.17 --- .fpga_gitlab-ci.yml | 329 ++++++++++++++ .gitlab-ci.yml | 95 ---- VERSION | 2 +- broker/JFJochBrokerHttp.cpp | 35 +- broker/JFJochBrokerHttp.h | 2 + broker/OpenAPIConvert.cpp | 8 + broker/OpenAPIConvert.h | 1 + broker/gen/api/ApiBase.h | 2 +- broker/gen/api/DefaultApi.cpp | 32 +- broker/gen/api/DefaultApi.h | 36 +- broker/gen/model/Azim_int_settings.cpp | 2 +- broker/gen/model/Azim_int_settings.h | 2 +- broker/gen/model/Broker_status.cpp | 2 +- broker/gen/model/Broker_status.h | 2 +- .../model/Calibration_statistics_inner.cpp | 2 +- .../gen/model/Calibration_statistics_inner.h | 2 +- broker/gen/model/Dataset_settings.cpp | 2 +- broker/gen/model/Dataset_settings.h | 2 +- .../gen/model/Dataset_settings_unit_cell.cpp | 2 +- broker/gen/model/Dataset_settings_unit_cell.h | 2 +- broker/gen/model/Detector.cpp | 2 +- broker/gen/model/Detector.h | 2 +- broker/gen/model/Detector_list.cpp | 2 +- broker/gen/model/Detector_list.h | 2 +- .../model/Detector_list_detectors_inner.cpp | 2 +- .../gen/model/Detector_list_detectors_inner.h | 2 +- broker/gen/model/Detector_module.cpp | 2 +- broker/gen/model/Detector_module.h | 2 +- .../gen/model/Detector_module_direction.cpp | 2 +- broker/gen/model/Detector_module_direction.h | 2 +- broker/gen/model/Detector_power_state.cpp | 2 +- broker/gen/model/Detector_power_state.h | 2 +- broker/gen/model/Detector_selection.cpp | 2 +- broker/gen/model/Detector_selection.h | 2 +- broker/gen/model/Detector_settings.cpp | 2 +- broker/gen/model/Detector_settings.h | 2 +- broker/gen/model/Detector_state.cpp | 2 +- broker/gen/model/Detector_state.h | 2 +- broker/gen/model/Detector_status.cpp | 2 +- broker/gen/model/Detector_status.h | 2 +- broker/gen/model/Detector_timing.cpp | 2 +- broker/gen/model/Detector_timing.h | 2 +- broker/gen/model/Detector_type.cpp | 2 +- broker/gen/model/Detector_type.h | 2 +- broker/gen/model/Error_message.cpp | 2 +- broker/gen/model/Error_message.h | 2 +- broker/gen/model/Fpga_status_inner.cpp | 2 +- broker/gen/model/Fpga_status_inner.h | 2 +- broker/gen/model/Helpers.cpp | 2 +- broker/gen/model/Helpers.h | 2 +- broker/gen/model/Image_format_settings.cpp | 2 +- broker/gen/model/Image_format_settings.h | 2 +- broker/gen/model/Image_pusher_type.cpp | 2 +- broker/gen/model/Image_pusher_type.h | 2 +- broker/gen/model/Instrument_metadata.cpp | 2 +- broker/gen/model/Instrument_metadata.h | 2 +- broker/gen/model/Jfjoch_settings.cpp | 2 +- broker/gen/model/Jfjoch_settings.h | 2 +- broker/gen/model/Jfjoch_statistics.cpp | 259 +++++++++++ broker/gen/model/Jfjoch_statistics.h | 120 ++++++ broker/gen/model/Measurement_statistics.cpp | 2 +- broker/gen/model/Measurement_statistics.h | 2 +- broker/gen/model/Pcie_devices_inner.cpp | 2 +- broker/gen/model/Pcie_devices_inner.h | 2 +- broker/gen/model/Plot.cpp | 2 +- broker/gen/model/Plot.h | 2 +- broker/gen/model/Plots.cpp | 2 +- broker/gen/model/Plots.h | 2 +- broker/gen/model/Preview_settings.cpp | 2 +- broker/gen/model/Preview_settings.h | 2 +- broker/gen/model/Roi_box.cpp | 2 +- broker/gen/model/Roi_box.h | 2 +- broker/gen/model/Roi_box_list.cpp | 2 +- broker/gen/model/Roi_box_list.h | 2 +- broker/gen/model/Roi_circle.cpp | 2 +- broker/gen/model/Roi_circle.h | 2 +- broker/gen/model/Roi_circle_list.cpp | 2 +- broker/gen/model/Roi_circle_list.h | 2 +- broker/gen/model/Rotation_axis.cpp | 2 +- broker/gen/model/Rotation_axis.h | 2 +- broker/gen/model/Spot_finding_settings.cpp | 2 +- broker/gen/model/Spot_finding_settings.h | 2 +- .../gen/model/Standard_detector_geometry.cpp | 2 +- broker/gen/model/Standard_detector_geometry.h | 2 +- broker/gen/model/Zeromq_settings.cpp | 2 +- broker/gen/model/Zeromq_settings.h | 2 +- broker/jfjoch_api.yaml | 28 +- broker/redoc-static.html | 70 +-- common/Definitions.h | 5 +- fpga/hls/HLSDevice.cpp | 18 +- fpga/pcie_driver/dkms.conf | 2 +- fpga/pcie_driver/install_dkms.sh | 2 +- fpga/pcie_driver/jfjoch_drv.c | 2 +- fpga/pcie_driver/postinstall.sh | 2 +- fpga/pcie_driver/preuninstall.sh | 2 +- frontend/src/App.tsx | 41 +- frontend/src/components/Calibration.tsx | 123 +----- frontend/src/components/DetectorStatus.tsx | 76 +--- frontend/src/components/FpgaStatus.tsx | 32 +- .../src/components/MeasurementStatistics.tsx | 77 +--- frontend/src/components/PreviewImage.tsx | 131 +++--- frontend/src/components/StatusBar.tsx | 54 +-- frontend/src/components/handleErrors.ts | 6 - frontend/src/openapi/core/OpenAPI.ts | 2 +- frontend/src/openapi/index.ts | 1 + frontend/src/openapi/models/compression.ts | 2 +- .../src/openapi/models/jfjoch_statistics.ts | 22 + .../src/openapi/services/DefaultService.ts | 43 +- frontend/src/version.ts | 2 +- gitlab_upload_release.sh | 12 +- image_pusher/ZMQStream2Pusher.cpp | 12 +- image_pusher/ZMQWriterNotificationPuller.cpp | 22 +- image_pusher/ZMQWriterNotificationPuller.h | 2 +- jungfrau/JFPedestalCalc.cpp | 15 +- jungfrau/JFPedestalCalc.h | 9 +- python-client/README.md | 6 +- python-client/docs/DefaultApi.md | 115 +++-- python-client/docs/JfjochStatistics.md | 34 ++ python-client/jfjoch_client/__init__.py | 5 +- .../jfjoch_client/api/default_api.py | 404 ++++++++++++++---- python-client/jfjoch_client/api_client.py | 4 +- python-client/jfjoch_client/configuration.py | 6 +- python-client/jfjoch_client/exceptions.py | 2 +- .../jfjoch_client/models/__init__.py | 3 +- .../jfjoch_client/models/azim_int_settings.py | 2 +- .../jfjoch_client/models/broker_status.py | 2 +- .../models/calibration_statistics_inner.py | 2 +- .../jfjoch_client/models/dataset_settings.py | 2 +- .../models/dataset_settings_unit_cell.py | 2 +- .../jfjoch_client/models/detector.py | 2 +- .../jfjoch_client/models/detector_list.py | 2 +- .../models/detector_list_detectors_inner.py | 2 +- .../jfjoch_client/models/detector_module.py | 2 +- .../models/detector_module_direction.py | 2 +- .../models/detector_power_state.py | 2 +- .../models/detector_selection.py | 2 +- .../jfjoch_client/models/detector_settings.py | 2 +- .../jfjoch_client/models/detector_state.py | 2 +- .../jfjoch_client/models/detector_status.py | 2 +- .../jfjoch_client/models/detector_timing.py | 2 +- .../jfjoch_client/models/detector_type.py | 2 +- .../jfjoch_client/models/error_message.py | 2 +- .../jfjoch_client/models/fpga_status_inner.py | 2 +- .../models/image_format_settings.py | 2 +- .../jfjoch_client/models/image_pusher_type.py | 2 +- .../models/instrument_metadata.py | 2 +- .../jfjoch_client/models/jfjoch_settings.py | 2 +- .../jfjoch_client/models/jfjoch_statistics.py | 124 ++++++ .../models/measurement_statistics.py | 2 +- .../models/pcie_devices_inner.py | 2 +- python-client/jfjoch_client/models/plot.py | 2 +- python-client/jfjoch_client/models/plots.py | 2 +- .../jfjoch_client/models/preview_settings.py | 2 +- python-client/jfjoch_client/models/roi_box.py | 2 +- .../jfjoch_client/models/roi_box_list.py | 2 +- .../jfjoch_client/models/roi_circle.py | 2 +- .../jfjoch_client/models/roi_circle_list.py | 2 +- .../jfjoch_client/models/rotation_axis.py | 2 +- .../models/spot_finding_settings.py | 2 +- .../models/standard_detector_geometry.py | 2 +- .../jfjoch_client/models/zeromq_settings.py | 2 +- python-client/jfjoch_client/rest.py | 2 +- python-client/pyproject.toml | 2 +- python-client/setup.py | 4 +- receiver/JFJochReceiver.cpp | 127 +++--- receiver/JFJochReceiver.h | 13 +- receiver/JFJochReceiverService.cpp | 17 +- receiver/JFJochReceiverService.h | 1 + tests/HDF5WritingTest.cpp | 2 +- tests/JFJochReceiverIntegrationTest.cpp | 68 ++- tests/StreamWriterTest.cpp | 100 ++++- writer/HDF5Writer.cpp | 14 +- writer/HDF5Writer.h | 4 +- writer/StreamWriter.cpp | 75 ++-- writer/StreamWriter.h | 5 + writer/gen/api/ApiBase.h | 2 +- writer/gen/api/DefaultApi.cpp | 2 +- writer/gen/api/DefaultApi.h | 2 +- writer/gen/model/Helpers.cpp | 2 +- writer/gen/model/Helpers.h | 2 +- writer/gen/model/Writer_statistics.cpp | 2 +- writer/gen/model/Writer_statistics.h | 2 +- writer/writer_api.yaml | 2 +- 183 files changed, 2155 insertions(+), 954 deletions(-) create mode 100644 .fpga_gitlab-ci.yml create mode 100644 broker/gen/model/Jfjoch_statistics.cpp create mode 100644 broker/gen/model/Jfjoch_statistics.h delete mode 100644 frontend/src/components/handleErrors.ts create mode 100644 frontend/src/openapi/models/jfjoch_statistics.ts create mode 100644 python-client/docs/JfjochStatistics.md create mode 100644 python-client/jfjoch_client/models/jfjoch_statistics.py diff --git a/.fpga_gitlab-ci.yml b/.fpga_gitlab-ci.yml new file mode 100644 index 00000000..9dbbc9f2 --- /dev/null +++ b/.fpga_gitlab-ci.yml @@ -0,0 +1,329 @@ +stages: + - build + - test + - synthesis + - release + +build:x86:gcc: + stage: build + variables: + CC: gcc + CXX: g++ + tags: + - gcc + - x86 + needs: [] + script: + - mkdir build + - cd build + - source /opt/rh/gcc-toolset-12/enable + - cmake -DCMAKE_BUILD_TYPE=Release .. + - make -j48 + +build:x86:gcc_writer: + stage: build + variables: + CC: gcc + CXX: g++ + tags: + - gcc + - x86 + needs: [] + script: + - mkdir build + - cd build + - source /opt/rh/gcc-toolset-12/enable + - cmake -DCMAKE_BUILD_TYPE=Release -DJFJOCH_WRITER_ONLY=ON .. + - make -j48 + +build:x86:driver: + stage: build + variables: + CC: gcc + CXX: g++ + tags: + - gcc + - x86 + needs: [] + script: + - cd fpga/pcie_driver + - make + +build:x86:python_client: + stage: build + needs: [] + tags: + - python + script: + - cd python-client + - python3 setup.py sdist bdist_wheel + - mv dist/* .. + artifacts: + paths: + - jfjoch_client-*whl + - jfjoch_client-*tar.gz + expire_in: 1 week + +build:x86:vitis_hls: + stage: build + tags: + - x86 + needs: [] + rules: + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH + - if: $CI_PIPELINE_SOURCE == "push" + changes: + - fpga/hls/* + - fpga/hdl/* + - fpga/scripts/* + - fpga/xdc/* + - fpga/microblaze/* + - fpga/include/jfjoch_fpga.h + script: + - source /opt/Xilinx/Vitis_HLS/2022.1/settings64.sh + - mkdir build + - cd build + - /usr/bin/cmake .. + - make hls + +build:x86:frontend: + stage: build + tags: + - x86 + needs: [] + script: + - mkdir build + - cd build + - /usr/bin/cmake .. + - make frontend + - cd ../frontend/dist + - tar czf ../../jfjoch_frontend.tar.gz * + artifacts: + paths: + - jfjoch_frontend.tar.gz + expire_in: 1 week + +build:x86:rpm: + stage: build + tags: + - x86 + needs: [] + script: + - mkdir build + - cd build + - source /opt/rh/gcc-toolset-12/enable + - cmake -DCMAKE_BUILD_TYPE=Release .. + - make frontend + - make -j48 package + - mv *.rpm .. + artifacts: + paths: + - "*.rpm" + expire_in: 1 week + +test:x86:gcc: + stage: test + timeout: 90m + variables: + CTEST_OUTPUT_ON_FAILURE: 1 + CC: gcc + CXX: g++ + needs: ["build:x86:gcc"] + dependencies: [] + tags: + - gcc + - x86 + script: + - source /opt/rh/gcc-toolset-12/enable + - mkdir -p build + - cd build + - cmake -DCMAKE_BUILD_TYPE=Release .. + - make -j48 jfjoch_test HDF5DatasetWriteTest + - cd tests + - ./jfjoch_test -r junit -o report.xml + - cd ../tools + - ./HDF5DatasetWriteTest ../../tests/test_data/compression_benchmark.h5 + artifacts: + expire_in: 1 week + reports: + junit: build/tests/report.xml + +test:x86:crystfel: + stage: test + timeout: 90m + variables: + CTEST_OUTPUT_ON_FAILURE: 1 + CC: gcc + CXX: g++ + needs: ["build:x86:gcc"] + dependencies: [] + tags: + - gcc + - x86 + - crystfel + script: + - source /opt/rh/gcc-toolset-12/enable + - mkdir -p build + - cd build + - cmake -DCMAKE_BUILD_TYPE=Release .. + - make -j8 HDF5DatasetWriteTest + - cd ../tests/crystfel + - HDF5DATASET_WRITE_TEST_IMAGES_PER_FILE=0 ../../build/tools/HDF5DatasetWriteTest ../../tests/test_data/compression_benchmark.h5 10 + - indexamajig -i writing_test.lst -g jf4m.geom -o x.stream --indexing=xgandalf + +test:x86:xds_durin: + stage: test + timeout: 90m + variables: + CTEST_OUTPUT_ON_FAILURE: 1 + CC: gcc + CXX: g++ + needs: ["build:x86:gcc"] + dependencies: [] + tags: + - gcc + - x86 + - xds + script: + - source /opt/rh/gcc-toolset-12/enable + - mkdir -p build + - cd build + - cmake -DCMAKE_BUILD_TYPE=Release .. + - make -j8 HDF5DatasetWriteTest + - cd ../tests/xds_durin + - HDF5DATASET_WRITE_TEST_IMAGES_PER_FILE=0 ../../build/tools/HDF5DatasetWriteTest ../../tests/test_data/compression_benchmark.h5 25 + - xds_par |grep -a1 ISa |tail -n1 + +test:x86:xds_neggia: + stage: test + timeout: 90m + variables: + CTEST_OUTPUT_ON_FAILURE: 1 + CC: gcc + CXX: g++ + needs: ["build:x86:gcc"] + dependencies: [] + tags: + - gcc + - x86 + - xds + script: + - source /opt/rh/gcc-toolset-12/enable + - mkdir -p build + - cd build + - cmake -DCMAKE_BUILD_TYPE=Release .. + - make -j8 HDF5DatasetWriteTest + - cd ../tests/xds_neggia + - HDF5DATASET_WRITE_TEST_IMAGES_PER_FILE=0 ../../build/tools/HDF5DatasetWriteTest ../../tests/test_data/compression_benchmark.h5 25 + - xds_par |grep -a1 ISa |tail -n1 + +test:x86:xia2.ssx: + stage: test + timeout: 90m + variables: + CTEST_OUTPUT_ON_FAILURE: 1 + CC: gcc + CXX: g++ + needs: ["build:x86:gcc"] + dependencies: [] + tags: + - gcc + - x86 + - xds + script: + - source /opt/rh/gcc-toolset-12/enable + - mkdir -p build + - mkdir -p dials_test + - cd build + - cmake -DCMAKE_BUILD_TYPE=Release .. + - make -j8 HDF5DatasetWriteTest + - cd ../dials_test + - ../build/tools/HDF5DatasetWriteTest ../tests/test_data/compression_benchmark.h5 100 + - source /usr/local/dials-v3-17-0/dials_env.sh + - xia2.ssx image=writing_test_master.h5 space_group=P43212 unit_cell=78.551,78.551,36.914,90.000,90.000,90.000 + +synthesis:vivado_pcie_100g: + stage: synthesis + dependencies: [] + variables: + CC: gcc + CXX: g++ + rules: + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH + - if: $CI_PIPELINE_SOURCE == "push" + changes: + - fpga/hls/* + - fpga/hdl/* + - fpga/scripts/* + - fpga/xdc/* + - fpga/pcie_driver/jfjoch_fpga.h + - if: $CI_COMMIT_MESSAGE =~ /^FPGA/ + allow_failure: true + tags: + - vivado + retry: 2 + artifacts: + paths: + - "jfjoch_fpga_pcie_100g.mcs" + expire_in: 1 week + script: + - source /opt/rh/gcc-toolset-12/enable + - source /opt/Xilinx/Vivado/2022.1/settings64.sh + - touch jfjoch_fpga_pcie_100g.mcs + - mkdir -p build + - cd build + - /usr/bin/cmake .. + - make -j4 pcie_100g + - mv fpga/jfjoch_fpga_pcie_100g.mcs .. + needs: ["build:x86:gcc", "test:x86:gcc"] + +synthesis:vivado_pcie_8x10g: + stage: synthesis + dependencies: [] + variables: + CC: gcc + CXX: g++ + rules: + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH + - if: $CI_PIPELINE_SOURCE == "push" + changes: + - fpga/hls/* + - fpga/hdl/* + - fpga/scripts/* + - fpga/xdc/* + - fpga/pcie_driver/jfjoch_fpga.h + - if: $CI_COMMIT_MESSAGE =~ /^FPGA/ + allow_failure: true + tags: + - vivado + retry: 2 + artifacts: + paths: + - "jfjoch_fpga_pcie_8x10g.mcs" + expire_in: 1 week + script: + - source /opt/rh/gcc-toolset-12/enable + - source /opt/Xilinx/Vivado/2022.1/settings64.sh + - touch jfjoch_fpga_pcie_8x10g.mcs + - mkdir -p build + - cd build + - /usr/bin/cmake .. + - make -j4 pcie_8x10g + - mv fpga/jfjoch_fpga_pcie_8x10g.mcs .. + needs: [ "build:x86:gcc", "test:x86:gcc" ] + +release: + stage: release + rules: + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH + when: manual + tags: + - x86 + dependencies: + - synthesis:vivado_pcie_8x10g + - synthesis:vivado_pcie_100g + - build:x86:python_client + - build:x86:frontend + - build:x86:rpm + script: + - bash gitlab_upload_release.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9dbbc9f2..55f8ccca 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,7 +1,6 @@ stages: - build - test - - synthesis - release build:x86:gcc: @@ -64,28 +63,6 @@ build:x86:python_client: - jfjoch_client-*tar.gz expire_in: 1 week -build:x86:vitis_hls: - stage: build - tags: - - x86 - needs: [] - rules: - - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH - - if: $CI_PIPELINE_SOURCE == "push" - changes: - - fpga/hls/* - - fpga/hdl/* - - fpga/scripts/* - - fpga/xdc/* - - fpga/microblaze/* - - fpga/include/jfjoch_fpga.h - script: - - source /opt/Xilinx/Vitis_HLS/2022.1/settings64.sh - - mkdir build - - cd build - - /usr/bin/cmake .. - - make hls - build:x86:frontend: stage: build tags: @@ -242,76 +219,6 @@ test:x86:xia2.ssx: - source /usr/local/dials-v3-17-0/dials_env.sh - xia2.ssx image=writing_test_master.h5 space_group=P43212 unit_cell=78.551,78.551,36.914,90.000,90.000,90.000 -synthesis:vivado_pcie_100g: - stage: synthesis - dependencies: [] - variables: - CC: gcc - CXX: g++ - rules: - - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH - - if: $CI_PIPELINE_SOURCE == "push" - changes: - - fpga/hls/* - - fpga/hdl/* - - fpga/scripts/* - - fpga/xdc/* - - fpga/pcie_driver/jfjoch_fpga.h - - if: $CI_COMMIT_MESSAGE =~ /^FPGA/ - allow_failure: true - tags: - - vivado - retry: 2 - artifacts: - paths: - - "jfjoch_fpga_pcie_100g.mcs" - expire_in: 1 week - script: - - source /opt/rh/gcc-toolset-12/enable - - source /opt/Xilinx/Vivado/2022.1/settings64.sh - - touch jfjoch_fpga_pcie_100g.mcs - - mkdir -p build - - cd build - - /usr/bin/cmake .. - - make -j4 pcie_100g - - mv fpga/jfjoch_fpga_pcie_100g.mcs .. - needs: ["build:x86:gcc", "test:x86:gcc"] - -synthesis:vivado_pcie_8x10g: - stage: synthesis - dependencies: [] - variables: - CC: gcc - CXX: g++ - rules: - - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH - - if: $CI_PIPELINE_SOURCE == "push" - changes: - - fpga/hls/* - - fpga/hdl/* - - fpga/scripts/* - - fpga/xdc/* - - fpga/pcie_driver/jfjoch_fpga.h - - if: $CI_COMMIT_MESSAGE =~ /^FPGA/ - allow_failure: true - tags: - - vivado - retry: 2 - artifacts: - paths: - - "jfjoch_fpga_pcie_8x10g.mcs" - expire_in: 1 week - script: - - source /opt/rh/gcc-toolset-12/enable - - source /opt/Xilinx/Vivado/2022.1/settings64.sh - - touch jfjoch_fpga_pcie_8x10g.mcs - - mkdir -p build - - cd build - - /usr/bin/cmake .. - - make -j4 pcie_8x10g - - mv fpga/jfjoch_fpga_pcie_8x10g.mcs .. - needs: [ "build:x86:gcc", "test:x86:gcc" ] - release: stage: release rules: @@ -320,8 +227,6 @@ release: tags: - x86 dependencies: - - synthesis:vivado_pcie_8x10g - - synthesis:vivado_pcie_100g - build:x86:python_client - build:x86:frontend - build:x86:rpm diff --git a/VERSION b/VERSION index e384ff5d..17e3421f 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.0.0-rc.16 +1.0.0-rc.17 diff --git a/broker/JFJochBrokerHttp.cpp b/broker/JFJochBrokerHttp.cpp index 23e1fc69..4d0c3ba0 100644 --- a/broker/JFJochBrokerHttp.cpp +++ b/broker/JFJochBrokerHttp.cpp @@ -145,18 +145,9 @@ void JFJochBrokerHttp::plot_azim_int_get(const std::optional& compression, } void JFJochBrokerHttp::statistics_calibration_get(Pistache::Http::ResponseWriter &response) { - auto calib = state_machine.GetCalibrationStatistics(); nlohmann::json j; - - for (const auto &i: calib) { - auto output = Convert(i); - std::stringstream s; - assert(output.validate(s)); - - nlohmann::json j_elem; - to_json(j_elem, output); - j.push_back(j_elem); - } + for (const auto &d: Convert(state_machine.GetCalibrationStatistics())) + j.push_back(d); response.send(Pistache::Http::Code::Ok, j.dump(), MIME(Application, Json)); } @@ -486,3 +477,25 @@ void JFJochBrokerHttp::fpga_status_get(Pistache::Http::ResponseWriter &response) j.push_back(d); response.send(Pistache::Http::Code::Ok, j.dump(), MIME(Application, Json)); } + +void JFJochBrokerHttp::statistics_get(const std::optional &compression, Pistache::Http::ResponseWriter &response) { + org::openapitools::server::model::Jfjoch_statistics statistics; + + auto data_collection_statistics = state_machine.GetMeasurementStatistics(); + if (data_collection_statistics) + statistics.setMeasurement(Convert(data_collection_statistics.value())); + + statistics.setFpga(Convert(state_machine.GetDeviceStatus())); + statistics.setCalibration(Convert(state_machine.GetCalibrationStatistics())); + statistics.setBroker(Convert(state_machine.GetStatus())); + + auto det_status = state_machine.GetDetectorStatus(); + if (det_status.has_value()) + statistics.setDetector(Convert(det_status.value())); + + nlohmann::json j = statistics; + if (!compression.has_value() || compression.value()) + response.setCompression(Pistache::Http::Header::Encoding::Deflate); + + response.send(Pistache::Http::Code::Ok, j.dump(), MIME(Application, Json)); +} diff --git a/broker/JFJochBrokerHttp.h b/broker/JFJochBrokerHttp.h index 75105848..5e86a740 100644 --- a/broker/JFJochBrokerHttp.h +++ b/broker/JFJochBrokerHttp.h @@ -161,6 +161,8 @@ class JFJochBrokerHttp : public org::openapitools::server::api::DefaultApi { void config_image_format_raw_post(Pistache::Http::ResponseWriter &response) override; + void statistics_get(const std::optional &compression, Pistache::Http::ResponseWriter &response) override; + public: JFJochBrokerHttp(const DiffractionExperiment& experiment, std::shared_ptr &rtr); void AddDetectorSetup(const DetectorSetup &setup); diff --git a/broker/OpenAPIConvert.cpp b/broker/OpenAPIConvert.cpp index 8a12a1ba..83b34168 100644 --- a/broker/OpenAPIConvert.cpp +++ b/broker/OpenAPIConvert.cpp @@ -224,6 +224,14 @@ org::openapitools::server::model::Calibration_statistics_inner Convert(const JFC return output; } +std::vector Convert(const std::vector& input) { + std::vector ret; + for (const auto &i: input) + ret.push_back(Convert(i)); + return ret; +} + + org::openapitools::server::model::Instrument_metadata Convert(const InstrumentMetadata& input) { org::openapitools::server::model::Instrument_metadata output; output.setInstrumentName(input.GetInstrumentName()); diff --git a/broker/OpenAPIConvert.h b/broker/OpenAPIConvert.h index b1ea1db3..67b4cdd3 100644 --- a/broker/OpenAPIConvert.h +++ b/broker/OpenAPIConvert.h @@ -38,6 +38,7 @@ DetectorSettings Convert(const org::openapitools::server::model::Detector_settin org::openapitools::server::model::Detector_settings Convert(const DetectorSettings &input); org::openapitools::server::model::Broker_status Convert(const BrokerStatus& input); org::openapitools::server::model::Calibration_statistics_inner Convert(const JFCalibrationModuleStatistics& input); +std::vector Convert(const std::vector& input); org::openapitools::server::model::Instrument_metadata Convert(const InstrumentMetadata& input); InstrumentMetadata Convert(const org::openapitools::server::model::Instrument_metadata &input); diff --git a/broker/gen/api/ApiBase.h b/broker/gen/api/ApiBase.h index da7d9ef0..27900185 100644 --- a/broker/gen/api/ApiBase.h +++ b/broker/gen/api/ApiBase.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/api/DefaultApi.cpp b/broker/gen/api/DefaultApi.cpp index 26dbb3c4..91e8f28d 100644 --- a/broker/gen/api/DefaultApi.cpp +++ b/broker/gen/api/DefaultApi.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -82,6 +82,7 @@ void DefaultApi::setupRoutes() { Routes::Post(*router, base + "/start", Routes::bind(&DefaultApi::start_post_handler, this)); Routes::Get(*router, base + "/statistics/calibration", Routes::bind(&DefaultApi::statistics_calibration_get_handler, this)); Routes::Get(*router, base + "/statistics/data_collection", Routes::bind(&DefaultApi::statistics_data_collection_get_handler, this)); + Routes::Get(*router, base + "/statistics", Routes::bind(&DefaultApi::statistics_get_handler, this)); Routes::Get(*router, base + "/status", Routes::bind(&DefaultApi::status_get_handler, this)); Routes::Post(*router, base + "/trigger", Routes::bind(&DefaultApi::trigger_post_handler, this)); Routes::Get(*router, base + "/version", Routes::bind(&DefaultApi::version_get_handler, this)); @@ -1396,6 +1397,35 @@ void DefaultApi::statistics_data_collection_get_handler(const Pistache::Rest::Re response.send(Pistache::Http::Code::Internal_Server_Error, e.what()); } +} +void DefaultApi::statistics_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) { + try { + + + // Getting the query params + auto compressionQuery = request.query().get("compression"); + std::optional compression; + if(compressionQuery.has_value()){ + bool valueQuery_instance; + if(fromStringValue(compressionQuery.value(), valueQuery_instance)){ + compression = valueQuery_instance; + } + } + + try { + this->statistics_get(compression, response); + } catch (Pistache::Http::HttpError &e) { + response.send(static_cast(e.code()), e.what()); + return; + } catch (std::exception &e) { + this->handleOperationException(e, response); + return; + } + + } catch (std::exception &e) { + response.send(Pistache::Http::Code::Internal_Server_Error, e.what()); + } + } void DefaultApi::status_get_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) { try { diff --git a/broker/gen/api/DefaultApi.h b/broker/gen/api/DefaultApi.h index 316b33e3..baf001ed 100644 --- a/broker/gen/api/DefaultApi.h +++ b/broker/gen/api/DefaultApi.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -40,6 +40,7 @@ #include "Fpga_status_inner.h" #include "Image_format_settings.h" #include "Instrument_metadata.h" +#include "Jfjoch_statistics.h" #include "Measurement_statistics.h" #include "Plots.h" #include "Preview_settings.h" @@ -112,6 +113,7 @@ private: void start_post_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); void statistics_calibration_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); void statistics_data_collection_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); + void statistics_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); void status_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); void trigger_post_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); void version_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); @@ -335,7 +337,7 @@ private: /// /// Generate average radial integration profile /// - /// Enable DEFLATE compression of output data (optional, default to true) + /// Enable DEFLATE compression of output data. (optional, default to true) virtual void plot_azim_int_get(const std::optional &compression, Pistache::Http::ResponseWriter &response) = 0; /// /// Generate background estimate plot @@ -344,7 +346,7 @@ private: /// Mean intensity for d = 3 - 5 A per image; binning is configurable /// /// Binning of frames for the plot (0 = default binning) (optional, default to 0) - /// Enable DEFLATE compression of output data (optional, default to true) + /// Enable DEFLATE compression of output data. (optional, default to true) virtual void plot_bkg_estimate_get(const std::optional &binning, const std::optional &compression, Pistache::Http::ResponseWriter &response) = 0; /// /// Generate error pixels plot @@ -353,7 +355,7 @@ private: /// Count of error (mean) and saturated (mean/max) pixels per image; binning is configurable /// /// Binning of frames for the plot (0 = default binning) (optional, default to 0) - /// Enable DEFLATE compression of output data (optional, default to true) + /// Enable DEFLATE compression of output data. (optional, default to true) virtual void plot_error_pixel_get(const std::optional &binning, const std::optional &compression, Pistache::Http::ResponseWriter &response) = 0; /// /// Generate image collection efficiency plot @@ -362,7 +364,7 @@ private: /// Ratio of collected and expected packets per image; binning is configurable /// /// Binning of frames for the plot (0 = default binning) (optional, default to 0) - /// Enable DEFLATE compression of output data (optional, default to true) + /// Enable DEFLATE compression of output data. (optional, default to true) virtual void plot_image_collection_efficiency_get(const std::optional &binning, const std::optional &compression, Pistache::Http::ResponseWriter &response) = 0; /// /// Generate indexing rate plot @@ -371,7 +373,7 @@ private: /// Image indexing rate; binning is configurable /// /// Binning of frames for the plot (0 = default binning) (optional, default to 0) - /// Enable DEFLATE compression of output data (optional, default to true) + /// Enable DEFLATE compression of output data. (optional, default to true) virtual void plot_indexing_rate_get(const std::optional &binning, const std::optional &compression, Pistache::Http::ResponseWriter &response) = 0; /// /// Generate receiver delay plot @@ -380,7 +382,7 @@ private: /// Amount of frames the receiver is behind the FPGA for each image - used for internal debugging; binning is configurable /// /// Binning of frames for the plot (0 = default binning) (optional, default to 0) - /// Enable DEFLATE compression of output data (optional, default to true) + /// Enable DEFLATE compression of output data. (optional, default to true) virtual void plot_receiver_delay_get(const std::optional &binning, const std::optional &compression, Pistache::Http::ResponseWriter &response) = 0; /// /// Generate receiver free send buffer plot @@ -389,7 +391,7 @@ private: /// Amount of send buffers available during frame processing - used for internal debugging; binning is configurable /// /// Binning of frames for the plot (0 = default binning) (optional, default to 0) - /// Enable DEFLATE compression of output data (optional, default to true) + /// Enable DEFLATE compression of output data. (optional, default to true) virtual void plot_receiver_free_send_buffers_get(const std::optional &binning, const std::optional &compression, Pistache::Http::ResponseWriter &response) = 0; /// /// Generate plot of ROI max count @@ -398,7 +400,7 @@ private: /// Max count of ROI per image; binning is configurable /// /// Binning of frames for the plot (0 = default binning) (optional, default to 0) - /// Enable DEFLATE compression of output data (optional, default to true) + /// Enable DEFLATE compression of output data. (optional, default to true) virtual void plot_roi_max_count_get(const std::optional &binning, const std::optional &compression, Pistache::Http::ResponseWriter &response) = 0; /// /// Generate ROI sum plot @@ -407,7 +409,7 @@ private: /// Sum of ROI rectangle per image; binning is configurable /// /// Binning of frames for the plot (0 = default binning) (optional, default to 0) - /// Enable DEFLATE compression of output data (optional, default to true) + /// Enable DEFLATE compression of output data. (optional, default to true) virtual void plot_roi_sum_get(const std::optional &binning, const std::optional &compression, Pistache::Http::ResponseWriter &response) = 0; /// /// Generate plot of ROI valid pixels @@ -416,7 +418,7 @@ private: /// Number of pixels within a ROI area; pixels with special values (overload, bad pixel) are excluded; multipixels are counted just once; binning is configurable /// /// Binning of frames for the plot (0 = default binning) (optional, default to 0) - /// Enable DEFLATE compression of output data (optional, default to true) + /// Enable DEFLATE compression of output data. (optional, default to true) virtual void plot_roi_valid_pixels_get(const std::optional &binning, const std::optional &compression, Pistache::Http::ResponseWriter &response) = 0; /// /// Generate spot count plot @@ -425,7 +427,7 @@ private: /// Number of spots per image; binning is configurable /// /// Binning of frames for the plot (0 = default binning) (optional, default to 0) - /// Enable DEFLATE compression of output data (optional, default to true) + /// Enable DEFLATE compression of output data. (optional, default to true) virtual void plot_spot_count_get(const std::optional &binning, const std::optional &compression, Pistache::Http::ResponseWriter &response) = 0; /// /// Generate strong pixels plot @@ -434,7 +436,7 @@ private: /// Count of strong pixels per image (from spot finding); binning is configurable /// /// Binning of frames for the plot (0 = default binning) (optional, default to 0) - /// Enable DEFLATE compression of output data (optional, default to true) + /// Enable DEFLATE compression of output data. (optional, default to true) virtual void plot_strong_pixel_get(const std::optional &binning, const std::optional &compression, Pistache::Http::ResponseWriter &response) = 0; /// /// Get last preview image in TIFF format for calibration with PyFAI/Dioptas @@ -527,6 +529,14 @@ private: /// virtual void statistics_data_collection_get(Pistache::Http::ResponseWriter &response) = 0; /// + /// Get general statistics + /// + /// + /// + /// + /// Enable DEFLATE compression of output data. (optional, default to true) + virtual void statistics_get(const std::optional &compression, Pistache::Http::ResponseWriter &response) = 0; + /// /// Get Jungfraujoch status /// /// diff --git a/broker/gen/model/Azim_int_settings.cpp b/broker/gen/model/Azim_int_settings.cpp index 83e37f7a..67f2b546 100644 --- a/broker/gen/model/Azim_int_settings.cpp +++ b/broker/gen/model/Azim_int_settings.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Azim_int_settings.h b/broker/gen/model/Azim_int_settings.h index 17b5494f..c2d2bc06 100644 --- a/broker/gen/model/Azim_int_settings.h +++ b/broker/gen/model/Azim_int_settings.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Broker_status.cpp b/broker/gen/model/Broker_status.cpp index 1cef344e..41773ae8 100644 --- a/broker/gen/model/Broker_status.cpp +++ b/broker/gen/model/Broker_status.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Broker_status.h b/broker/gen/model/Broker_status.h index 4977fb36..05ff8071 100644 --- a/broker/gen/model/Broker_status.h +++ b/broker/gen/model/Broker_status.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Calibration_statistics_inner.cpp b/broker/gen/model/Calibration_statistics_inner.cpp index 040ab4bc..03f9246f 100644 --- a/broker/gen/model/Calibration_statistics_inner.cpp +++ b/broker/gen/model/Calibration_statistics_inner.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Calibration_statistics_inner.h b/broker/gen/model/Calibration_statistics_inner.h index e7acd1eb..bff97e0e 100644 --- a/broker/gen/model/Calibration_statistics_inner.h +++ b/broker/gen/model/Calibration_statistics_inner.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Dataset_settings.cpp b/broker/gen/model/Dataset_settings.cpp index 70177c22..d7c361fe 100644 --- a/broker/gen/model/Dataset_settings.cpp +++ b/broker/gen/model/Dataset_settings.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Dataset_settings.h b/broker/gen/model/Dataset_settings.h index 281cb59c..3ec48a1a 100644 --- a/broker/gen/model/Dataset_settings.h +++ b/broker/gen/model/Dataset_settings.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Dataset_settings_unit_cell.cpp b/broker/gen/model/Dataset_settings_unit_cell.cpp index 84991b26..de81cd0d 100644 --- a/broker/gen/model/Dataset_settings_unit_cell.cpp +++ b/broker/gen/model/Dataset_settings_unit_cell.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Dataset_settings_unit_cell.h b/broker/gen/model/Dataset_settings_unit_cell.h index 91e223de..d601cf36 100644 --- a/broker/gen/model/Dataset_settings_unit_cell.h +++ b/broker/gen/model/Dataset_settings_unit_cell.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector.cpp b/broker/gen/model/Detector.cpp index c8d4811b..45a33a11 100644 --- a/broker/gen/model/Detector.cpp +++ b/broker/gen/model/Detector.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector.h b/broker/gen/model/Detector.h index e6ae273d..3b9a2774 100644 --- a/broker/gen/model/Detector.h +++ b/broker/gen/model/Detector.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_list.cpp b/broker/gen/model/Detector_list.cpp index b2eaf240..8465eb7f 100644 --- a/broker/gen/model/Detector_list.cpp +++ b/broker/gen/model/Detector_list.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_list.h b/broker/gen/model/Detector_list.h index ba1058e2..f2a31854 100644 --- a/broker/gen/model/Detector_list.h +++ b/broker/gen/model/Detector_list.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_list_detectors_inner.cpp b/broker/gen/model/Detector_list_detectors_inner.cpp index 14b78923..1eb65465 100644 --- a/broker/gen/model/Detector_list_detectors_inner.cpp +++ b/broker/gen/model/Detector_list_detectors_inner.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_list_detectors_inner.h b/broker/gen/model/Detector_list_detectors_inner.h index 5ea7e511..d65e9e0a 100644 --- a/broker/gen/model/Detector_list_detectors_inner.h +++ b/broker/gen/model/Detector_list_detectors_inner.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_module.cpp b/broker/gen/model/Detector_module.cpp index 0ee3d06a..e000f892 100644 --- a/broker/gen/model/Detector_module.cpp +++ b/broker/gen/model/Detector_module.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_module.h b/broker/gen/model/Detector_module.h index b8c986aa..69a39cb0 100644 --- a/broker/gen/model/Detector_module.h +++ b/broker/gen/model/Detector_module.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_module_direction.cpp b/broker/gen/model/Detector_module_direction.cpp index f7d12357..8912eee6 100644 --- a/broker/gen/model/Detector_module_direction.cpp +++ b/broker/gen/model/Detector_module_direction.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_module_direction.h b/broker/gen/model/Detector_module_direction.h index f7bf3211..9199103e 100644 --- a/broker/gen/model/Detector_module_direction.h +++ b/broker/gen/model/Detector_module_direction.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_power_state.cpp b/broker/gen/model/Detector_power_state.cpp index 723b38d5..8b8c9497 100644 --- a/broker/gen/model/Detector_power_state.cpp +++ b/broker/gen/model/Detector_power_state.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_power_state.h b/broker/gen/model/Detector_power_state.h index f343a4a5..f23bfe95 100644 --- a/broker/gen/model/Detector_power_state.h +++ b/broker/gen/model/Detector_power_state.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_selection.cpp b/broker/gen/model/Detector_selection.cpp index 0bb5e550..679b6261 100644 --- a/broker/gen/model/Detector_selection.cpp +++ b/broker/gen/model/Detector_selection.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_selection.h b/broker/gen/model/Detector_selection.h index 45504548..f2bdf39d 100644 --- a/broker/gen/model/Detector_selection.h +++ b/broker/gen/model/Detector_selection.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_settings.cpp b/broker/gen/model/Detector_settings.cpp index bb1384fc..2adb0095 100644 --- a/broker/gen/model/Detector_settings.cpp +++ b/broker/gen/model/Detector_settings.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_settings.h b/broker/gen/model/Detector_settings.h index f36909c6..05eee2d1 100644 --- a/broker/gen/model/Detector_settings.h +++ b/broker/gen/model/Detector_settings.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_state.cpp b/broker/gen/model/Detector_state.cpp index def70037..deba0d54 100644 --- a/broker/gen/model/Detector_state.cpp +++ b/broker/gen/model/Detector_state.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_state.h b/broker/gen/model/Detector_state.h index b2014e93..f6bf6837 100644 --- a/broker/gen/model/Detector_state.h +++ b/broker/gen/model/Detector_state.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_status.cpp b/broker/gen/model/Detector_status.cpp index edeeef99..46395d6d 100644 --- a/broker/gen/model/Detector_status.cpp +++ b/broker/gen/model/Detector_status.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_status.h b/broker/gen/model/Detector_status.h index 424b56de..3862b78a 100644 --- a/broker/gen/model/Detector_status.h +++ b/broker/gen/model/Detector_status.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_timing.cpp b/broker/gen/model/Detector_timing.cpp index d4120c92..35fa5fae 100644 --- a/broker/gen/model/Detector_timing.cpp +++ b/broker/gen/model/Detector_timing.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_timing.h b/broker/gen/model/Detector_timing.h index 12731edd..7ec78df1 100644 --- a/broker/gen/model/Detector_timing.h +++ b/broker/gen/model/Detector_timing.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_type.cpp b/broker/gen/model/Detector_type.cpp index 09a387b9..9aa8c5e0 100644 --- a/broker/gen/model/Detector_type.cpp +++ b/broker/gen/model/Detector_type.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_type.h b/broker/gen/model/Detector_type.h index 6dee27dd..d1f544a5 100644 --- a/broker/gen/model/Detector_type.h +++ b/broker/gen/model/Detector_type.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Error_message.cpp b/broker/gen/model/Error_message.cpp index c2aae3f0..f5037f1a 100644 --- a/broker/gen/model/Error_message.cpp +++ b/broker/gen/model/Error_message.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Error_message.h b/broker/gen/model/Error_message.h index cc08c18c..b5a904bd 100644 --- a/broker/gen/model/Error_message.h +++ b/broker/gen/model/Error_message.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Fpga_status_inner.cpp b/broker/gen/model/Fpga_status_inner.cpp index 28d32eb6..6139071b 100644 --- a/broker/gen/model/Fpga_status_inner.cpp +++ b/broker/gen/model/Fpga_status_inner.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Fpga_status_inner.h b/broker/gen/model/Fpga_status_inner.h index 00995972..cf8dc02f 100644 --- a/broker/gen/model/Fpga_status_inner.h +++ b/broker/gen/model/Fpga_status_inner.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Helpers.cpp b/broker/gen/model/Helpers.cpp index 8e3c0237..20020a59 100644 --- a/broker/gen/model/Helpers.cpp +++ b/broker/gen/model/Helpers.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Helpers.h b/broker/gen/model/Helpers.h index 070de826..ab96356c 100644 --- a/broker/gen/model/Helpers.h +++ b/broker/gen/model/Helpers.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Image_format_settings.cpp b/broker/gen/model/Image_format_settings.cpp index f3b94eb4..19cba8e6 100644 --- a/broker/gen/model/Image_format_settings.cpp +++ b/broker/gen/model/Image_format_settings.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Image_format_settings.h b/broker/gen/model/Image_format_settings.h index 9ff5d61e..f4390a8a 100644 --- a/broker/gen/model/Image_format_settings.h +++ b/broker/gen/model/Image_format_settings.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Image_pusher_type.cpp b/broker/gen/model/Image_pusher_type.cpp index 7b0a3903..b986009e 100644 --- a/broker/gen/model/Image_pusher_type.cpp +++ b/broker/gen/model/Image_pusher_type.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Image_pusher_type.h b/broker/gen/model/Image_pusher_type.h index 0d74b340..5c4eabdd 100644 --- a/broker/gen/model/Image_pusher_type.h +++ b/broker/gen/model/Image_pusher_type.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Instrument_metadata.cpp b/broker/gen/model/Instrument_metadata.cpp index d20445c6..249ec91b 100644 --- a/broker/gen/model/Instrument_metadata.cpp +++ b/broker/gen/model/Instrument_metadata.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Instrument_metadata.h b/broker/gen/model/Instrument_metadata.h index 6758595e..944c6412 100644 --- a/broker/gen/model/Instrument_metadata.h +++ b/broker/gen/model/Instrument_metadata.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Jfjoch_settings.cpp b/broker/gen/model/Jfjoch_settings.cpp index ba1b48a8..b23060ce 100644 --- a/broker/gen/model/Jfjoch_settings.cpp +++ b/broker/gen/model/Jfjoch_settings.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Jfjoch_settings.h b/broker/gen/model/Jfjoch_settings.h index ce0f74f7..6a018264 100644 --- a/broker/gen/model/Jfjoch_settings.h +++ b/broker/gen/model/Jfjoch_settings.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Jfjoch_statistics.cpp b/broker/gen/model/Jfjoch_statistics.cpp new file mode 100644 index 00000000..c50ac4d3 --- /dev/null +++ b/broker/gen/model/Jfjoch_statistics.cpp @@ -0,0 +1,259 @@ +/** +* Jungfraujoch +* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. +* +* The version of the OpenAPI document: 1.0.0-rc.17 +* Contact: filip.leonarski@psi.ch +* +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). +* https://openapi-generator.tech +* Do not edit the class manually. +*/ + + +#include "Jfjoch_statistics.h" +#include "Helpers.h" + +#include + +namespace org::openapitools::server::model +{ + +Jfjoch_statistics::Jfjoch_statistics() +{ + m_DetectorIsSet = false; + m_MeasurementIsSet = false; + m_BrokerIsSet = false; + m_FpgaIsSet = false; + m_CalibrationIsSet = false; + +} + +void Jfjoch_statistics::validate() const +{ + std::stringstream msg; + if (!validate(msg)) + { + throw org::openapitools::server::helpers::ValidationException(msg.str()); + } +} + +bool Jfjoch_statistics::validate(std::stringstream& msg) const +{ + return validate(msg, ""); +} + +bool Jfjoch_statistics::validate(std::stringstream& msg, const std::string& pathPrefix) const +{ + bool success = true; + const std::string _pathPrefix = pathPrefix.empty() ? "Jfjoch_statistics" : pathPrefix; + + + if (fpgaIsSet()) + { + const std::vector& value = m_Fpga; + const std::string currentValuePath = _pathPrefix + ".fpga"; + + + { // Recursive validation of array elements + const std::string oldValuePath = currentValuePath; + int i = 0; + for (const org::openapitools::server::model::Fpga_status_inner& value : value) + { + const std::string currentValuePath = oldValuePath + "[" + std::to_string(i) + "]"; + + success = value.validate(msg, currentValuePath + ".fpga") && success; + + i++; + } + } + + } + + if (calibrationIsSet()) + { + const std::vector& value = m_Calibration; + const std::string currentValuePath = _pathPrefix + ".calibration"; + + + { // Recursive validation of array elements + const std::string oldValuePath = currentValuePath; + int i = 0; + for (const org::openapitools::server::model::Calibration_statistics_inner& value : value) + { + const std::string currentValuePath = oldValuePath + "[" + std::to_string(i) + "]"; + + success = value.validate(msg, currentValuePath + ".calibration") && success; + + i++; + } + } + + } + + return success; +} + +bool Jfjoch_statistics::operator==(const Jfjoch_statistics& rhs) const +{ + return + + + + ((!detectorIsSet() && !rhs.detectorIsSet()) || (detectorIsSet() && rhs.detectorIsSet() && getDetector() == rhs.getDetector())) && + + + ((!measurementIsSet() && !rhs.measurementIsSet()) || (measurementIsSet() && rhs.measurementIsSet() && getMeasurement() == rhs.getMeasurement())) && + + + ((!brokerIsSet() && !rhs.brokerIsSet()) || (brokerIsSet() && rhs.brokerIsSet() && getBroker() == rhs.getBroker())) && + + + ((!fpgaIsSet() && !rhs.fpgaIsSet()) || (fpgaIsSet() && rhs.fpgaIsSet() && getFpga() == rhs.getFpga())) && + + + ((!calibrationIsSet() && !rhs.calibrationIsSet()) || (calibrationIsSet() && rhs.calibrationIsSet() && getCalibration() == rhs.getCalibration())) + + ; +} + +bool Jfjoch_statistics::operator!=(const Jfjoch_statistics& rhs) const +{ + return !(*this == rhs); +} + +void to_json(nlohmann::json& j, const Jfjoch_statistics& o) +{ + j = nlohmann::json::object(); + if(o.detectorIsSet()) + j["detector"] = o.m_Detector; + if(o.measurementIsSet()) + j["measurement"] = o.m_Measurement; + if(o.brokerIsSet()) + j["broker"] = o.m_Broker; + if(o.fpgaIsSet() || !o.m_Fpga.empty()) + j["fpga"] = o.m_Fpga; + if(o.calibrationIsSet() || !o.m_Calibration.empty()) + j["calibration"] = o.m_Calibration; + +} + +void from_json(const nlohmann::json& j, Jfjoch_statistics& o) +{ + if(j.find("detector") != j.end()) + { + j.at("detector").get_to(o.m_Detector); + o.m_DetectorIsSet = true; + } + if(j.find("measurement") != j.end()) + { + j.at("measurement").get_to(o.m_Measurement); + o.m_MeasurementIsSet = true; + } + if(j.find("broker") != j.end()) + { + j.at("broker").get_to(o.m_Broker); + o.m_BrokerIsSet = true; + } + if(j.find("fpga") != j.end()) + { + j.at("fpga").get_to(o.m_Fpga); + o.m_FpgaIsSet = true; + } + if(j.find("calibration") != j.end()) + { + j.at("calibration").get_to(o.m_Calibration); + o.m_CalibrationIsSet = true; + } + +} + +org::openapitools::server::model::Detector_status Jfjoch_statistics::getDetector() const +{ + return m_Detector; +} +void Jfjoch_statistics::setDetector(org::openapitools::server::model::Detector_status const& value) +{ + m_Detector = value; + m_DetectorIsSet = true; +} +bool Jfjoch_statistics::detectorIsSet() const +{ + return m_DetectorIsSet; +} +void Jfjoch_statistics::unsetDetector() +{ + m_DetectorIsSet = false; +} +org::openapitools::server::model::Measurement_statistics Jfjoch_statistics::getMeasurement() const +{ + return m_Measurement; +} +void Jfjoch_statistics::setMeasurement(org::openapitools::server::model::Measurement_statistics const& value) +{ + m_Measurement = value; + m_MeasurementIsSet = true; +} +bool Jfjoch_statistics::measurementIsSet() const +{ + return m_MeasurementIsSet; +} +void Jfjoch_statistics::unsetMeasurement() +{ + m_MeasurementIsSet = false; +} +org::openapitools::server::model::Broker_status Jfjoch_statistics::getBroker() const +{ + return m_Broker; +} +void Jfjoch_statistics::setBroker(org::openapitools::server::model::Broker_status const& value) +{ + m_Broker = value; + m_BrokerIsSet = true; +} +bool Jfjoch_statistics::brokerIsSet() const +{ + return m_BrokerIsSet; +} +void Jfjoch_statistics::unsetBroker() +{ + m_BrokerIsSet = false; +} +std::vector Jfjoch_statistics::getFpga() const +{ + return m_Fpga; +} +void Jfjoch_statistics::setFpga(std::vector const& value) +{ + m_Fpga = value; + m_FpgaIsSet = true; +} +bool Jfjoch_statistics::fpgaIsSet() const +{ + return m_FpgaIsSet; +} +void Jfjoch_statistics::unsetFpga() +{ + m_FpgaIsSet = false; +} +std::vector Jfjoch_statistics::getCalibration() const +{ + return m_Calibration; +} +void Jfjoch_statistics::setCalibration(std::vector const& value) +{ + m_Calibration = value; + m_CalibrationIsSet = true; +} +bool Jfjoch_statistics::calibrationIsSet() const +{ + return m_CalibrationIsSet; +} +void Jfjoch_statistics::unsetCalibration() +{ + m_CalibrationIsSet = false; +} + + +} // namespace org::openapitools::server::model + diff --git a/broker/gen/model/Jfjoch_statistics.h b/broker/gen/model/Jfjoch_statistics.h new file mode 100644 index 00000000..25994bff --- /dev/null +++ b/broker/gen/model/Jfjoch_statistics.h @@ -0,0 +1,120 @@ +/** +* Jungfraujoch +* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. +* +* The version of the OpenAPI document: 1.0.0-rc.17 +* Contact: filip.leonarski@psi.ch +* +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). +* https://openapi-generator.tech +* Do not edit the class manually. +*/ +/* + * Jfjoch_statistics.h + * + * Pool statistics for Jungfraujoch to reduce transfers between frontend and jfjoch_broker + */ + +#ifndef Jfjoch_statistics_H_ +#define Jfjoch_statistics_H_ + + +#include "Calibration_statistics_inner.h" +#include "Detector_status.h" +#include "Broker_status.h" +#include "Measurement_statistics.h" +#include "Fpga_status_inner.h" +#include +#include + +namespace org::openapitools::server::model +{ + +/// +/// Pool statistics for Jungfraujoch to reduce transfers between frontend and jfjoch_broker +/// +class Jfjoch_statistics +{ +public: + Jfjoch_statistics(); + virtual ~Jfjoch_statistics() = default; + + + /// + /// Validate the current data in the model. Throws a ValidationException on failure. + /// + void validate() const; + + /// + /// Validate the current data in the model. Returns false on error and writes an error + /// message into the given stringstream. + /// + bool validate(std::stringstream& msg) const; + + /// + /// Helper overload for validate. Used when one model stores another model and calls it's validate. + /// Not meant to be called outside that case. + /// + bool validate(std::stringstream& msg, const std::string& pathPrefix) const; + + bool operator==(const Jfjoch_statistics& rhs) const; + bool operator!=(const Jfjoch_statistics& rhs) const; + + ///////////////////////////////////////////// + /// Jfjoch_statistics members + + /// + /// + /// + org::openapitools::server::model::Detector_status getDetector() const; + void setDetector(org::openapitools::server::model::Detector_status const& value); + bool detectorIsSet() const; + void unsetDetector(); + /// + /// + /// + org::openapitools::server::model::Measurement_statistics getMeasurement() const; + void setMeasurement(org::openapitools::server::model::Measurement_statistics const& value); + bool measurementIsSet() const; + void unsetMeasurement(); + /// + /// + /// + org::openapitools::server::model::Broker_status getBroker() const; + void setBroker(org::openapitools::server::model::Broker_status const& value); + bool brokerIsSet() const; + void unsetBroker(); + /// + /// + /// + std::vector getFpga() const; + void setFpga(std::vector const& value); + bool fpgaIsSet() const; + void unsetFpga(); + /// + /// + /// + std::vector getCalibration() const; + void setCalibration(std::vector const& value); + bool calibrationIsSet() const; + void unsetCalibration(); + + friend void to_json(nlohmann::json& j, const Jfjoch_statistics& o); + friend void from_json(const nlohmann::json& j, Jfjoch_statistics& o); +protected: + org::openapitools::server::model::Detector_status m_Detector; + bool m_DetectorIsSet; + org::openapitools::server::model::Measurement_statistics m_Measurement; + bool m_MeasurementIsSet; + org::openapitools::server::model::Broker_status m_Broker; + bool m_BrokerIsSet; + std::vector m_Fpga; + bool m_FpgaIsSet; + std::vector m_Calibration; + bool m_CalibrationIsSet; + +}; + +} // namespace org::openapitools::server::model + +#endif /* Jfjoch_statistics_H_ */ diff --git a/broker/gen/model/Measurement_statistics.cpp b/broker/gen/model/Measurement_statistics.cpp index 78cb3cff..ddc6a6b2 100644 --- a/broker/gen/model/Measurement_statistics.cpp +++ b/broker/gen/model/Measurement_statistics.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Measurement_statistics.h b/broker/gen/model/Measurement_statistics.h index 2f43da5e..1cf74a68 100644 --- a/broker/gen/model/Measurement_statistics.h +++ b/broker/gen/model/Measurement_statistics.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Pcie_devices_inner.cpp b/broker/gen/model/Pcie_devices_inner.cpp index 9f2d18c7..2fac9a62 100644 --- a/broker/gen/model/Pcie_devices_inner.cpp +++ b/broker/gen/model/Pcie_devices_inner.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Pcie_devices_inner.h b/broker/gen/model/Pcie_devices_inner.h index b753a211..88bf652c 100644 --- a/broker/gen/model/Pcie_devices_inner.h +++ b/broker/gen/model/Pcie_devices_inner.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Plot.cpp b/broker/gen/model/Plot.cpp index 02c9cb26..c951298a 100644 --- a/broker/gen/model/Plot.cpp +++ b/broker/gen/model/Plot.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Plot.h b/broker/gen/model/Plot.h index 9e32bdda..f907d7cf 100644 --- a/broker/gen/model/Plot.h +++ b/broker/gen/model/Plot.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Plots.cpp b/broker/gen/model/Plots.cpp index 00f1b605..0973f231 100644 --- a/broker/gen/model/Plots.cpp +++ b/broker/gen/model/Plots.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Plots.h b/broker/gen/model/Plots.h index e4b86217..bf4714a8 100644 --- a/broker/gen/model/Plots.h +++ b/broker/gen/model/Plots.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Preview_settings.cpp b/broker/gen/model/Preview_settings.cpp index 2acfb06c..8a6715f5 100644 --- a/broker/gen/model/Preview_settings.cpp +++ b/broker/gen/model/Preview_settings.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Preview_settings.h b/broker/gen/model/Preview_settings.h index eeb8168f..d6db5921 100644 --- a/broker/gen/model/Preview_settings.h +++ b/broker/gen/model/Preview_settings.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Roi_box.cpp b/broker/gen/model/Roi_box.cpp index 06d26fcd..352e2f50 100644 --- a/broker/gen/model/Roi_box.cpp +++ b/broker/gen/model/Roi_box.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Roi_box.h b/broker/gen/model/Roi_box.h index f746c82b..5dc68ba7 100644 --- a/broker/gen/model/Roi_box.h +++ b/broker/gen/model/Roi_box.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Roi_box_list.cpp b/broker/gen/model/Roi_box_list.cpp index 98ab52f0..de2ff93f 100644 --- a/broker/gen/model/Roi_box_list.cpp +++ b/broker/gen/model/Roi_box_list.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Roi_box_list.h b/broker/gen/model/Roi_box_list.h index 1a12283b..8f171d79 100644 --- a/broker/gen/model/Roi_box_list.h +++ b/broker/gen/model/Roi_box_list.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Roi_circle.cpp b/broker/gen/model/Roi_circle.cpp index 520b86bb..b132be7c 100644 --- a/broker/gen/model/Roi_circle.cpp +++ b/broker/gen/model/Roi_circle.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Roi_circle.h b/broker/gen/model/Roi_circle.h index d251ffe8..b712bf22 100644 --- a/broker/gen/model/Roi_circle.h +++ b/broker/gen/model/Roi_circle.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Roi_circle_list.cpp b/broker/gen/model/Roi_circle_list.cpp index 50ca4527..97be08c6 100644 --- a/broker/gen/model/Roi_circle_list.cpp +++ b/broker/gen/model/Roi_circle_list.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Roi_circle_list.h b/broker/gen/model/Roi_circle_list.h index 5e197ace..f9a256a3 100644 --- a/broker/gen/model/Roi_circle_list.h +++ b/broker/gen/model/Roi_circle_list.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Rotation_axis.cpp b/broker/gen/model/Rotation_axis.cpp index 11435f21..95716580 100644 --- a/broker/gen/model/Rotation_axis.cpp +++ b/broker/gen/model/Rotation_axis.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Rotation_axis.h b/broker/gen/model/Rotation_axis.h index a38d7771..c13f8b18 100644 --- a/broker/gen/model/Rotation_axis.h +++ b/broker/gen/model/Rotation_axis.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Spot_finding_settings.cpp b/broker/gen/model/Spot_finding_settings.cpp index 8fe1b2ad..75d172f3 100644 --- a/broker/gen/model/Spot_finding_settings.cpp +++ b/broker/gen/model/Spot_finding_settings.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Spot_finding_settings.h b/broker/gen/model/Spot_finding_settings.h index 41a444b9..76b70f80 100644 --- a/broker/gen/model/Spot_finding_settings.h +++ b/broker/gen/model/Spot_finding_settings.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Standard_detector_geometry.cpp b/broker/gen/model/Standard_detector_geometry.cpp index b15c9ccd..1b23530c 100644 --- a/broker/gen/model/Standard_detector_geometry.cpp +++ b/broker/gen/model/Standard_detector_geometry.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Standard_detector_geometry.h b/broker/gen/model/Standard_detector_geometry.h index fbd8f498..baa6f49a 100644 --- a/broker/gen/model/Standard_detector_geometry.h +++ b/broker/gen/model/Standard_detector_geometry.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Zeromq_settings.cpp b/broker/gen/model/Zeromq_settings.cpp index 783300d1..36b30406 100644 --- a/broker/gen/model/Zeromq_settings.cpp +++ b/broker/gen/model/Zeromq_settings.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Zeromq_settings.h b/broker/gen/model/Zeromq_settings.h index 280e6372..88cbea73 100644 --- a/broker/gen/model/Zeromq_settings.h +++ b/broker/gen/model/Zeromq_settings.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.16 +* The version of the OpenAPI document: 1.0.0-rc.17 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/jfjoch_api.yaml b/broker/jfjoch_api.yaml index 14c24bdb..f9162f2c 100644 --- a/broker/jfjoch_api.yaml +++ b/broker/jfjoch_api.yaml @@ -5,7 +5,7 @@ info: API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. - version: 1.0.0-rc.16 + version: 1.0.0-rc.17 contact: name: Filip Leonarski (Paul Scherrer Institute) email: filip.leonarski@psi.ch @@ -814,6 +814,20 @@ components: masked_pixels: type: integer format: int64 + jfjoch_statistics: + type: object + description: "Pool statistics for Jungfraujoch to reduce transfers between frontend and jfjoch_broker" + properties: + detector: + $ref: '#/components/schemas/detector_status' + measurement: + $ref: '#/components/schemas/measurement_statistics' + broker: + $ref: '#/components/schemas/broker_status' + fpga: + $ref: '#/components/schemas/fpga_status' + calibration: + $ref: '#/components/schemas/calibration_statistics' preview_settings: type: object description: "Settings for JPEG rendering of preview images" @@ -2048,6 +2062,18 @@ paths: application/json: schema: $ref: '#/components/schemas/plots' + /statistics: + get: + summary: Get general statistics + parameters: + - $ref: '#/components/parameters/compression' + responses: + "200": + description: Everything OK + content: + application/json: + schema: + $ref: '#/components/schemas/jfjoch_statistics' /statistics/data_collection: get: summary: Get data collection statistics diff --git a/broker/redoc-static.html b/broker/redoc-static.html index 22a897d3..3f1e4f30 100644 --- a/broker/redoc-static.html +++ b/broker/redoc-static.html @@ -349,7 +349,7 @@ data-styled.g137[id="sc-kqGpvY"]{content:"bAFwPb,"}/*!sc*/ -

Jungfraujoch (1.0.0-rc.16)

Download OpenAPI specification:Download

Filip Leonarski (Paul Scherrer Institute): filip.leonarski@psi.ch

Jungfraujoch (1.0.0-rc.17)

Download OpenAPI specification:Download

Filip Leonarski (Paul Scherrer Institute): filip.leonarski@psi.ch

API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). @@ -887,8 +887,8 @@ Changing detector will set detector to Inactive state and will requ " class="sc-eeDSqt sc-eBMFzZ bSgSrX cWARBq">

Mean intensity for d = 3 - 5 A per image; binning is configurable

query Parameters
binning
integer

Binning of frames for the plot (0 = default binning)

-
compression
boolean
Default: true

Enable DEFLATE compression of output data

+
compression
boolean
Default: true

Enable DEFLATE compression of output data.

Responses

query Parameters
binning
integer

Binning of frames for the plot (0 = default binning)

-
compression
boolean
Default: true

Enable DEFLATE compression of output data

+
compression
boolean
Default: true

Enable DEFLATE compression of output data.

Responses

query Parameters
binning
integer

Binning of frames for the plot (0 = default binning)

-
compression
boolean
Default: true

Enable DEFLATE compression of output data

+
compression
boolean
Default: true

Enable DEFLATE compression of output data.

Responses

query Parameters
binning
integer

Binning of frames for the plot (0 = default binning)

-
compression
boolean
Default: true

Enable DEFLATE compression of output data

+
compression
boolean
Default: true

Enable DEFLATE compression of output data.

Responses

query Parameters
binning
integer

Binning of frames for the plot (0 = default binning)

-
compression
boolean
Default: true

Enable DEFLATE compression of output data

+
compression
boolean
Default: true

Enable DEFLATE compression of output data.

Responses

query Parameters
binning
integer

Binning of frames for the plot (0 = default binning)

-
compression
boolean
Default: true

Enable DEFLATE compression of output data

+
compression
boolean
Default: true

Enable DEFLATE compression of output data.

Responses

query Parameters
binning
integer

Binning of frames for the plot (0 = default binning)

-
compression
boolean
Default: true

Enable DEFLATE compression of output data

+
compression
boolean
Default: true

Enable DEFLATE compression of output data.

Responses

query Parameters
binning
integer

Binning of frames for the plot (0 = default binning)

-
compression
boolean
Default: true

Enable DEFLATE compression of output data

+
compression
boolean
Default: true

Enable DEFLATE compression of output data.

Responses

query Parameters
binning
integer

Binning of frames for the plot (0 = default binning)

-
compression
boolean
Default: true

Enable DEFLATE compression of output data

+
compression
boolean
Default: true

Enable DEFLATE compression of output data.

Responses

query Parameters
binning
integer

Binning of frames for the plot (0 = default binning)

-
compression
boolean
Default: true

Enable DEFLATE compression of output data

+
compression
boolean
Default: true

Enable DEFLATE compression of output data.

Responses

query Parameters
binning
integer

Binning of frames for the plot (0 = default binning)

-
compression
boolean
Default: true

Enable DEFLATE compression of output data

+
compression
boolean
Default: true

Enable DEFLATE compression of output data.

Responses

Response samples

Content type
application/json
{
  • "title": "string",
  • "plot": [
    ]
}

Generate radial integration profile

Generate average radial integration profile

-
query Parameters
compression
boolean
Default: true

Enable DEFLATE compression of output data

+
query Parameters
compression
boolean
Default: true

Enable DEFLATE compression of output data.

Responses

Response samples

Content type
application/json
{
  • "title": "string",
  • "plot": [
    ]
}

Get data collection statistics

http://localhost:5232/plot/azim_int

Response samples

Content type
application/json
{
  • "title": "string",
  • "plot": [
    ]
}

Get general statistics

query Parameters
compression
boolean
Default: true

Enable DEFLATE compression of output data.

+

Responses

Response samples

Content type
application/json
{
  • "detector": {
    },
  • "measurement": {
    },
  • "broker": {
    },
  • "fpga": [
    ],
  • "calibration": [
    ]
}

Get data collection statistics

Results of the last data collection

Responses

Response samples

Content type
application/json
{
  • "file_prefix": "string",
  • "run_number": 0,
  • "experiment_group": "string",
  • "images_expected": 0,
  • "images_collected": 0,
  • "images_sent": 0,
  • "images_discarded_lossy_compression": 0,
  • "max_image_number_sent": 0,
  • "collection_efficiency": 1,
  • "compression_ratio": 5.3,
  • "cancelled": true,
  • "max_receiver_delay": 0,
  • "indexing_rate": 0.1,
  • "detector_width": 0,
  • "detector_height": 0,
  • "detector_pixel_depth": 2,
  • "bkg_estimate": 0.1,
  • "unit_cell": "string"
}

Get calibration statistics

http://localhost:5232/statistics/data_collection

Response samples

Content type
application/json
{
  • "file_prefix": "string",
  • "run_number": 0,
  • "experiment_group": "string",
  • "images_expected": 0,
  • "images_collected": 0,
  • "images_sent": 0,
  • "images_discarded_lossy_compression": 0,
  • "max_image_number_sent": 0,
  • "collection_efficiency": 1,
  • "compression_ratio": 5.3,
  • "cancelled": true,
  • "max_receiver_delay": 0,
  • "indexing_rate": 0.1,
  • "detector_width": 0,
  • "detector_height": 0,
  • "detector_pixel_depth": 2,
  • "bkg_estimate": 0.1,
  • "unit_cell": "string"
}

Get calibration statistics

Statistics are provided for each module/storage cell separately

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get last preview image in JPEG format using custom settings

Request Body schema: application/json
saturation
required
integer <int64> [ 0 .. 65535 ]
http://localhost:5232/statistics/calibration

Response samples

Content type
application/json
[
  • {
    }
]

Get last preview image in JPEG format using custom settings

Request Body schema: application/json
saturation
required
integer <int64> [ 0 .. 65535 ]

Saturation value to set contrast in the preview image

show_spots
boolean
Default: true

Show spot finding results on the image

@@ -1059,7 +1065,7 @@ Changing detector will set detector to Inactive state and will requ " class="sc-eeDSqt sc-eBMFzZ bSgSrX cWARBq sc-dCFGXG gKOXES">

Error within Jungfraujoch code - see output message.

Request samples

Content type
application/json
{
  • "saturation": 65535,
  • "show_spots": true,
  • "show_roi": false,
  • "jpeg_quality": 100,
  • "show_indexed": false,
  • "show_user_mask": false,
  • "resolution_ring": 0.1
}

Response samples

Content type
application/json
{
  • "msg": "Detector in wrong state",
  • "reason": "WrongDAQState"
}

Get last preview image in JPEG format using default settings

Responses

Request samples

Content type
application/json
{
  • "saturation": 65535,
  • "show_spots": true,
  • "show_roi": false,
  • "jpeg_quality": 100,
  • "show_indexed": false,
  • "show_user_mask": false,
  • "resolution_ring": 0.1
}

Response samples

Content type
application/json
{
  • "msg": "Detector in wrong state",
  • "reason": "WrongDAQState"
}

Get last preview image in JPEG format using default settings

Responses

Response samples

Content type
application/json
{
  • "msg": "Detector in wrong state",
  • "reason": "WrongDAQState"
}

Get pedestal G0 in TIFF format

query Parameters
gain_level
required
integer
http://localhost:5232/config/user_mask.tiff

Response samples

Content type
application/json
{
  • "msg": "Detector in wrong state",
  • "reason": "WrongDAQState"
}

Get pedestal G0 in TIFF format

query Parameters
gain_level
required
integer

Gain level (0, 1, 2)

sc
integer

Storage cell number

@@ -1131,7 +1137,7 @@ User mask is not automatically applied - i.e. pixels with user mask will have a " class="sc-eeDSqt sc-eBMFzZ bSgSrX gayXgA">

Test Jungfraujoch system

http://localhost:5232/version