From 1f2fa3f54d4a7b5a2f601c4c947a06476342e3bd Mon Sep 17 00:00:00 2001
From: patrick.xu <patrick.xu@broconcentric.com>
Date: 星期五, 22 一月 2021 09:23:06 +0800
Subject: [PATCH] 1. gocator驱动将system.stop移到system.ReceiveData之后 2. 修改测量完成后状态切换逻辑,避免安全光线等干扰 3. 添加设备异常输出日志记录 4. 产品结果输出时做硬盘文件记录

---
 src/Bro.Common.Device/DeviceBase/CameraBase.cs |   25 +++++++++++++++----------
 1 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/src/Bro.Common.Device/DeviceBase/CameraBase.cs b/src/Bro.Common.Device/DeviceBase/CameraBase.cs
index 85b5458..ca7afb3 100644
--- a/src/Bro.Common.Device/DeviceBase/CameraBase.cs
+++ b/src/Bro.Common.Device/DeviceBase/CameraBase.cs
@@ -153,7 +153,7 @@
             set.IsOriginSaved = !set.ImageSaveOption.IsSaveOriginImage;
             set.IsFitSaved = !set.ImageSaveOption.IsSaveFitImage;
             set.IsAddtionalSaved = string.IsNullOrWhiteSpace(set.ImageSaveOption.AddtionalSaveType);
-            set.OnImageSetTimeout += ImageSet_OnImageSetTimeout;
+            //set.OnImageSetTimeout += ImageSet_OnImageSetTimeout;
 
             _imageSetList[set.Id] = set;
         }
@@ -183,7 +183,7 @@
             set.IsOriginSaved = !set.ImageSaveOption.IsSaveOriginImage;
             set.IsFitSaved = !set.ImageSaveOption.IsSaveFitImage;
             set.IsAddtionalSaved = string.IsNullOrWhiteSpace(set.ImageSaveOption.AddtionalSaveType);
-            set.OnImageSetTimeout += ImageSet_OnImageSetTimeout;
+            //set.OnImageSetTimeout += ImageSet_OnImageSetTimeout;
             _imageSetList[set.Id] = set;
         }
 
@@ -376,6 +376,8 @@
                 //    && (!set.ImageSaveOption.IsSaveNGImage || set.IsNGSaved))
                 if (set.IsOriginSaved && set.IsFitSaved && set.IsAddtionalSaved)
                 {
+                    set.Dispose();
+
                     _imageSetList.Remove(set.Id);
                     LogAsync(DateTime.Now, $"绉婚櫎鍥剧墖淇℃伅锛屽綋鍓嶇紦瀛樻暟閲忥細{_imageSetList.Count}", "");
                 }
@@ -543,7 +545,7 @@
         {
             await Task.Run(() =>
             {
-                Thread.Sleep(1000);
+                //Thread.Sleep(1000);
                 int widthIn4 = (int)Math.Ceiling(width / 4.0) * 4;
 
                 Bitmap bmp = new Bitmap(widthIn4, height, PixelFormat.Format48bppRgb);
@@ -847,7 +849,7 @@
         bool IsFitSaved { get; set; }
         bool IsAddtionalSaved { get; set; }
 
-        event Action<ImageSet> OnImageSetTimeout;
+        //event Action<ImageSet> OnImageSetTimeout;
 
         /// <summary>
         /// 搴忓垪鍖栨搷浣滅殑鍥惧儚淇℃伅
@@ -894,15 +896,18 @@
 
         public virtual string ImageData { get; set; }
 
-        public event Action<ImageSet> OnImageSetTimeout;
-        private Timer autoDisposeTimer = null;
+        //public event Action<ImageSet> OnImageSetTimeout;
+        //private Timer autoDisposeTimer = null;
 
         public void Dispose(object state)
         {
-            OnImageSetTimeout?.Invoke(this);
+            //OnImageSetTimeout?.Invoke(this);
 
-            autoDisposeTimer.Change(-1, -1);
-            autoDisposeTimer.Dispose();
+            //autoDisposeTimer.Change(-1, -1);
+            //autoDisposeTimer.Dispose();
+
+            Image?.Dispose();
+            Image = null;
         }
 
         public virtual void Dispose()
@@ -912,7 +917,7 @@
 
         public ImageSet()
         {
-            autoDisposeTimer = new Timer(Dispose, null, 10 * 1000, -1);
+            //autoDisposeTimer = new Timer(Dispose, null, 10 * 1000, -1);
         }
         #endregion
     }

--
Gitblit v1.8.0