aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio
diff options
context:
space:
mode:
authorVictoria Plitt <Victoria.Plitt@twine-s.com>2020-07-21 16:37:15 +0300
committerVictoria Plitt <Victoria.Plitt@twine-s.com>2020-07-21 16:37:15 +0300
commitfcce49aec07952eeb60cc6b33b90a8e493c85254 (patch)
tree1cdde42117e8733a490202f576d229c6c79224e3 /Software/Visual_Studio
parent9e268e6d994e21e63ead68b4314d54f4b6be56bd (diff)
downloadTango-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.cpp34
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/ColorCalibrationViewVM.cs29
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();