diff --git a/src/calibration-engine-interface.h b/src/calibration-engine-interface.h index 729c3f9fda0..611ca68ff7f 100644 --- a/src/calibration-engine-interface.h +++ b/src/calibration-engine-interface.h @@ -45,7 +45,6 @@ class calibration_engine_interface virtual int8_t get_triggered_calibration_progress() const = 0; virtual std::vector get_calibration_table(std::vector& current_calibration) const = 0; virtual void write_calibration(std::vector& calibration) const = 0; - virtual void set_calibration_table(const std::vector& calibration, std::vector& current_calibration) const = 0; virtual std::string get_calibration_config() const = 0; virtual void set_calibration_config(const std::string& calibration_config_json_str) const = 0; }; diff --git a/src/ds/d500/d500-auto-calibration.cpp b/src/ds/d500/d500-auto-calibration.cpp index 0f1073f0c2a..e66ebe89e0c 100644 --- a/src/ds/d500/d500-auto-calibration.cpp +++ b/src/ds/d500/d500-auto-calibration.cpp @@ -225,7 +225,17 @@ namespace librealsense void d500_auto_calibrated::set_calibration_table(const std::vector& calibration) { - _calib_engine->set_calibration_table(calibration, _curr_calibration); + if (_curr_calibration.size() != sizeof(ds::table_header) && // First time setting table, only header set by get_calibration_table + _curr_calibration.size() != sizeof(ds::d500_coefficients_table)) // Table was previously set + throw std::runtime_error(rsutils::string::from() << + "Current calibration table has unexpected size " << _curr_calibration.size()); + + if (calibration.size() != sizeof(ds::d500_coefficients_table) - sizeof(ds::table_header)) + throw std::runtime_error(rsutils::string::from() << + "Setting calibration table with unexpected size" << calibration.size()); + + _curr_calibration.resize(sizeof(ds::table_header)); // Remove previously set calibration, keep header. + _curr_calibration.insert(_curr_calibration.end(), calibration.begin(), calibration.end()); } void d500_auto_calibrated::reset_to_factory_calibration() const diff --git a/src/ds/d500/d500-debug-protocol-calibration-engine.cpp b/src/ds/d500/d500-debug-protocol-calibration-engine.cpp index c35db151830..283dd0de61e 100644 --- a/src/ds/d500/d500-debug-protocol-calibration-engine.cpp +++ b/src/ds/d500/d500-debug-protocol-calibration-engine.cpp @@ -113,7 +113,7 @@ std::vector d500_debug_protocol_calibration_engine::get_calibration_tab if (calib.size() < sizeof(ds::table_header) + header->table_size) throw std::runtime_error("GET_HKR_CONFIG_TABLE response is smaller then expected table size!"); - // Backwards compalibility dictates that we will return the table without the header, but we need the header + // Backwards compatibility dictates that we will return the table without the header, but we need the header // details like versions to later set back the table. Save it at the start of _curr_calibration. current_calibration.assign(calib.begin(), calib.begin() + sizeof(ds::table_header)); @@ -140,21 +140,6 @@ void d500_debug_protocol_calibration_engine::write_calibration(std::vectorsend_receive_raw_data(cmd); } -void d500_debug_protocol_calibration_engine::set_calibration_table(const std::vector& calibration, std::vector& current_calibration) const -{ - if (current_calibration.size() != sizeof(ds::table_header) && // First time setting table, only header set by get_calibration_table - current_calibration.size() != sizeof(ds::d500_coefficients_table)) // Table was previously set - throw std::runtime_error(rsutils::string::from() << - "Current calibration table has unexpected size " << current_calibration.size()); - - if (calibration.size() != sizeof(ds::d500_coefficients_table) - sizeof(ds::table_header)) - throw std::runtime_error(rsutils::string::from() << - "Setting calibration table with unexpected size" << calibration.size()); - - current_calibration.resize(sizeof(ds::table_header)); // Remove previously set calibration, keep header. - current_calibration.insert(current_calibration.end(), calibration.begin(), calibration.end()); -} - std::string d500_debug_protocol_calibration_engine::get_calibration_config() const { calibration_config_with_header* result; diff --git a/src/ds/d500/d500-debug-protocol-calibration-engine.h b/src/ds/d500/d500-debug-protocol-calibration-engine.h index bbfdc078f1c..97c9cd8cca3 100644 --- a/src/ds/d500/d500-debug-protocol-calibration-engine.h +++ b/src/ds/d500/d500-debug-protocol-calibration-engine.h @@ -30,7 +30,6 @@ class d500_debug_protocol_calibration_engine : public calibration_engine_interfa virtual int8_t get_triggered_calibration_progress() const override; virtual std::vector get_calibration_table(std::vector& current_calibration) const override; virtual void write_calibration(std::vector& calibration) const override; - virtual void set_calibration_table(const std::vector& calibration, std::vector& current_calibration) const override; virtual std::string get_calibration_config() const override; virtual void set_calibration_config(const std::string& calibration_config_json_str) const override; ds::d500_coefficients_table get_depth_calibration() const;