From edc1ee29a8bcc3d7d9f7125ddc4c2749665de815 Mon Sep 17 00:00:00 2001 From: Philip Manke Date: Tue, 4 Feb 2025 15:48:29 +0100 Subject: [PATCH 1/2] Add AcquisitionContext method is_ready --- interface/cuvis.hpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/interface/cuvis.hpp b/interface/cuvis.hpp index 18709c9..c233a90 100644 --- a/interface/cuvis.hpp +++ b/interface/cuvis.hpp @@ -1166,6 +1166,7 @@ namespace cuvis void set_queue_size(int_t size); bool has_next_measurement() const; + bool is_ready() const; void register_state_change_callback(state_callback_t callback, bool output_initial_state = true); void reset_state_change_callback(); @@ -2429,6 +2430,12 @@ namespace cuvis throw cuvis_sdk_exception(cuvis_get_last_error_msg(), cuvis_get_last_error_msg_localized()); } + inline bool AcquisitionContext::is_ready() const { + int_t ready; + chk(cuvis_acq_cont_ready_get(*_acqCont, &ready)); + return 1 == ready; + } + inline bool AcquisitionContext::has_next_measurement() const { int_t has_next; From 0128e91d9d04f30c681e695d4c8b386d7438888e Mon Sep 17 00:00:00 2001 From: Philip Manke Date: Wed, 5 Feb 2025 12:50:05 +0100 Subject: [PATCH 2/2] Cleanup check with SDK return value --- interface/cuvis.hpp | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/interface/cuvis.hpp b/interface/cuvis.hpp index c233a90..d225c1b 100644 --- a/interface/cuvis.hpp +++ b/interface/cuvis.hpp @@ -1523,11 +1523,10 @@ namespace cuvis - //CUVIS_CHAR value[CUVIS_MAXBUF]; //chk(cuvis_measurement_get_data_string(*_mesu, key.c_str(), CUVIS_MAXBUF, value)); _meta->measurement_flags.emplace(key, value); - + delete[] value; } }; @@ -2291,10 +2290,7 @@ namespace cuvis return size; } - inline void Exporter::flush() - { - chk(cuvis_exporter_flush(*_exporter)); - } + inline void Exporter::flush() { chk(cuvis_exporter_flush(*_exporter)); } inline void Exporter::setHandle(CUVIS_EXPORTER exporter) { @@ -2430,17 +2426,18 @@ namespace cuvis throw cuvis_sdk_exception(cuvis_get_last_error_msg(), cuvis_get_last_error_msg_localized()); } - inline bool AcquisitionContext::is_ready() const { + inline bool AcquisitionContext::is_ready() const + { int_t ready; chk(cuvis_acq_cont_ready_get(*_acqCont, &ready)); - return 1 == ready; + return ready != 0; } inline bool AcquisitionContext::has_next_measurement() const { int_t has_next; chk(cuvis_acq_cont_has_next_measurement(*_acqCont, &has_next)); - return 1 == has_next; + return has_next != 0; } @@ -2658,7 +2655,8 @@ namespace cuvis CUVIS_IMBUFFER thumbnail; cuvis_session_file_get_thumbnail(*_session, &thumbnail); - if (thumbnail.format != cuvis_imbuffer_format_t::imbuffer_format_uint8) { + if (thumbnail.format != cuvis_imbuffer_format_t::imbuffer_format_uint8) + { throw std::runtime_error("unsupported measurement data bit depth"); } @@ -2855,7 +2853,8 @@ namespace cuvis : model_name("null"), serial_no("null"), calibration_date(), annotation_name("null"), unique_id("null"), file_path("null") {} - inline CalibrationInfo::CalibrationInfo(calibration_info_t const& calib) : model_name(calib.model_name), + inline CalibrationInfo::CalibrationInfo(calibration_info_t const& calib) + : model_name(calib.model_name), serial_no(calib.serial_no), calibration_date(std::chrono::time_point(std::chrono::milliseconds(calib.calibration_date))), annotation_name(calib.annotation_name),