From 044e53f2b2a886df58773f7bb115348206d94529 Mon Sep 17 00:00:00 2001 From: Milan Hanajik Date: Tue, 24 Jan 2017 10:50:53 +0100 Subject: [PATCH] Changes under construction : ROI registration to Cameras, ver. 2.12.441 --- .../BenchControl/GenericDevices/ICamera.cs | 6 ++++-- .../BenchControl/GenericDevices/IRoi.cs | 2 +- .../Network/Camera/CLP1611/Camera.cs | 21 ++++++++++++------- .../Network/Camera/CLP1611/MeasurementOp.cs | 20 +++++++++++++----- .../BenchControl/Network/Camera/Roi/Roi.cs | 8 +++++-- .../TestMethods/Adjustment/AdjustmentSeq.cs | 14 ++++--------- .../CombinedWithDetectionSeq.cs | 14 ++++--------- .../TestMethods/Endurance/EnduranceSeq.cs | 14 ++++--------- .../FixedStartAdvancedSeq.cs | 14 ++++--------- .../FixedStartMassCollectionSeq.cs | 14 ++++--------- .../TestMethods/FlyingStart/FlyingStartSeq.cs | 14 ++++--------- .../FlyingStartMassCollectionSeq.cs | 14 ++++--------- TestBenchFramework/Properties/AssemblyInfo.cs | 4 ++-- 13 files changed, 69 insertions(+), 90 deletions(-) diff --git a/TestBenchFramework/BenchControl/GenericDevices/ICamera.cs b/TestBenchFramework/BenchControl/GenericDevices/ICamera.cs index 34fd9b77f..642794f2b 100644 --- a/TestBenchFramework/BenchControl/GenericDevices/ICamera.cs +++ b/TestBenchFramework/BenchControl/GenericDevices/ICamera.cs @@ -12,9 +12,11 @@ namespace TBF.BenchControl.GenericDevices /// int CameraNr { get; } - string RoiParams { get; set; } + void ClearRois(); - void ClearRoiParams(); + int RegisterRoi(string roiParams); /// returns 0=NOK or handle (=index) + + int GetResult(int roiHandle); /// returns result for a registered ROI /// /// Grab one image. diff --git a/TestBenchFramework/BenchControl/GenericDevices/IRoi.cs b/TestBenchFramework/BenchControl/GenericDevices/IRoi.cs index fff766c7c..a43434fa3 100644 --- a/TestBenchFramework/BenchControl/GenericDevices/IRoi.cs +++ b/TestBenchFramework/BenchControl/GenericDevices/IRoi.cs @@ -11,7 +11,7 @@ namespace TBF.BenchControl.GenericDevices bool Detected { get; set; } - string RoiParams { get; } + void RegisterRoiToCamera(); /// /// Watermeter wheel/arrow detection process. diff --git a/TestBenchFramework/BenchControl/Network/Camera/CLP1611/Camera.cs b/TestBenchFramework/BenchControl/Network/Camera/CLP1611/Camera.cs index 024268317..c29f50073 100644 --- a/TestBenchFramework/BenchControl/Network/Camera/CLP1611/Camera.cs +++ b/TestBenchFramework/BenchControl/Network/Camera/CLP1611/Camera.cs @@ -56,13 +56,19 @@ namespace TBF.BenchControl.Network.Camera.CLP1611 public string SDCardVer { get { return sdCardVer; } } - string roiParams; - public string RoiParams + IList roiParams; + public void ClearRois() { roiParams.Clear(); } + public int RegisterRoi(string roiParams) { - get { return roiParams; } - set { roiParams = value; } + this.roiParams.Add(roiParams); + return this.roiParams.Count; + } + + public int GetResult(int roiHandle) + { + if (roiHandle <= roiParams.Count) return 0; + else return 0; } - public void ClearRoiParams() { roiParams = string.Empty; } public Telnet.TelnetClient Telnet; @@ -94,8 +100,8 @@ namespace TBF.BenchControl.Network.Camera.CLP1611 terminalDlg = null; measurementUdpPortNr = GetNextUdpPortNr(); - - ClearRoiParams(); + + roiParams = new List(); running = false; @@ -271,7 +277,6 @@ namespace TBF.BenchControl.Network.Camera.CLP1611 } - void MeasurementUdpListener() { try diff --git a/TestBenchFramework/BenchControl/Network/Camera/CLP1611/MeasurementOp.cs b/TestBenchFramework/BenchControl/Network/Camera/CLP1611/MeasurementOp.cs index c51ffa8de..b0f7c7004 100644 --- a/TestBenchFramework/BenchControl/Network/Camera/CLP1611/MeasurementOp.cs +++ b/TestBenchFramework/BenchControl/Network/Camera/CLP1611/MeasurementOp.cs @@ -1,4 +1,8 @@ -using TBF.BenchControl.Network.Telnet; + +using System; +using System.Collections.Generic; +using System.Text; +using TBF.BenchControl.Network.Telnet; namespace TBF.BenchControl.Network.Camera.CLP1611 { @@ -10,7 +14,7 @@ namespace TBF.BenchControl.Network.Camera.CLP1611 readonly string ipAddress; readonly int portNr; - readonly string roiArgs; + readonly IList roiParams; string command; bool measurementCommandSent; @@ -20,14 +24,14 @@ namespace TBF.BenchControl.Network.Camera.CLP1611 /// Events: Event.None or Event.Error /// /// CLP1611.Camera reference - public MeasurementOp(Camera camera, string ipAddress, int portNr, string roiArgs) + public MeasurementOp(Camera camera, string ipAddress, int portNr, IList roiParams) { this.camera = camera; this.cameraCfg = camera.CameraCfg; this.telnet = camera.Telnet; this.ipAddress = ipAddress; this.portNr = portNr; - this.roiArgs = roiArgs; + this.roiParams = roiParams; measurementCommandSent = false; } @@ -47,11 +51,17 @@ namespace TBF.BenchControl.Network.Camera.CLP1611 // // Prepare and send (=enqueue) command // + StringBuilder sb = new StringBuilder(); + foreach (var s in roiParams) + { + sb.Append(" "); + sb.Append(s); + } command = string.Format("clp/Measurement -udp {0} {1}{2}{3} 1 1 0 0 0", ipAddress, portNr, cameraCfg.UseTestImages ? (" -l " + cameraCfg.TestImagesCount.ToString()) : string.Empty, - roiArgs); + sb); telnet.Enqueue(new Telnet.Command(Telnet.CmdAction.SEND_STRING, command)); measurementCommandSent = true; } diff --git a/TestBenchFramework/BenchControl/Network/Camera/Roi/Roi.cs b/TestBenchFramework/BenchControl/Network/Camera/Roi/Roi.cs index a71c38cda..0d0480e86 100644 --- a/TestBenchFramework/BenchControl/Network/Camera/Roi/Roi.cs +++ b/TestBenchFramework/BenchControl/Network/Camera/Roi/Roi.cs @@ -42,6 +42,8 @@ namespace TBF.BenchControl.Network.Camera.Roi int wmPulses; int wmRefPulses; + + /// /// Roi specific /// @@ -57,9 +59,11 @@ namespace TBF.BenchControl.Network.Camera.Roi public Boxes.IntBox RoiWid; public Boxes.IntBox RoiHgh; /// - public string RoiParams + private int roiHandle; + /// + public void RegisterRoiToCamera() { - get { return string.Format(" -roi 1 {0} {1} {2} bkgnd.bmp", RoiX.Val, RoiY.Val, RoiCfg.RoiParams); } + roiHandle = Camera.RegisterRoi(string.Format("-roi 1 {0} {1} {2} bkgnd.bmp", RoiX.Val, RoiY.Val, RoiCfg.RoiParams)); } diff --git a/TestBenchFramework/BenchControl/TestMethods/Adjustment/AdjustmentSeq.cs b/TestBenchFramework/BenchControl/TestMethods/Adjustment/AdjustmentSeq.cs index f8c6afc2f..cd319fcad 100644 --- a/TestBenchFramework/BenchControl/TestMethods/Adjustment/AdjustmentSeq.cs +++ b/TestBenchFramework/BenchControl/TestMethods/Adjustment/AdjustmentSeq.cs @@ -189,24 +189,18 @@ namespace TBF.BenchControl.TestMethods.Adjustment { if (!cameras.Contains(roi.Camera)) { - roi.Camera.ClearRoiParams(); + roi.Camera.ClearRois(); cameras.Add(roi.Camera); } } /// Register ROI-parameters to cameras - foreach (var roi in rois) - { - roi.Camera.RoiParams = roi.Camera.RoiParams + roi.RoiParams; - } + foreach (var roi in rois) roi.RegisterRoiToCamera(); /// Prepare measurementOperations IList measureOperations = new List(); - foreach (var camera in cameras) - { - measureOperations.Add(camera.MeasurementOp()); - } - + foreach (var camera in cameras) measureOperations.Add(camera.MeasurementOp()); + foreach (var roi in rois) measureOperations.Add(roi.MeasurementOp()); //------------------------------------------------ diff --git a/TestBenchFramework/BenchControl/TestMethods/CombinedWithDetection/CombinedWithDetectionSeq.cs b/TestBenchFramework/BenchControl/TestMethods/CombinedWithDetection/CombinedWithDetectionSeq.cs index fe63b0929..d977f22c0 100644 --- a/TestBenchFramework/BenchControl/TestMethods/CombinedWithDetection/CombinedWithDetectionSeq.cs +++ b/TestBenchFramework/BenchControl/TestMethods/CombinedWithDetection/CombinedWithDetectionSeq.cs @@ -194,24 +194,18 @@ namespace TBF.BenchControl.TestMethods.CombinedWithDetection { if (!cameras.Contains(roi.Camera)) { - roi.Camera.ClearRoiParams(); + roi.Camera.ClearRois(); cameras.Add(roi.Camera); } } /// Register ROI-parameters to cameras - foreach (var roi in rois) - { - roi.Camera.RoiParams = roi.Camera.RoiParams + roi.RoiParams; - } + foreach (var roi in rois) roi.RegisterRoiToCamera(); /// Prepare measurementOperations IList measureOperations = new List(); - foreach (var camera in cameras) - { - measureOperations.Add(camera.MeasurementOp()); - } - + foreach (var camera in cameras) measureOperations.Add(camera.MeasurementOp()); + foreach (var roi in rois) measureOperations.Add(roi.MeasurementOp()); //------------------------------------------------ diff --git a/TestBenchFramework/BenchControl/TestMethods/Endurance/EnduranceSeq.cs b/TestBenchFramework/BenchControl/TestMethods/Endurance/EnduranceSeq.cs index 00f472322..645b7a967 100644 --- a/TestBenchFramework/BenchControl/TestMethods/Endurance/EnduranceSeq.cs +++ b/TestBenchFramework/BenchControl/TestMethods/Endurance/EnduranceSeq.cs @@ -167,24 +167,18 @@ namespace TBF.BenchControl.TestMethods.Endurance { if (!cameras.Contains(roi.Camera)) { - roi.Camera.ClearRoiParams(); + roi.Camera.ClearRois(); cameras.Add(roi.Camera); } } /// Register ROI-parameters to cameras - foreach (var roi in rois) - { - roi.Camera.RoiParams = roi.Camera.RoiParams + roi.RoiParams; - } + foreach (var roi in rois) roi.RegisterRoiToCamera(); /// Prepare measurementOperations IList measureOperations = new List(); - foreach (var camera in cameras) - { - measureOperations.Add(camera.MeasurementOp()); - } - + foreach (var camera in cameras) measureOperations.Add(camera.MeasurementOp()); + foreach (var roi in rois) measureOperations.Add(roi.MeasurementOp()); //------------------------------------------------ diff --git a/TestBenchFramework/BenchControl/TestMethods/FixedStartAdvanced/FixedStartAdvancedSeq.cs b/TestBenchFramework/BenchControl/TestMethods/FixedStartAdvanced/FixedStartAdvancedSeq.cs index dd89edf96..4462928fc 100644 --- a/TestBenchFramework/BenchControl/TestMethods/FixedStartAdvanced/FixedStartAdvancedSeq.cs +++ b/TestBenchFramework/BenchControl/TestMethods/FixedStartAdvanced/FixedStartAdvancedSeq.cs @@ -225,24 +225,18 @@ namespace TBF.BenchControl.TestMethods.FixedStartAdvanced { if (!cameras.Contains(roi.Camera)) { - roi.Camera.ClearRoiParams(); + roi.Camera.ClearRois(); cameras.Add(roi.Camera); } } /// Register ROI-parameters to cameras - foreach (var roi in rois) - { - roi.Camera.RoiParams = roi.Camera.RoiParams + roi.RoiParams; - } + foreach (var roi in rois) roi.RegisterRoiToCamera(); /// Prepare measurementOperations IList measureOperations = new List(); - foreach (var camera in cameras) - { - measureOperations.Add(camera.MeasurementOp()); - } - + foreach (var camera in cameras) measureOperations.Add(camera.MeasurementOp()); + foreach (var roi in rois) measureOperations.Add(roi.MeasurementOp()); /// diff --git a/TestBenchFramework/BenchControl/TestMethods/FixedStartMassCollection/FixedStartMassCollectionSeq.cs b/TestBenchFramework/BenchControl/TestMethods/FixedStartMassCollection/FixedStartMassCollectionSeq.cs index 47497f5fe..f4e7f5b25 100644 --- a/TestBenchFramework/BenchControl/TestMethods/FixedStartMassCollection/FixedStartMassCollectionSeq.cs +++ b/TestBenchFramework/BenchControl/TestMethods/FixedStartMassCollection/FixedStartMassCollectionSeq.cs @@ -300,24 +300,18 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollection { if (!cameras.Contains(roi.Camera)) { - roi.Camera.ClearRoiParams(); + roi.Camera.ClearRois(); cameras.Add(roi.Camera); } } /// Register ROI-parameters to cameras - foreach (var roi in rois) - { - roi.Camera.RoiParams = roi.Camera.RoiParams + roi.RoiParams; - } + foreach (var roi in rois) roi.RegisterRoiToCamera(); /// Prepare measurementOperations IList measureOperations = new List(); - foreach (var camera in cameras) - { - measureOperations.Add(camera.MeasurementOp()); - } - + foreach (var camera in cameras) measureOperations.Add(camera.MeasurementOp()); + foreach (var roi in rois) measureOperations.Add(roi.MeasurementOp()); /// diff --git a/TestBenchFramework/BenchControl/TestMethods/FlyingStart/FlyingStartSeq.cs b/TestBenchFramework/BenchControl/TestMethods/FlyingStart/FlyingStartSeq.cs index e9971995c..11698013c 100644 --- a/TestBenchFramework/BenchControl/TestMethods/FlyingStart/FlyingStartSeq.cs +++ b/TestBenchFramework/BenchControl/TestMethods/FlyingStart/FlyingStartSeq.cs @@ -261,24 +261,18 @@ namespace TBF.BenchControl.TestMethods.FlyingStart { if (!cameras.Contains(roi.Camera)) { - roi.Camera.ClearRoiParams(); + roi.Camera.ClearRois(); cameras.Add(roi.Camera); } } /// Register ROI-parameters to cameras - foreach (var roi in rois) - { - roi.Camera.RoiParams = roi.Camera.RoiParams + roi.RoiParams; - } + foreach (var roi in rois) roi.RegisterRoiToCamera(); /// Prepare measurementOperations IList measureOperations = new List(); - foreach (var camera in cameras) - { - measureOperations.Add(camera.MeasurementOp()); - } - + foreach (var camera in cameras) measureOperations.Add(camera.MeasurementOp()); + foreach (var roi in rois) measureOperations.Add(roi.MeasurementOp()); //------------------------------------------------ diff --git a/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/FlyingStartMassCollectionSeq.cs b/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/FlyingStartMassCollectionSeq.cs index 1392d88a4..ec8f0e5af 100644 --- a/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/FlyingStartMassCollectionSeq.cs +++ b/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/FlyingStartMassCollectionSeq.cs @@ -362,24 +362,18 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollection { if (!cameras.Contains(roi.Camera)) { - roi.Camera.ClearRoiParams(); + roi.Camera.ClearRois(); cameras.Add(roi.Camera); } } /// Register ROI-parameters to cameras - foreach (var roi in rois) - { - roi.Camera.RoiParams = roi.Camera.RoiParams + roi.RoiParams; - } + foreach (var roi in rois) roi.RegisterRoiToCamera(); /// Prepare measurementOperations IList measureOperations = new List(); - foreach (var camera in cameras) - { - measureOperations.Add(camera.MeasurementOp()); - } - + foreach (var camera in cameras) measureOperations.Add(camera.MeasurementOp()); + foreach (var roi in rois) measureOperations.Add(roi.MeasurementOp()); if (emptyTheTank) diff --git a/TestBenchFramework/Properties/AssemblyInfo.cs b/TestBenchFramework/Properties/AssemblyInfo.cs index fdbd7b94e..a9c687f82 100644 --- a/TestBenchFramework/Properties/AssemblyInfo.cs +++ b/TestBenchFramework/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("2.12.440.1")] -[assembly: AssemblyFileVersion("2.12.440.1")] +[assembly: AssemblyVersion("2.12.441.1")] +[assembly: AssemblyFileVersion("2.12.441.1")]