diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f9afe975..529d271a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -268,41 +268,6 @@ synthesis:vivado_pcie_100g: - mv fpga/jfjoch_fpga_pcie_100g.mcs .. needs: ["build:x86:gcc", "test:x86:gcc"] -synthesis:vivado_pcie_100g_anlt: - 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_anlt.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_anlt - - mv fpga/jfjoch_fpga_pcie_100g_anlt.mcs .. - needs: ["build:x86:gcc", "test:x86:gcc"] - synthesis:vivado_pcie_8x10g: stage: synthesis dependencies: [] @@ -348,7 +313,6 @@ release: dependencies: - synthesis:vivado_pcie_8x10g - synthesis:vivado_pcie_100g - - synthesis:vivado_pcie_100g_anlt - build:x86:frontend - build:x86:driver - build:x86:rpm @@ -362,7 +326,6 @@ release: - 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file jfjoch_driver.tar.gz "${PACKAGE_REGISTRY_URL}/jfjoch_driver.tar.gz"' - 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file jfjoch_frontend.tar.gz "${PACKAGE_REGISTRY_URL}/jfjoch_frontend.tar.gz"' - 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file jfjoch_fpga_pcie_100g.mcs "${PACKAGE_REGISTRY_URL}/jfjoch_fpga_pcie_100g.mcs"' - - 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file jfjoch_fpga_pcie_100g_anlt.mcs "${PACKAGE_REGISTRY_URL}/jfjoch_fpga_pcie_100g_anlt.mcs"' - 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file jfjoch_fpga_pcie_8x10g.mcs "${PACKAGE_REGISTRY_URL}/jfjoch_fpga_pcie_8x10g.mcs"' - > release-cli create --name "Release $PACKAGE_VERSION_SEM" --tag-name $PACKAGE_VERSION_SEM @@ -370,7 +333,6 @@ release: --assets-link "{\"name\":\"jfjoch_frontend.tar.gz\",\"url\":\"${PACKAGE_REGISTRY_URL}/jfjoch_frontend.tar.gz\"}" --assets-link "{\"name\":\"jfjoch_fpga_pcie_8x10g.mcs\",\"url\":\"${PACKAGE_REGISTRY_URL}/jfjoch_fpga_pcie_8x10g.mcs\"}" --assets-link "{\"name\":\"jfjoch_fpga_pcie_100g.mcs\",\"url\":\"${PACKAGE_REGISTRY_URL}/jfjoch_fpga_pcie_100g.mcs\"}" - --assets-link "{\"name\":\"jfjoch_fpga_pcie_100g_anlt.mcs\",\"url\":\"${PACKAGE_REGISTRY_URL}/jfjoch_fpga_pcie_100g_anlt.mcs\"}" --assets-link "{\"name\":\"jfjoch-${PACKAGE_VERSION}-1.el8.x86_64.rpm\",\"url\":\"${PACKAGE_REGISTRY_URL}/jfjoch-${PACKAGE_VERSION}-1.el8.x86_64.rpm\",\"link_type\":\"package\"}" --assets-link "{\"name\":\"jfjoch-writer-${PACKAGE_VERSION}-1.el8.x86_64.rpm\",\"url\":\"${PACKAGE_REGISTRY_URL}/jfjoch-writer-${PACKAGE_VERSION}-1.el8.x86_64.rpm\",\"link_type\":\"package\"}" --assets-link "{\"name\":\"jfjoch-driver-dkms-${PACKAGE_VERSION}-1.el8.noarch.rpm\",\"url\":\"${PACKAGE_REGISTRY_URL}/jfjoch-driver-dkms-${PACKAGE_VERSION}-1.el8.noarch.rpm\",\"link_type\":\"package\"}" @@ -404,7 +366,6 @@ release_no_fpga: --assets-link "{\"name\":\"jfjoch-driver-dkms-${PACKAGE_VERSION}-1.el8.noarch.rpm\",\"url\":\"${PACKAGE_REGISTRY_URL}/jfjoch-driver-dkms-${PACKAGE_VERSION}-1.el8.noarch.rpm\",\"link_type\":\"package\"}" --assets-link "{\"name\":\"jfjoch_fpga_pcie_8x10g.mcs\",\"url\":\"${PACKAGE_REGISTRY_URL}/jfjoch_fpga_pcie_8x10g.mcs\"}" --assets-link "{\"name\":\"jfjoch_fpga_pcie_100g.mcs\",\"url\":\"${PACKAGE_REGISTRY_URL}/jfjoch_fpga_pcie_100g.mcs\"}" - --assets-link "{\"name\":\"jfjoch_fpga_pcie_100g_anlt.mcs\",\"url\":\"${PACKAGE_REGISTRY_URL}/jfjoch_fpga_pcie_100g_anlt.mcs\"}" upload_fpga_100g: stage: release @@ -455,28 +416,3 @@ upload_fpga_8x10g: - export PACKAGE_VERSION=${PACKAGE_VERSION_SEM//-/_} - export PACKAGE_REGISTRY_URL="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/jungfraujoch/${PACKAGE_VERSION_SEM}" - 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file jfjoch_fpga_pcie_8x10g.mcs "${PACKAGE_REGISTRY_URL}/jfjoch_fpga_pcie_8x10g.mcs"' - -upload_fpga_100g_anlt: - stage: release - rules: - - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH - when: manual - - if: $CI_COMMIT_MESSAGE =~ /^FPGA/ - when: manual - - if: $CI_PIPELINE_SOURCE == "push" - changes: - - fpga/hls/* - - fpga/hdl/* - - fpga/scripts/* - - fpga/xdc/* - - fpga/pcie_driver/jfjoch_fpga.h - when: manual - tags: - - x86 - dependencies: - - synthesis:vivado_pcie_100g_anlt - script: - - export PACKAGE_VERSION_SEM=`head -n1 VERSION` - - export PACKAGE_VERSION=${PACKAGE_VERSION_SEM//-/_} - - export PACKAGE_REGISTRY_URL="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/jungfraujoch/${PACKAGE_VERSION_SEM}" - - 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file jfjoch_fpga_pcie_100g_anlt.mcs "${PACKAGE_REGISTRY_URL}/jfjoch_fpga_pcie_100g_anlt.mcs"' diff --git a/VERSION b/VERSION index 624bf34f..e899313d 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.0.0-rc.13 +1.0.0-rc.14 diff --git a/acquisition_device/AcquisitionCounters.cpp b/acquisition_device/AcquisitionCounters.cpp index 7e62c721..0d169a46 100644 --- a/acquisition_device/AcquisitionCounters.cpp +++ b/acquisition_device/AcquisitionCounters.cpp @@ -41,17 +41,6 @@ void AcquisitionCounters::Reset(const DiffractionExperiment &experiment, uint16_ void AcquisitionCounters::UpdateCounters(const Completion *c) { std::unique_lock ul(m); - if (c->pedestal) { - if (c->module_number >= nmodules) - throw JFJochException(JFJochExceptionCategory::InputParameterInvalid, - "UpdateCounters wrong module number: " + std::to_string(c->module_number) + " for pedestal SC" + std::to_string(c->frame_number)); - if (c->frame_number >= 16) - throw JFJochException(JFJochExceptionCategory::InputParameterInvalid, - "UpdateCounters pedestal frame number is out of bounds for storage cells"); - handle_for_pedestal.at(c->frame_number * nmodules + c->module_number) = c->handle; - return; - } - if (c->module_number >= nmodules) throw JFJochException(JFJochExceptionCategory::InputParameterInvalid, "UpdateCounters wrong module number: " + std::to_string(c->module_number) + " for frame " + std::to_string(c->frame_number) + diff --git a/acquisition_device/AcquisitionDevice.cpp b/acquisition_device/AcquisitionDevice.cpp index 8e57afeb..1e6dced3 100644 --- a/acquisition_device/AcquisitionDevice.cpp +++ b/acquisition_device/AcquisitionDevice.cpp @@ -75,7 +75,7 @@ void AcquisitionDevice::StartAction(const DiffractionExperiment &experiment, uin RunInternalGenerator(experiment); } -void AcquisitionDevice::WaitForActionComplete(bool pedestal_mode) { +void AcquisitionDevice::WaitForActionComplete() { auto c = work_completion_queue.GetBlocking(); while (c.type != Completion::Type::End) { @@ -92,9 +92,8 @@ void AcquisitionDevice::WaitForActionComplete(bool pedestal_mode) { c.module_number = output->module_statistics.module_number; c.packet_count = output->module_statistics.packet_count; c.frame_number = output->module_statistics.frame_number; - c.pedestal = output->module_statistics.pedestal; - if ((c.frame_number >= expected_frames) && !c.pedestal) { + if (c.frame_number >= expected_frames) { Cancel(); // this frame is not of any interest, therefore its location can be immediately released SendWorkRequest(c.handle); @@ -104,14 +103,6 @@ void AcquisitionDevice::WaitForActionComplete(bool pedestal_mode) { logger->Error("Completion with wrong module number data stream {} completion frame number {} module {} handle {}", data_stream, c.frame_number, c.module_number, c.handle); SendWorkRequest(c.handle); - } else if (pedestal_mode && !c.pedestal) { - try { - counters.UpdateCounters(&c); - } catch (const JFJochException &e) { - if (logger) - logger->ErrorException(e); - } - SendWorkRequest(c.handle); } else { try { counters.UpdateCounters(&c); @@ -152,14 +143,6 @@ const DeviceOutput *AcquisitionDevice::GetDeviceOutput(size_t frame_number, uint throw JFJochException(JFJochExceptionCategory::ArrayOutOfBounds, "Frame not collected"); } -const DeviceOutput *AcquisitionDevice::GetDeviceOutputPedestal(size_t storage_cell, uint16_t module_number) const { - auto handle = counters.GetPedestalBufferHandle(storage_cell, module_number); - if (handle != HandleNotValid) - return GetDeviceOutput(handle); - else - throw JFJochException(JFJochExceptionCategory::ArrayOutOfBounds, "Frame not collected"); -} - const DeviceOutput *AcquisitionDevice::GetDeviceOutput(size_t handle) const { if (handle >= buffer_device.size()) throw JFJochException(JFJochExceptionCategory::ArrayOutOfBounds, "Handle outside of range"); diff --git a/acquisition_device/AcquisitionDevice.h b/acquisition_device/AcquisitionDevice.h index ee4810c7..643f86c5 100644 --- a/acquisition_device/AcquisitionDevice.h +++ b/acquisition_device/AcquisitionDevice.h @@ -75,7 +75,7 @@ public: void StartAction(const DiffractionExperiment &experiment, uint32_t optional_flags = 0); void PrepareAction(const DiffractionExperiment &experiment); - void WaitForActionComplete(bool pedestal_mode = false); + void WaitForActionComplete(); virtual void Cancel() = 0; void EnableLogging(Logger *logger); @@ -87,7 +87,6 @@ public: virtual DeviceStatus GetDeviceStatus() const; AcquisitionDeviceStatistics GetStatistics() const; const DeviceOutput *GetDeviceOutput(size_t frame_number, uint16_t module_number) const; - const DeviceOutput *GetDeviceOutputPedestal(size_t frame_number, uint16_t module_number) const; void FrameBufferRelease(size_t frame_number, uint16_t module_number); // Calibration diff --git a/acquisition_device/Completion.h b/acquisition_device/Completion.h index 42d2cdf8..694521db 100644 --- a/acquisition_device/Completion.h +++ b/acquisition_device/Completion.h @@ -17,7 +17,6 @@ struct Completion { uint16_t packet_count; uint16_t data_collection_id; uint16_t module_number; - bool pedestal; }; Completion parse_hw_completion(uint32_t hw_input); diff --git a/acquisition_device/FPGAAcquisitionDevice.h b/acquisition_device/FPGAAcquisitionDevice.h index 3ebfb9b4..7c5d986d 100644 --- a/acquisition_device/FPGAAcquisitionDevice.h +++ b/acquisition_device/FPGAAcquisitionDevice.h @@ -41,9 +41,6 @@ class FPGAAcquisitionDevice : public AcquisitionDevice { protected: std::vector internal_pkt_gen_frame; explicit FPGAAcquisitionDevice(uint16_t data_stream); - virtual void HW_GetEnvParams(DeviceStatus *status) const { - memset(status, 0, sizeof(DeviceStatus)); - } public: void InitializeCalibration(const DiffractionExperiment &experiment, const JFCalibration &calib) override; void InitializeIntegrationMap(const DiffractionExperiment &experiment, const std::vector &v, diff --git a/acquisition_device/HLSSimulatedDevice.cpp b/acquisition_device/HLSSimulatedDevice.cpp index 5f2634f6..64cd6677 100644 --- a/acquisition_device/HLSSimulatedDevice.cpp +++ b/acquisition_device/HLSSimulatedDevice.cpp @@ -102,3 +102,19 @@ uint32_t HLSSimulatedDevice::HW_GetDataSource() { void HLSSimulatedDevice::CreateXfelBunchIDPacket(double pulse_id, uint32_t event_code) { device->CreateXfelBunchIDPacket(pulse_id, event_code); } + +DeviceStatus HLSSimulatedDevice::GetDeviceStatus() const { + DeviceStatus status{}; + + strncpy(status.serial_number, "HLS1", sizeof(status.device_number)); + strncpy(status.device_number, "HLS device", sizeof(status.device_number)); + status.fpga_default_mac_addr = mac_addr; + status.eth_link_count = 1; + status.eth_link_status = 1; + status.packets_sls = device->GetSLSPackets(); + status.packets_udp = device->GetUDPPackets(); + status.hbm_0_temp_C = 0; + status.hbm_1_temp_C = 0; + status.fpga_temp_C = 0; + return status; +} \ No newline at end of file diff --git a/acquisition_device/HLSSimulatedDevice.h b/acquisition_device/HLSSimulatedDevice.h index a8402b31..f3c7c0e6 100644 --- a/acquisition_device/HLSSimulatedDevice.h +++ b/acquisition_device/HLSSimulatedDevice.h @@ -40,6 +40,7 @@ public: void CreateFinalPacket(const DiffractionExperiment& experiment); DataCollectionStatus GetDataCollectionStatus() const override; void Cancel() override; + DeviceStatus GetDeviceStatus() const override; }; diff --git a/acquisition_device/PCIExpressDevice.cpp b/acquisition_device/PCIExpressDevice.cpp index fa8580f0..7dd6fa54 100644 --- a/acquisition_device/PCIExpressDevice.cpp +++ b/acquisition_device/PCIExpressDevice.cpp @@ -70,10 +70,6 @@ std::string PCIExpressDevice::GetMACAddress() const { return MacAddressToStr(dev.GetMACAddress()); } -void PCIExpressDevice::HW_GetEnvParams(DeviceStatus *status) const { - *status = dev.GetDeviceStatus(); -} - uint32_t PCIExpressDevice::GetNumKernelBuffers() const { return dev.GetBufferCount(); } diff --git a/acquisition_device/PCIExpressDevice.h b/acquisition_device/PCIExpressDevice.h index 935fa63c..7cac8352 100644 --- a/acquisition_device/PCIExpressDevice.h +++ b/acquisition_device/PCIExpressDevice.h @@ -28,8 +28,6 @@ public: PCIExpressDevice(uint16_t data_stream, const std::string &device_name); void Cancel() override; - void HW_GetEnvParams(DeviceStatus *status) const override; - int32_t GetNUMANode() const override; void SetIPv4Address(uint32_t ipv4_addr_network_order) override; diff --git a/broker/JFJochBrokerHttp.cpp b/broker/JFJochBrokerHttp.cpp index 88087384..8abe8bca 100644 --- a/broker/JFJochBrokerHttp.cpp +++ b/broker/JFJochBrokerHttp.cpp @@ -137,16 +137,8 @@ void JFJochBrokerHttp::config_spot_finding_put( response.send(Pistache::Http::Code::Ok); } -void JFJochBrokerHttp::plot_indexing_rate_per_file_get(Pistache::Http::ResponseWriter &response) { - GenericPlot(PlotType::IndexingRatePerTimePoint, 0, response); -} - void JFJochBrokerHttp::plot_azim_int_get(Pistache::Http::ResponseWriter &response) { - GenericPlot(PlotType::RadInt, 0, response); -} - -void JFJochBrokerHttp::plot_azim_int_per_file_get(Pistache::Http::ResponseWriter &response) { - GenericPlot(PlotType::RadIntPerTimePoint, 0, response); + GenericPlot(PlotType::AzInt, 0, response); } void JFJochBrokerHttp::statistics_calibration_get(Pistache::Http::ResponseWriter &response) { diff --git a/broker/JFJochBrokerHttp.h b/broker/JFJochBrokerHttp.h index c3d296a7..131601c2 100644 --- a/broker/JFJochBrokerHttp.h +++ b/broker/JFJochBrokerHttp.h @@ -77,11 +77,7 @@ class JFJochBrokerHttp : public org::openapitools::server::api::DefaultApi { void plot_strong_pixel_get(const std::optional &binning, Pistache::Http::ResponseWriter &response) override; - void plot_indexing_rate_per_file_get(Pistache::Http::ResponseWriter &response) override; - - void plot_azim_int_get(Pistache::Http::ResponseWriter &response) override; - - void plot_azim_int_per_file_get(Pistache::Http::ResponseWriter &response) override; + void plot_azim_int_get(Pistache::Http::ResponseWriter &response) override; void statistics_calibration_get(Pistache::Http::ResponseWriter &response) override; diff --git a/broker/OpenAPIConvert.cpp b/broker/OpenAPIConvert.cpp index 3962b7d9..d5401fc4 100644 --- a/broker/OpenAPIConvert.cpp +++ b/broker/OpenAPIConvert.cpp @@ -97,6 +97,8 @@ DetectorSettings Convert(const org::openapitools::server::model::Detector_settin ret.PedestalG0Frames(input.getPedestalG0Frames()); ret.PedestalG1Frames(input.getPedestalG1Frames()); ret.PedestalG2Frames(input.getPedestalG2Frames()); + ret.PedestalMinImageCount(input.getPedestalMinImageCount()); + ret.PedestalG0RMSLimit(input.getPedestalG0RmsLimit()); ret.DetectorDelay(std::chrono::nanoseconds(input.getDetectorTriggerDelayNs())); return ret; @@ -117,6 +119,7 @@ org::openapitools::server::model::Detector_settings Convert(const DetectorSettin ret.setPedestalG0Frames(input.GetPedestalG0Frames()); ret.setPedestalG1Frames(input.GetPedestalG1Frames()); ret.setPedestalG2Frames(input.GetPedestalG2Frames()); + ret.setPedestalMinImageCount(input.GetPedestalMinImageCount()); ret.setStorageCellDelayNs(input.GetStorageCellDelay().count()); ret.setDetectorTriggerDelayNs(input.GetDetectorDelay().count()); @@ -463,6 +466,11 @@ std::vector Convert(const s std::vector ret; for (const auto &d: input) { org::openapitools::server::model::Fpga_status_inner tmp; + tmp.setPciDevId(d.device_number); + tmp.setSerialNumber(d.serial_number); + tmp.setBaseMacAddr(MacAddressToStr(d.fpga_default_mac_addr)); + tmp.setPacketsSls(d.packets_sls); + tmp.setPacketsUdp(d.packets_udp); tmp.setEthLinkCount(d.eth_link_count); tmp.setEthLinkStatus(d.eth_link_status); tmp.setFpgaTempC(static_cast(d.fpga_temp_C)); diff --git a/broker/gen/api/ApiBase.h b/broker/gen/api/ApiBase.h index e653439c..f4eb541e 100644 --- a/broker/gen/api/ApiBase.h +++ b/broker/gen/api/ApiBase.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 8cc26730..2dfb2310 100644 --- a/broker/gen/api/DefaultApi.cpp +++ b/broker/gen/api/DefaultApi.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -59,12 +59,10 @@ void DefaultApi::setupRoutes() { Routes::Post(*router, base + "/initialize", Routes::bind(&DefaultApi::initialize_post_handler, this)); Routes::Post(*router, base + "/pedestal", Routes::bind(&DefaultApi::pedestal_post_handler, this)); Routes::Get(*router, base + "/plot/azim_int", Routes::bind(&DefaultApi::plot_azim_int_get_handler, this)); - Routes::Get(*router, base + "/plot/azim_int_per_file", Routes::bind(&DefaultApi::plot_azim_int_per_file_get_handler, this)); Routes::Get(*router, base + "/plot/bkg_estimate", Routes::bind(&DefaultApi::plot_bkg_estimate_get_handler, this)); Routes::Get(*router, base + "/plot/error_pixel", Routes::bind(&DefaultApi::plot_error_pixel_get_handler, this)); Routes::Get(*router, base + "/plot/image_collection_efficiency", Routes::bind(&DefaultApi::plot_image_collection_efficiency_get_handler, this)); Routes::Get(*router, base + "/plot/indexing_rate", Routes::bind(&DefaultApi::plot_indexing_rate_get_handler, this)); - Routes::Get(*router, base + "/plot/indexing_rate_per_file", Routes::bind(&DefaultApi::plot_indexing_rate_per_file_get_handler, this)); Routes::Get(*router, base + "/plot/receiver_delay", Routes::bind(&DefaultApi::plot_receiver_delay_get_handler, this)); Routes::Get(*router, base + "/plot/receiver_free_send_buffers", Routes::bind(&DefaultApi::plot_receiver_free_send_buffers_get_handler, this)); Routes::Get(*router, base + "/plot/roi_max_count", Routes::bind(&DefaultApi::plot_roi_max_count_get_handler, this)); @@ -687,25 +685,6 @@ void DefaultApi::plot_azim_int_get_handler(const Pistache::Rest::Request &, Pist response.send(Pistache::Http::Code::Internal_Server_Error, e.what()); } -} -void DefaultApi::plot_azim_int_per_file_get_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) { - try { - - - try { - this->plot_azim_int_per_file_get(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::plot_bkg_estimate_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) { try { @@ -822,25 +801,6 @@ void DefaultApi::plot_indexing_rate_get_handler(const Pistache::Rest::Request &r response.send(Pistache::Http::Code::Internal_Server_Error, e.what()); } -} -void DefaultApi::plot_indexing_rate_per_file_get_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) { - try { - - - try { - this->plot_indexing_rate_per_file_get(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::plot_receiver_delay_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) { try { diff --git a/broker/gen/api/DefaultApi.h b/broker/gen/api/DefaultApi.h index a85958cc..f9087e45 100644 --- a/broker/gen/api/DefaultApi.h +++ b/broker/gen/api/DefaultApi.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -89,12 +89,10 @@ private: void initialize_post_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); void pedestal_post_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); void plot_azim_int_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); - void plot_azim_int_per_file_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); void plot_bkg_estimate_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); void plot_error_pixel_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); void plot_image_collection_efficiency_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); void plot_indexing_rate_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); - void plot_indexing_rate_per_file_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); void plot_receiver_delay_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); void plot_receiver_free_send_buffers_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); void plot_roi_max_count_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); @@ -339,13 +337,6 @@ private: /// virtual void plot_azim_int_get(Pistache::Http::ResponseWriter &response) = 0; /// - /// Generate radial integration profiles per file - /// - /// - /// Radial integration plots for both the whole dataset and per file; useful for time-resolved measurements - /// - virtual void plot_azim_int_per_file_get(Pistache::Http::ResponseWriter &response) = 0; - /// /// Generate background estimate plot /// /// @@ -378,13 +369,6 @@ private: /// Binning of frames for the plot (0 = default binning) (optional, default to 0) virtual void plot_indexing_rate_get(const std::optional &binning, Pistache::Http::ResponseWriter &response) = 0; /// - /// Generate indexing rate per file - /// - /// - /// Indexing rate per each of data files; useful for example for time resolved data - /// - virtual void plot_indexing_rate_per_file_get(Pistache::Http::ResponseWriter &response) = 0; - /// /// Generate receiver delay plot /// /// diff --git a/broker/gen/model/Azim_int_settings.cpp b/broker/gen/model/Azim_int_settings.cpp index 6661f0de..4112b86b 100644 --- a/broker/gen/model/Azim_int_settings.cpp +++ b/broker/gen/model/Azim_int_settings.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 f777053c..7f2c240b 100644 --- a/broker/gen/model/Azim_int_settings.h +++ b/broker/gen/model/Azim_int_settings.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 d145676c..c4a10804 100644 --- a/broker/gen/model/Broker_status.cpp +++ b/broker/gen/model/Broker_status.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 b70eed4e..bf182df9 100644 --- a/broker/gen/model/Broker_status.h +++ b/broker/gen/model/Broker_status.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 8597d043..6dfec699 100644 --- a/broker/gen/model/Calibration_statistics_inner.cpp +++ b/broker/gen/model/Calibration_statistics_inner.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 1d44541c..3502ef04 100644 --- a/broker/gen/model/Calibration_statistics_inner.h +++ b/broker/gen/model/Calibration_statistics_inner.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 41a1c363..0e74b7e5 100644 --- a/broker/gen/model/Dataset_settings.cpp +++ b/broker/gen/model/Dataset_settings.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 033b5eb1..4d0fe337 100644 --- a/broker/gen/model/Dataset_settings.h +++ b/broker/gen/model/Dataset_settings.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 25eefa46..39ec5915 100644 --- a/broker/gen/model/Dataset_settings_unit_cell.cpp +++ b/broker/gen/model/Dataset_settings_unit_cell.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 2b14ea03..cee03653 100644 --- a/broker/gen/model/Dataset_settings_unit_cell.h +++ b/broker/gen/model/Dataset_settings_unit_cell.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 3d6fb85f..cd8bfb76 100644 --- a/broker/gen/model/Detector.cpp +++ b/broker/gen/model/Detector.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 9abdd6a4..e5451131 100644 --- a/broker/gen/model/Detector.h +++ b/broker/gen/model/Detector.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 60ad3afc..a8163653 100644 --- a/broker/gen/model/Detector_list.cpp +++ b/broker/gen/model/Detector_list.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 49c682e1..6d7adcfc 100644 --- a/broker/gen/model/Detector_list.h +++ b/broker/gen/model/Detector_list.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 8cf3b77f..2619f34d 100644 --- a/broker/gen/model/Detector_list_detectors_inner.cpp +++ b/broker/gen/model/Detector_list_detectors_inner.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 18c5bc67..223c6411 100644 --- a/broker/gen/model/Detector_list_detectors_inner.h +++ b/broker/gen/model/Detector_list_detectors_inner.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 9eb986fe..15a25872 100644 --- a/broker/gen/model/Detector_module.cpp +++ b/broker/gen/model/Detector_module.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 84d8287c..8e7ccd38 100644 --- a/broker/gen/model/Detector_module.h +++ b/broker/gen/model/Detector_module.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 70e467e2..650bd64e 100644 --- a/broker/gen/model/Detector_module_direction.cpp +++ b/broker/gen/model/Detector_module_direction.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 05ff3699..c515eaa6 100644 --- a/broker/gen/model/Detector_module_direction.h +++ b/broker/gen/model/Detector_module_direction.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 758f91ef..6af1bbc5 100644 --- a/broker/gen/model/Detector_selection.cpp +++ b/broker/gen/model/Detector_selection.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 765d5df1..16e9acf4 100644 --- a/broker/gen/model/Detector_selection.h +++ b/broker/gen/model/Detector_selection.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 1dc37d99..10cc57a7 100644 --- a/broker/gen/model/Detector_settings.cpp +++ b/broker/gen/model/Detector_settings.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -31,7 +31,7 @@ Detector_settings::Detector_settings() m_Pedestal_g1_frames = 300L; m_Pedestal_g2_frames = 300L; m_Pedestal_g0_rms_limit = 100L; - m_Pedestal_window_size = 128L; + m_Pedestal_min_image_count = 128L; m_Storage_cell_delay_ns = 5000L; m_Detector_trigger_delay_ns = 0L; m_Detector_trigger_delay_nsIsSet = false; @@ -171,9 +171,9 @@ bool Detector_settings::validate(std::stringstream& msg, const std::string& path } - /* Pedestal_window_size */ { - const int64_t& value = m_Pedestal_window_size; - const std::string currentValuePath = _pathPrefix + ".pedestalWindowSize"; + /* Pedestal_min_image_count */ { + const int64_t& value = m_Pedestal_min_image_count; + const std::string currentValuePath = _pathPrefix + ".pedestalMinImageCount"; if (value < 32ll) @@ -247,7 +247,7 @@ bool Detector_settings::operator==(const Detector_settings& rhs) const (getPedestalG0RmsLimit() == rhs.getPedestalG0RmsLimit()) && - (getPedestalWindowSize() == rhs.getPedestalWindowSize()) + (getPedestalMinImageCount() == rhs.getPedestalMinImageCount()) && (getStorageCellDelayNs() == rhs.getStorageCellDelayNs()) @@ -283,7 +283,7 @@ void to_json(nlohmann::json& j, const Detector_settings& o) j["pedestal_g1_frames"] = o.m_Pedestal_g1_frames; j["pedestal_g2_frames"] = o.m_Pedestal_g2_frames; j["pedestal_g0_rms_limit"] = o.m_Pedestal_g0_rms_limit; - j["pedestal_window_size"] = o.m_Pedestal_window_size; + j["pedestal_min_image_count"] = o.m_Pedestal_min_image_count; j["storage_cell_delay_ns"] = o.m_Storage_cell_delay_ns; if(o.detectorTriggerDelayNsIsSet()) j["detector_trigger_delay_ns"] = o.m_Detector_trigger_delay_ns; @@ -309,7 +309,7 @@ void from_json(const nlohmann::json& j, Detector_settings& o) j.at("pedestal_g1_frames").get_to(o.m_Pedestal_g1_frames); j.at("pedestal_g2_frames").get_to(o.m_Pedestal_g2_frames); j.at("pedestal_g0_rms_limit").get_to(o.m_Pedestal_g0_rms_limit); - j.at("pedestal_window_size").get_to(o.m_Pedestal_window_size); + j.at("pedestal_min_image_count").get_to(o.m_Pedestal_min_image_count); j.at("storage_cell_delay_ns").get_to(o.m_Storage_cell_delay_ns); if(j.find("detector_trigger_delay_ns") != j.end()) { @@ -410,13 +410,13 @@ void Detector_settings::setPedestalG0RmsLimit(int64_t const value) { m_Pedestal_g0_rms_limit = value; } -int64_t Detector_settings::getPedestalWindowSize() const +int64_t Detector_settings::getPedestalMinImageCount() const { - return m_Pedestal_window_size; + return m_Pedestal_min_image_count; } -void Detector_settings::setPedestalWindowSize(int64_t const value) +void Detector_settings::setPedestalMinImageCount(int64_t const value) { - m_Pedestal_window_size = value; + m_Pedestal_min_image_count = value; } int64_t Detector_settings::getStorageCellDelayNs() const { diff --git a/broker/gen/model/Detector_settings.h b/broker/gen/model/Detector_settings.h index 3220bdfb..d34b1767 100644 --- a/broker/gen/model/Detector_settings.h +++ b/broker/gen/model/Detector_settings.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -105,10 +105,10 @@ public: int64_t getPedestalG0RmsLimit() const; void setPedestalG0RmsLimit(int64_t const value); /// - /// Running average window size for pedestal calculations + /// Minimum number of collected images for pedestal to consider it viable /// - int64_t getPedestalWindowSize() const; - void setPedestalWindowSize(int64_t const value); + int64_t getPedestalMinImageCount() const; + void setPedestalMinImageCount(int64_t const value); /// /// Delay between two storage cells [ns] /// @@ -157,7 +157,7 @@ protected: int64_t m_Pedestal_g0_rms_limit; - int64_t m_Pedestal_window_size; + int64_t m_Pedestal_min_image_count; int64_t m_Storage_cell_delay_ns; diff --git a/broker/gen/model/Detector_status.cpp b/broker/gen/model/Detector_status.cpp index fee8cdb0..4b40495d 100644 --- a/broker/gen/model/Detector_status.cpp +++ b/broker/gen/model/Detector_status.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 f334a569..cf242bb5 100644 --- a/broker/gen/model/Detector_status.h +++ b/broker/gen/model/Detector_status.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 646b0018..1d224480 100644 --- a/broker/gen/model/Detector_type.cpp +++ b/broker/gen/model/Detector_type.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 a584b72a..243ca8e8 100644 --- a/broker/gen/model/Detector_type.h +++ b/broker/gen/model/Detector_type.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 1eae5418..59ad6c58 100644 --- a/broker/gen/model/Error_message.cpp +++ b/broker/gen/model/Error_message.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 449274e0..0c3b09e5 100644 --- a/broker/gen/model/Error_message.h +++ b/broker/gen/model/Error_message.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 5f5330fe..79ea859e 100644 --- a/broker/gen/model/Fpga_status_inner.cpp +++ b/broker/gen/model/Fpga_status_inner.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -21,16 +21,16 @@ namespace org::openapitools::server::model Fpga_status_inner::Fpga_status_inner() { + m_Pci_dev_id = ""; + m_Serial_number = ""; + m_Base_mac_addr = ""; m_Eth_link_count = 0L; - m_Eth_link_countIsSet = false; m_Eth_link_status = 0L; - m_Eth_link_statusIsSet = false; m_Power_usage_W = 0.0f; - m_Power_usage_WIsSet = false; m_Fpga_temp_C = 0.0f; - m_Fpga_temp_CIsSet = false; m_Hbm_temp_C = 0.0f; - m_Hbm_temp_CIsSet = false; + m_Packets_udp = 0L; + m_Packets_sls = 0L; } @@ -53,7 +53,7 @@ bool Fpga_status_inner::validate(std::stringstream& msg, const std::string& path bool success = true; const std::string _pathPrefix = pathPrefix.empty() ? "Fpga_status_inner" : pathPrefix; - + return success; } @@ -62,20 +62,35 @@ bool Fpga_status_inner::operator==(const Fpga_status_inner& rhs) const return + (getPciDevId() == rhs.getPciDevId()) + && - ((!ethLinkCountIsSet() && !rhs.ethLinkCountIsSet()) || (ethLinkCountIsSet() && rhs.ethLinkCountIsSet() && getEthLinkCount() == rhs.getEthLinkCount())) && + (getSerialNumber() == rhs.getSerialNumber()) + && + (getBaseMacAddr() == rhs.getBaseMacAddr()) + && - ((!ethLinkStatusIsSet() && !rhs.ethLinkStatusIsSet()) || (ethLinkStatusIsSet() && rhs.ethLinkStatusIsSet() && getEthLinkStatus() == rhs.getEthLinkStatus())) && + (getEthLinkCount() == rhs.getEthLinkCount()) + && + (getEthLinkStatus() == rhs.getEthLinkStatus()) + && - ((!powerUsageWIsSet() && !rhs.powerUsageWIsSet()) || (powerUsageWIsSet() && rhs.powerUsageWIsSet() && getPowerUsageW() == rhs.getPowerUsageW())) && + (getPowerUsageW() == rhs.getPowerUsageW()) + && + (getFpgaTempC() == rhs.getFpgaTempC()) + && - ((!fpgaTempCIsSet() && !rhs.fpgaTempCIsSet()) || (fpgaTempCIsSet() && rhs.fpgaTempCIsSet() && getFpgaTempC() == rhs.getFpgaTempC())) && + (getHbmTempC() == rhs.getHbmTempC()) + && + (getPacketsUdp() == rhs.getPacketsUdp()) + && + + (getPacketsSls() == rhs.getPacketsSls()) - ((!hbmTempCIsSet() && !rhs.hbmTempCIsSet()) || (hbmTempCIsSet() && rhs.hbmTempCIsSet() && getHbmTempC() == rhs.getHbmTempC())) ; } @@ -88,49 +103,58 @@ bool Fpga_status_inner::operator!=(const Fpga_status_inner& rhs) const void to_json(nlohmann::json& j, const Fpga_status_inner& o) { j = nlohmann::json::object(); - if(o.ethLinkCountIsSet()) - j["eth_link_count"] = o.m_Eth_link_count; - if(o.ethLinkStatusIsSet()) - j["eth_link_status"] = o.m_Eth_link_status; - if(o.powerUsageWIsSet()) - j["power_usage_W"] = o.m_Power_usage_W; - if(o.fpgaTempCIsSet()) - j["fpga_temp_C"] = o.m_Fpga_temp_C; - if(o.hbmTempCIsSet()) - j["hbm_temp_C"] = o.m_Hbm_temp_C; + j["pci_dev_id"] = o.m_Pci_dev_id; + j["serial_number"] = o.m_Serial_number; + j["base_mac_addr"] = o.m_Base_mac_addr; + j["eth_link_count"] = o.m_Eth_link_count; + j["eth_link_status"] = o.m_Eth_link_status; + j["power_usage_W"] = o.m_Power_usage_W; + j["fpga_temp_C"] = o.m_Fpga_temp_C; + j["hbm_temp_C"] = o.m_Hbm_temp_C; + j["packets_udp"] = o.m_Packets_udp; + j["packets_sls"] = o.m_Packets_sls; } void from_json(const nlohmann::json& j, Fpga_status_inner& o) { - if(j.find("eth_link_count") != j.end()) - { - j.at("eth_link_count").get_to(o.m_Eth_link_count); - o.m_Eth_link_countIsSet = true; - } - if(j.find("eth_link_status") != j.end()) - { - j.at("eth_link_status").get_to(o.m_Eth_link_status); - o.m_Eth_link_statusIsSet = true; - } - if(j.find("power_usage_W") != j.end()) - { - j.at("power_usage_W").get_to(o.m_Power_usage_W); - o.m_Power_usage_WIsSet = true; - } - if(j.find("fpga_temp_C") != j.end()) - { - j.at("fpga_temp_C").get_to(o.m_Fpga_temp_C); - o.m_Fpga_temp_CIsSet = true; - } - if(j.find("hbm_temp_C") != j.end()) - { - j.at("hbm_temp_C").get_to(o.m_Hbm_temp_C); - o.m_Hbm_temp_CIsSet = true; - } + j.at("pci_dev_id").get_to(o.m_Pci_dev_id); + j.at("serial_number").get_to(o.m_Serial_number); + j.at("base_mac_addr").get_to(o.m_Base_mac_addr); + j.at("eth_link_count").get_to(o.m_Eth_link_count); + j.at("eth_link_status").get_to(o.m_Eth_link_status); + j.at("power_usage_W").get_to(o.m_Power_usage_W); + j.at("fpga_temp_C").get_to(o.m_Fpga_temp_C); + j.at("hbm_temp_C").get_to(o.m_Hbm_temp_C); + j.at("packets_udp").get_to(o.m_Packets_udp); + j.at("packets_sls").get_to(o.m_Packets_sls); } +std::string Fpga_status_inner::getPciDevId() const +{ + return m_Pci_dev_id; +} +void Fpga_status_inner::setPciDevId(std::string const& value) +{ + m_Pci_dev_id = value; +} +std::string Fpga_status_inner::getSerialNumber() const +{ + return m_Serial_number; +} +void Fpga_status_inner::setSerialNumber(std::string const& value) +{ + m_Serial_number = value; +} +std::string Fpga_status_inner::getBaseMacAddr() const +{ + return m_Base_mac_addr; +} +void Fpga_status_inner::setBaseMacAddr(std::string const& value) +{ + m_Base_mac_addr = value; +} int64_t Fpga_status_inner::getEthLinkCount() const { return m_Eth_link_count; @@ -138,15 +162,6 @@ int64_t Fpga_status_inner::getEthLinkCount() const void Fpga_status_inner::setEthLinkCount(int64_t const value) { m_Eth_link_count = value; - m_Eth_link_countIsSet = true; -} -bool Fpga_status_inner::ethLinkCountIsSet() const -{ - return m_Eth_link_countIsSet; -} -void Fpga_status_inner::unsetEth_link_count() -{ - m_Eth_link_countIsSet = false; } int64_t Fpga_status_inner::getEthLinkStatus() const { @@ -155,15 +170,6 @@ int64_t Fpga_status_inner::getEthLinkStatus() const void Fpga_status_inner::setEthLinkStatus(int64_t const value) { m_Eth_link_status = value; - m_Eth_link_statusIsSet = true; -} -bool Fpga_status_inner::ethLinkStatusIsSet() const -{ - return m_Eth_link_statusIsSet; -} -void Fpga_status_inner::unsetEth_link_status() -{ - m_Eth_link_statusIsSet = false; } float Fpga_status_inner::getPowerUsageW() const { @@ -172,15 +178,6 @@ float Fpga_status_inner::getPowerUsageW() const void Fpga_status_inner::setPowerUsageW(float const value) { m_Power_usage_W = value; - m_Power_usage_WIsSet = true; -} -bool Fpga_status_inner::powerUsageWIsSet() const -{ - return m_Power_usage_WIsSet; -} -void Fpga_status_inner::unsetPower_usage_W() -{ - m_Power_usage_WIsSet = false; } float Fpga_status_inner::getFpgaTempC() const { @@ -189,15 +186,6 @@ float Fpga_status_inner::getFpgaTempC() const void Fpga_status_inner::setFpgaTempC(float const value) { m_Fpga_temp_C = value; - m_Fpga_temp_CIsSet = true; -} -bool Fpga_status_inner::fpgaTempCIsSet() const -{ - return m_Fpga_temp_CIsSet; -} -void Fpga_status_inner::unsetFpga_temp_C() -{ - m_Fpga_temp_CIsSet = false; } float Fpga_status_inner::getHbmTempC() const { @@ -206,15 +194,22 @@ float Fpga_status_inner::getHbmTempC() const void Fpga_status_inner::setHbmTempC(float const value) { m_Hbm_temp_C = value; - m_Hbm_temp_CIsSet = true; } -bool Fpga_status_inner::hbmTempCIsSet() const +int64_t Fpga_status_inner::getPacketsUdp() const { - return m_Hbm_temp_CIsSet; + return m_Packets_udp; } -void Fpga_status_inner::unsetHbm_temp_C() +void Fpga_status_inner::setPacketsUdp(int64_t const value) { - m_Hbm_temp_CIsSet = false; + m_Packets_udp = value; +} +int64_t Fpga_status_inner::getPacketsSls() const +{ + return m_Packets_sls; +} +void Fpga_status_inner::setPacketsSls(int64_t const value) +{ + m_Packets_sls = value; } diff --git a/broker/gen/model/Fpga_status_inner.h b/broker/gen/model/Fpga_status_inner.h index e551377a..22816d83 100644 --- a/broker/gen/model/Fpga_status_inner.h +++ b/broker/gen/model/Fpga_status_inner.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -19,6 +19,7 @@ #define Fpga_status_inner_H_ +#include #include namespace org::openapitools::server::model @@ -57,55 +58,80 @@ public: ///////////////////////////////////////////// /// Fpga_status_inner members + /// + /// + /// + std::string getPciDevId() const; + void setPciDevId(std::string const& value); + /// + /// + /// + std::string getSerialNumber() const; + void setSerialNumber(std::string const& value); + /// + /// + /// + std::string getBaseMacAddr() const; + void setBaseMacAddr(std::string const& value); /// /// /// int64_t getEthLinkCount() const; void setEthLinkCount(int64_t const value); - bool ethLinkCountIsSet() const; - void unsetEth_link_count(); /// /// /// int64_t getEthLinkStatus() const; void setEthLinkStatus(int64_t const value); - bool ethLinkStatusIsSet() const; - void unsetEth_link_status(); /// /// /// float getPowerUsageW() const; void setPowerUsageW(float const value); - bool powerUsageWIsSet() const; - void unsetPower_usage_W(); /// /// /// float getFpgaTempC() const; void setFpgaTempC(float const value); - bool fpgaTempCIsSet() const; - void unsetFpga_temp_C(); /// /// /// float getHbmTempC() const; void setHbmTempC(float const value); - bool hbmTempCIsSet() const; - void unsetHbm_temp_C(); + /// + /// + /// + int64_t getPacketsUdp() const; + void setPacketsUdp(int64_t const value); + /// + /// + /// + int64_t getPacketsSls() const; + void setPacketsSls(int64_t const value); friend void to_json(nlohmann::json& j, const Fpga_status_inner& o); friend void from_json(const nlohmann::json& j, Fpga_status_inner& o); protected: + std::string m_Pci_dev_id; + + std::string m_Serial_number; + + std::string m_Base_mac_addr; + int64_t m_Eth_link_count; - bool m_Eth_link_countIsSet; + int64_t m_Eth_link_status; - bool m_Eth_link_statusIsSet; + float m_Power_usage_W; - bool m_Power_usage_WIsSet; + float m_Fpga_temp_C; - bool m_Fpga_temp_CIsSet; + float m_Hbm_temp_C; - bool m_Hbm_temp_CIsSet; + + int64_t m_Packets_udp; + + int64_t m_Packets_sls; + }; diff --git a/broker/gen/model/Helpers.cpp b/broker/gen/model/Helpers.cpp index 580b64c8..bd60653b 100644 --- a/broker/gen/model/Helpers.cpp +++ b/broker/gen/model/Helpers.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 5d746557..8e856f65 100644 --- a/broker/gen/model/Helpers.h +++ b/broker/gen/model/Helpers.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 5d9f1650..85973c3d 100644 --- a/broker/gen/model/Image_format_settings.cpp +++ b/broker/gen/model/Image_format_settings.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 0922211c..88aacd5b 100644 --- a/broker/gen/model/Image_format_settings.h +++ b/broker/gen/model/Image_format_settings.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 fc5f4ff2..1180fa93 100644 --- a/broker/gen/model/Image_pusher_type.cpp +++ b/broker/gen/model/Image_pusher_type.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 f92766c3..b02ab42c 100644 --- a/broker/gen/model/Image_pusher_type.h +++ b/broker/gen/model/Image_pusher_type.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 70d67734..192df0c9 100644 --- a/broker/gen/model/Instrument_metadata.cpp +++ b/broker/gen/model/Instrument_metadata.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 3fdb4638..9a1d9b2f 100644 --- a/broker/gen/model/Instrument_metadata.h +++ b/broker/gen/model/Instrument_metadata.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 339edb8e..d196bf90 100644 --- a/broker/gen/model/Jfjoch_settings.cpp +++ b/broker/gen/model/Jfjoch_settings.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 6441160f..0df2c27f 100644 --- a/broker/gen/model/Jfjoch_settings.h +++ b/broker/gen/model/Jfjoch_settings.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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.cpp b/broker/gen/model/Measurement_statistics.cpp index 6adc65b9..4e9b2660 100644 --- a/broker/gen/model/Measurement_statistics.cpp +++ b/broker/gen/model/Measurement_statistics.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 b33a1e13..372e3336 100644 --- a/broker/gen/model/Measurement_statistics.h +++ b/broker/gen/model/Measurement_statistics.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 34867341..30d92de1 100644 --- a/broker/gen/model/Pcie_devices_inner.cpp +++ b/broker/gen/model/Pcie_devices_inner.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 d84e68a4..a08b5c07 100644 --- a/broker/gen/model/Pcie_devices_inner.h +++ b/broker/gen/model/Pcie_devices_inner.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 3f1e2aaf..96c0a8f1 100644 --- a/broker/gen/model/Plot.cpp +++ b/broker/gen/model/Plot.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 d01cde70..e4ead91b 100644 --- a/broker/gen/model/Plot.h +++ b/broker/gen/model/Plot.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 2d839002..9043466e 100644 --- a/broker/gen/model/Plots.cpp +++ b/broker/gen/model/Plots.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 b78f4c60..e29fe2ab 100644 --- a/broker/gen/model/Plots.h +++ b/broker/gen/model/Plots.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 5d4a882a..fa18b288 100644 --- a/broker/gen/model/Preview_settings.cpp +++ b/broker/gen/model/Preview_settings.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 88ac015e..ca3f1d1b 100644 --- a/broker/gen/model/Preview_settings.h +++ b/broker/gen/model/Preview_settings.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 40de5d54..e88c524d 100644 --- a/broker/gen/model/Roi_box.cpp +++ b/broker/gen/model/Roi_box.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 1feda280..b799946e 100644 --- a/broker/gen/model/Roi_box.h +++ b/broker/gen/model/Roi_box.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 7a33cb74..88b2953c 100644 --- a/broker/gen/model/Roi_box_list.cpp +++ b/broker/gen/model/Roi_box_list.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 a6f9b92e..a8a7f820 100644 --- a/broker/gen/model/Roi_box_list.h +++ b/broker/gen/model/Roi_box_list.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 28a32be6..e0075a27 100644 --- a/broker/gen/model/Roi_circle.cpp +++ b/broker/gen/model/Roi_circle.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 5cb1788f..9cd764a3 100644 --- a/broker/gen/model/Roi_circle.h +++ b/broker/gen/model/Roi_circle.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 d66009ee..44168cf2 100644 --- a/broker/gen/model/Roi_circle_list.cpp +++ b/broker/gen/model/Roi_circle_list.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 43cd787f..eede9d69 100644 --- a/broker/gen/model/Roi_circle_list.h +++ b/broker/gen/model/Roi_circle_list.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 9048fae0..0a8339b7 100644 --- a/broker/gen/model/Rotation_axis.cpp +++ b/broker/gen/model/Rotation_axis.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 bdd0274c..33043ad1 100644 --- a/broker/gen/model/Rotation_axis.h +++ b/broker/gen/model/Rotation_axis.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 7aa500b1..85a6400c 100644 --- a/broker/gen/model/Spot_finding_settings.cpp +++ b/broker/gen/model/Spot_finding_settings.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 fc930d41..ead3a44f 100644 --- a/broker/gen/model/Spot_finding_settings.h +++ b/broker/gen/model/Spot_finding_settings.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 e6d28c09..a7f0bcee 100644 --- a/broker/gen/model/Standard_detector_geometry.cpp +++ b/broker/gen/model/Standard_detector_geometry.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 01a88f59..67116d24 100644 --- a/broker/gen/model/Standard_detector_geometry.h +++ b/broker/gen/model/Standard_detector_geometry.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 4135fd04..4920f40b 100644 --- a/broker/gen/model/Zeromq_settings.cpp +++ b/broker/gen/model/Zeromq_settings.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 ada92c77..5b147b76 100644 --- a/broker/gen/model/Zeromq_settings.h +++ b/broker/gen/model/Zeromq_settings.h @@ -2,7 +2,7 @@ * Jungfraujoch * Jungfraujoch Broker Web API * -* The version of the OpenAPI document: 1.0.0-rc.13 +* The version of the OpenAPI document: 1.0.0-rc.14 * 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 a3bc19f2..84c7e738 100644 --- a/broker/jfjoch_api.yaml +++ b/broker/jfjoch_api.yaml @@ -2,7 +2,7 @@ openapi: 3.0.3 info: title: Jungfraujoch description: Jungfraujoch Broker Web API - version: 1.0.0-rc.13 + version: 1.0.0-rc.14 contact: email: filip.leonarski@psi.ch components: @@ -357,7 +357,7 @@ components: - pedestal_g1_frames - pedestal_g2_frames - pedestal_g0_rms_limit - - pedestal_window_size + - pedestal_min_image_count properties: frame_time_us: type: integer @@ -405,12 +405,12 @@ components: default: 100 minimum: 0 description: Pixels with pedestal G0 RMS above the threshold are marked as masked pixels - pedestal_window_size: + pedestal_min_image_count: type: integer format: int64 default: 128 minimum: 32 - description: Running average window size for pedestal calculations + description: Minimum number of collected images for pedestal to consider it viable storage_cell_delay_ns: type: integer format: int64 @@ -654,7 +654,24 @@ components: type: array items: type: object + required: + - pci_dev_id + - serial_number + - base_mac_addr + - eth_link_status + - eth_link_count + - power_usage_W + - fpga_temp_C + - hbm_temp_C + - packets_sls + - packets_udp properties: + pci_dev_id: + type: string + serial_number: + type: string + base_mac_addr: + type: string eth_link_count: type: integer format: int64 @@ -670,6 +687,12 @@ components: hbm_temp_C: type: number format: float + packets_udp: + type: integer + format: int64 + packets_sls: + type: integer + format: int64 broker_status: type: object required: @@ -2027,17 +2050,6 @@ paths: schema: type: string description: Exception error - /plot/indexing_rate_per_file: - get: - summary: Generate indexing rate per file - description: Indexing rate per each of data files; useful for example for time resolved data - responses: - "200": - description: Everything OK - content: - application/json: - schema: - $ref: '#/components/schemas/plots' /plot/azim_int: get: summary: Generate radial integration profile @@ -2049,17 +2061,6 @@ paths: application/json: schema: $ref: '#/components/schemas/plots' - /plot/azim_int_per_file: - get: - summary: Generate radial integration profiles per file - description: Radial integration plots for both the whole dataset and per file; useful for time-resolved measurements - responses: - "200": - description: Everything OK - content: - application/json: - schema: - $ref: '#/components/schemas/plots' /statistics/data_collection: get: summary: Get data collection statistics @@ -2073,7 +2074,6 @@ paths: $ref: '#/components/schemas/measurement_statistics' "404": description: No data collection performed so far - /statistics/calibration: get: summary: Get calibration statistics diff --git a/broker/jfjoch_broker.cpp b/broker/jfjoch_broker.cpp index f96d4cf8..cf2c17f7 100644 --- a/broker/jfjoch_broker.cpp +++ b/broker/jfjoch_broker.cpp @@ -60,8 +60,9 @@ int main (int argc, char **argv) { nlohmann::json input = nlohmann::json::parse(file); settings = input; settings.validate(); + logger.Info("JSON configuration file read properly"); } catch (const std::exception &e) { - logger.Error("Error reading configuration file: " + std::string(e.what())); + logger.Error("Error reading JSON configuration file: " + std::string(e.what())); exit(EXIT_FAILURE); } diff --git a/broker/redoc-static.html b/broker/redoc-static.html index 18e99780..21321c54 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.13)

Download OpenAPI specification:Download

Jungfraujoch (1.0.0-rc.14)

Download OpenAPI specification:Download

Jungfraujoch Broker Web API

Initialize detector and data acquisition

Use internal frame generator in FPGA instead of getting data from a real detector

internal_frame_generator_images
required
integer <int64> [ 1 .. 128 ]
Default: 1
pedestal_g0_frames
required
integer <int64> >= 0
Default: 2000
pedestal_g1_frames
required
integer <int64> >= 0
Default: 300
pedestal_g2_frames
required
integer <int64> >= 0
Default: 300
pedestal_g0_rms_limit
required
integer <int64> >= 0
Default: 100

Pixels with pedestal G0 RMS above the threshold are marked as masked pixels

-
pedestal_window_size
required
integer <int64> >= 32
Default: 128

Running average window size for pedestal calculations

+
pedestal_min_image_count
required
integer <int64> >= 32
Default: 128

Minimum number of collected images for pedestal to consider it viable

storage_cell_delay_ns
required
integer <int64> >= 2100
Default: 5000

Delay between two storage cells [ns]

detector_trigger_delay_ns
integer <int64> >= 0
Default: 0

Input parsing or validation error

Request samples

Content type
application/json
{
  • "frame_time_us": 450,
  • "count_time_us": 0,
  • "storage_cell_count": 1,
  • "internal_frame_generator": false,
  • "internal_frame_generator_images": 1,
  • "pedestal_g0_frames": 2000,
  • "pedestal_g1_frames": 300,
  • "pedestal_g2_frames": 300,
  • "pedestal_g0_rms_limit": 100,
  • "pedestal_window_size": 128,
  • "storage_cell_delay_ns": 5000,
  • "detector_trigger_delay_ns": 0,
  • "fixed_gain_g1": false,
  • "use_gain_hg0": false
}

Response samples

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

Get detector configuration

Request samples

Content type
application/json
{
  • "frame_time_us": 450,
  • "count_time_us": 0,
  • "storage_cell_count": 1,
  • "internal_frame_generator": false,
  • "internal_frame_generator_images": 1,
  • "pedestal_g0_frames": 2000,
  • "pedestal_g1_frames": 300,
  • "pedestal_g2_frames": 300,
  • "pedestal_g0_rms_limit": 100,
  • "pedestal_min_image_count": 128,
  • "storage_cell_delay_ns": 5000,
  • "detector_trigger_delay_ns": 0,
  • "fixed_gain_g1": false,
  • "use_gain_hg0": false
}

Response samples

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

Get detector configuration

Can be done anytime

Responses

Response samples

Content type
application/json
{
  • "frame_time_us": 450,
  • "count_time_us": 0,
  • "storage_cell_count": 1,
  • "internal_frame_generator": false,
  • "internal_frame_generator_images": 1,
  • "pedestal_g0_frames": 2000,
  • "pedestal_g1_frames": 300,
  • "pedestal_g2_frames": 300,
  • "pedestal_g0_rms_limit": 100,
  • "pedestal_window_size": 128,
  • "storage_cell_delay_ns": 5000,
  • "detector_trigger_delay_ns": 0,
  • "fixed_gain_g1": false,
  • "use_gain_hg0": false
}

Change instrument metadata

Response samples

Content type
application/json
{
  • "frame_time_us": 450,
  • "count_time_us": 0,
  • "storage_cell_count": 1,
  • "internal_frame_generator": false,
  • "internal_frame_generator_images": 1,
  • "pedestal_g0_frames": 2000,
  • "pedestal_g1_frames": 300,
  • "pedestal_g2_frames": 300,
  • "pedestal_g0_rms_limit": 100,
  • "pedestal_min_image_count": 128,
  • "storage_cell_delay_ns": 5000,
  • "detector_trigger_delay_ns": 0,
  • "fixed_gain_g1": false,
  • "use_gain_hg0": false
}

Change instrument metadata

This can only be done when detector is Idle, Error or Inactive states.

Request Body schema: application/json
source_name
required
string
source_type
string
Default: ""

Everything OK

Response samples

Content type
application/json
{
  • "state": "Inactive",
  • "progress": 1,
  • "indexing_rate": 0.1
}

Get status of FPGA devices

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Return XFEL pulse IDs for the current data acquisition

Response samples

Content type
application/json
[
  • {
    }
]

Return XFEL pulse IDs for the current data acquisition

Return array of XFEL pulse IDs - (-1) if image not recorded

Responses

Response samples

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

Generate indexing rate per file

Indexing rate per each of data files; useful for example for time resolved data

-

Responses

Response samples

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

Generate radial integration profile

Response samples

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

Generate radial integration profile

Generate average radial integration profile

Responses

Response samples

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

Generate radial integration profiles per file

Radial integration plots for both the whole dataset and per file; useful for time-resolved measurements

-

Responses

Response samples

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

Get data collection statistics

Response samples

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

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

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 ]

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

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

No preview image recorded so far

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

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

@@ -1001,7 +993,7 @@ User mask is not automatically applied - i.e. pixels with user mask will have a " class="sc-eeDSqt sc-eBMFzZ bSgSrX cWARBq sc-dCFGXG gKOXES">

Release number of Jungfraujoch