diff options
| author | Victoria Plitt <Victoria.Plitt@twine-s.com> | 2020-07-21 16:37:15 +0300 |
|---|---|---|
| committer | Victoria Plitt <Victoria.Plitt@twine-s.com> | 2020-07-21 16:37:15 +0300 |
| commit | fcce49aec07952eeb60cc6b33b90a8e493c85254 (patch) | |
| tree | 1cdde42117e8733a490202f576d229c6c79224e3 /Software/Visual_Studio | |
| parent | 9e268e6d994e21e63ead68b4314d54f4b6be56bd (diff) | |
| download | Tango-fcce49aec07952eeb60cc6b33b90a8e493c85254.tar.gz Tango-fcce49aec07952eeb60cc6b33b90a8e493c85254.zip | |
Deleted unnecessary allocation memory, handle error message
Related Work Items: #2957
Diffstat (limited to 'Software/Visual_Studio')
| -rw-r--r-- | Software/Visual_Studio/ColorLib/Tango.ColorLib_v4/ColorCalibrator.cpp | 34 | ||||
| -rw-r--r-- | Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/ColorCalibrationViewVM.cs | 29 |
2 files changed, 29 insertions, 34 deletions
diff --git a/Software/Visual_Studio/ColorLib/Tango.ColorLib_v4/ColorCalibrator.cpp b/Software/Visual_Studio/ColorLib/Tango.ColorLib_v4/ColorCalibrator.cpp index 9d51062c2..82fb60ac4 100644 --- a/Software/Visual_Studio/ColorLib/Tango.ColorLib_v4/ColorCalibrator.cpp +++ b/Software/Visual_Studio/ColorLib/Tango.ColorLib_v4/ColorCalibrator.cpp @@ -57,9 +57,7 @@ void Tango::ColorLib::ColorCalibrator::ClearData() size_t Tango::ColorLib::ColorCalibrator::GetLiquidFactor(uint8_t * input_buffer, size_t input_buffer_size, uint8_t *& output_buffer) { //Get Input - CalibrationInput* calibrationInput = NULL; - calibrationInput = (CalibrationInput*)malloc(sizeof(CalibrationInput)); - calibrationInput = calibration_input__unpack(NULL, input_buffer_size, input_buffer); + CalibrationInput* calibrationInput = calibration_input__unpack(NULL, input_buffer_size, input_buffer); //Investigate Input InitData((const CalibrationMeasurement**)calibrationInput->measurements, calibrationInput->n_measurements, calibrationInput->liquidtype, calibrationInput->targetl, calibrationInput->targeta, calibrationInput->targetb); @@ -89,13 +87,9 @@ size_t Tango::ColorLib::ColorCalibrator::GetLiquidFactor(uint8_t * input_buffer, std:string error_message; MaximalDispensingRate(calibrationOutput->liquidfactor, error_message); const char* c_error = error_message.c_str(); - int nErrorLength = strlen(c_error); - if (nErrorLength > 0) + if (strlen(c_error) > 0) { - calibrationOutput->errormessage = (char*)malloc(nErrorLength); - for (int i = 0; i < nErrorLength; ++i) - calibrationOutput->errormessage[i] = c_error[i]; - + calibrationOutput->errormessage = strdup(c_error); } //Pack Output @@ -111,12 +105,10 @@ size_t Tango::ColorLib::ColorCalibrator::GetLiquidFactor(uint8_t * input_buffer, size_t Tango::ColorLib::ColorCalibrator::GetLinearizationMeasurements(uint8_t * input_buffer, size_t input_buffer_size, uint8_t *& output_buffer) { + //Get Input + LinearizationInput* linearizationInput = linearization_input__unpack(NULL, input_buffer_size, input_buffer); try { - //Get Input - LinearizationInput* linearizationInput = (LinearizationInput*)malloc(sizeof(LinearizationInput)); - linearizationInput = linearization_input__unpack(NULL, input_buffer_size, input_buffer); - //Investigate Input LinearizationInitData((const LinearizationMeasurement**)linearizationInput->measurements, linearizationInput->n_measurements, linearizationInput->liquidtype, linearizationInput->targetl, linearizationInput->targeta, linearizationInput->targetb); @@ -129,15 +121,11 @@ size_t Tango::ColorLib::ColorCalibrator::GetLinearizationMeasurements(uint8_t * linearizationOutput->inkpercentage = new double[m_nsize]; Linearizaton(m_inkpercentage, linearizationOutput->inkpercentage, error_message); const char* c_error = error_message.c_str(); - int nErrorLength = strlen(c_error); - if (nErrorLength > 0) + if (strlen(c_error) > 0) { linearizationOutput->has_haserror = true; linearizationOutput->haserror = true; - linearizationOutput->errormessage = (char*)malloc(nErrorLength); - for (int i = 0; i < nErrorLength; ++i) - linearizationOutput->errormessage[i] = c_error[i]; - + linearizationOutput->errormessage = strdup(c_error); } //Pack Output output_buffer = (uint8_t*)malloc(linearization_output__get_packed_size(linearizationOutput)); @@ -159,13 +147,13 @@ size_t Tango::ColorLib::ColorCalibrator::GetLinearizationMeasurements(uint8_t * linearizationOutput->haserror = true; const char* what = e.what(); - int nWhat = strlen(what); - linearizationOutput->errormessage = (char*)malloc(nWhat); - for (int i = 0; i < nWhat; ++i) - linearizationOutput->errormessage[i] = what[i]; + linearizationOutput->errormessage = strdup(what); output_buffer = (uint8_t*)malloc(linearization_output__get_packed_size(linearizationOutput)); int size = linearization_output__pack(linearizationOutput, output_buffer); + //Free Resources + linearization_input__free_unpacked(linearizationInput, NULL); + linearization_output__free_unpacked(linearizationOutput, NULL); return (size); } diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/ColorCalibrationViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/ColorCalibrationViewVM.cs index d065b58c5..7d05897d5 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/ColorCalibrationViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/ColorCalibrationViewVM.cs @@ -222,10 +222,10 @@ namespace Tango.MachineStudio.RML.ViewModels conversionInput.TargetB = lab.B; } CalibrationOutput result = _calibrator.GetLiquidFactor(conversionInput); - - ErrorMessage = Regex.Replace(result.ErrorMessage, "[^A-Za-z0-9_., ]+", ""); - + + ErrorMessage = result.ErrorMessage; HasError = false == String.IsNullOrEmpty(ErrorMessage); + return result.LiquidFactor; } catch (Exception ex ) @@ -309,6 +309,11 @@ namespace Tango.MachineStudio.RML.ViewModels LinearizationPlotControl.InvalidatePlot(true); } + + /// <summary> + /// Open file dialog and get name of file + /// </summary> + /// <returns></returns> private String GetInkDataFileOpen() { OpenFileDialog dlg = new OpenFileDialog(); @@ -321,6 +326,7 @@ namespace Tango.MachineStudio.RML.ViewModels return null; } + private List<double> GetLinearizationMeasurements(List<ColorLinearizationModel.LinearizationDataItem> items) { try @@ -338,23 +344,24 @@ namespace Tango.MachineStudio.RML.ViewModels } LinearizationOutput result = _linearizationMeasurementscalibrator.GetLinearizationMeasurements(linearizationInput); - ErrorMessage = Regex.Replace(result.ErrorMessage, "[^A-Za-z0-9_., ]+", ""); - - HasError = false == String.IsNullOrEmpty(ErrorMessage); + if(!String.IsNullOrEmpty(result.ErrorMessage)) + { + LogManager.Log(result.ErrorMessage, "Error occurred while trying to call GetLinearizationMeasurements."); + } return result.InkPercentage.ToList(); } catch (Exception ex) { - HasError = true; - ErrorMessage = "Error occurred while trying to call GetLiquidFactor."; - LogManager.Log(ex, "Error occurred while trying to call GetLiquidFactor."); + LogManager.Log(ex, "Error occurred while trying to call GetLinearizationMeasurements."); } return null; } #endregion - #region Export graph - + #region Export graph + /// <summary> + /// Exports the graph point to Excel file. + /// </summary> protected void ExportGraph() { SaveFileDialog dlg = new SaveFileDialog(); |
