aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/DynamicSealingAnalyzer.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/DynamicSealingAnalyzer.cs')
-rw-r--r--Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/DynamicSealingAnalyzer.cs97
1 files changed, 0 insertions, 97 deletions
diff --git a/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/DynamicSealingAnalyzer.cs b/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/DynamicSealingAnalyzer.cs
deleted file mode 100644
index d440f42c3..000000000
--- a/Software/Visual_Studio/Utilities/Tango.DispenserAnalyzer.UI/Analyzers/DynamicSealingAnalyzer.cs
+++ /dev/null
@@ -1,97 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Tango.DispenserAnalyzer.UI.Analysis;
-using Tango.DispenserAnalyzer.UI.Models;
-
-namespace Tango.DispenserAnalyzer.UI.Analyzers
-{
- [Analyzer("dynamic")]
- public class DynamicSealingAnalzyer : IDispenserDispenserAnalyser
- {
- private IReader<DispenserSample> _reader;
- public IReader<DispenserSample> Reader
- {
- get { return _reader; }
- set { _reader = value; }
- }
- public DynamicSealingAnalzyer()
- {
- Reader = new DispenserReader();
- }
-
- public Task<List<IAnalyzerResult>> Process(List<DispenserSample> csvRows, bool backgroundMode)
- {
- return Task.Factory.StartNew<List<IAnalyzerResult>>(() =>
- {
- List<IAnalyzerResult> results = new List<IAnalyzerResult>();
- List<DispenserSample> commands = csvRows.Where(x => x.Command != null && x.Command.ToLower().Contains("label")).ToList<DispenserSample>();
-
- var pairs = commands.Select((x, i) => new { Index = i, Value = x }).GroupBy(x => x.Index / 2).Select(x => x.Select(v => v.Value).ToList()).ToList();
-
- //dynamic test
- if (pairs.Count > 0 && pairs[0].Count > 1)
- {
- DynamicSealingAnalyzerResult result = new DynamicSealingAnalyzerResult();
- List<DispenserSample> rangeTestValues = csvRows.Where(x => x.Index > pairs[0][0].Index && x.Index < pairs[0][1].Index).ToList();
- int period = 10;
- result.Result = AnalyzerResultValue.Passed;
- //var sum_average = Enumerable.Range(0, rangeTestValues.Count - period).Select(n => rangeTestValues.Select(x=>x.Pressure).Skip(n).Take(periodLength).Average()).ToList();
- for (int counter = 0; counter <= rangeTestValues.Count - period; )
- {
- var sum1 = rangeTestValues.Skip(counter++).Take(period).Average(t => t.Pressure);
- var sum2 = rangeTestValues.Skip(counter++).Take(period).Average(t => t.Pressure);
- if(sum1 > sum2 && sum1 - sum2 > 8)
- {
- result.DynamicSealingResult = "test failed";
- result.Result = AnalyzerResultValue.Failed;
- break;
- }
- }
- results.Add(result);
- }
- SealingAnalyzerResult sealingAnalyzerResult = new SealingAnalyzerResult();
- //start sealing test
- if (pairs.Count > 1 && pairs[1].Count > 1)
- {
- List<DispenserSample> rangeStartTestValues = csvRows.Where(x => x.Index > pairs[1][0].Index && x.Index < pairs[1][1].Index).ToList();
- sealingAnalyzerResult.AverageStartTestValue = rangeStartTestValues.Average(t => t.Pressure);
- }
- //end sealing of test
- if (pairs.Count > 2 && pairs[2].Count > 1)
- {
- List<DispenserSample> rangeEndTestValues = csvRows.Where(x => x.Index > pairs[2][0].Index && x.Index < pairs[2][1].Index).ToList();
- sealingAnalyzerResult.AverageEndTestValue = rangeEndTestValues.Average(t => t.Pressure);
- }
- sealingAnalyzerResult.AbsoluteTestValue = Math.Abs(sealingAnalyzerResult.AverageEndTestValue - sealingAnalyzerResult.AverageStartTestValue);
- sealingAnalyzerResult.Result = sealingAnalyzerResult.AbsoluteTestValue < 8 ? AnalyzerResultValue.Passed : AnalyzerResultValue.Failed;
- results.Add(sealingAnalyzerResult);
- return results;
- });
- }
-
- public void GetPoints(List<DispenserSample> samples, IList<OxyPlot.DataPoint> points)
- {
- samples.ForEach(x =>
- {
- if (x.Pressure != 0.0)
- { points.Add(new OxyPlot.DataPoint(x.Index, x.Pressure)); }
- });
- }
-
- public class DynamicSealingAnalyzerResult : AnalyzerResultBase
- {
- [Description("Dynamic sealing result")]
- public string DynamicSealingResult { get; set; }
-
- public DynamicSealingAnalyzerResult()
- {
- DynamicSealingResult = "test succeed";
- Result = AnalyzerResultValue.Undetermined;
- }
- }
- }
-}