From e1ac4d0e483426d5a410b6b4ae04e819f59b621e Mon Sep 17 00:00:00 2001
From: wells.liu <wells.liu@broconcentric.com>
Date: 星期五, 03 七月 2020 10:48:30 +0800
Subject: [PATCH] 基类+板卡驱动修改

---
 src/Bro.Device.GTSCard/GTSCardDriver.cs            |    9 ++++++---
 src/Bro.Common.Device/DeviceBase/MotionCardBase.cs |   18 +++++++++++++++---
 src/Bro.Common.Device/DeviceBase/CameraBase.cs     |    2 +-
 3 files changed, 22 insertions(+), 7 deletions(-)

diff --git a/src/Bro.Common.Device/DeviceBase/CameraBase.cs b/src/Bro.Common.Device/DeviceBase/CameraBase.cs
index 4204c9b..a7f721c 100644
--- a/src/Bro.Common.Device/DeviceBase/CameraBase.cs
+++ b/src/Bro.Common.Device/DeviceBase/CameraBase.cs
@@ -196,7 +196,7 @@
 
         public virtual async void SaveOriginImage(Bitmap map, Bitmap showImage, string imgSetId)
         {
-            Task.Run(() =>
+            await Task.Run(() =>
             {
                 OnImageUpdated?.Invoke(this, showImage, imgSetId);
             });
diff --git a/src/Bro.Common.Device/DeviceBase/MotionCardBase.cs b/src/Bro.Common.Device/DeviceBase/MotionCardBase.cs
index dce4dcd..0f64dde 100644
--- a/src/Bro.Common.Device/DeviceBase/MotionCardBase.cs
+++ b/src/Bro.Common.Device/DeviceBase/MotionCardBase.cs
@@ -26,9 +26,9 @@
         public abstract void ResetAlarm();
         public abstract ResponseMessage Run(IOperationConfig config);
 
-        public void ExcuteMonitorInvok(DateTime dateTime, string invokeDevice, IDevice device, IMonitorSet monitorSet)
+        public void ExcuteMonitorInvok(DateTime dateTime, string invokeDevice, IDevice device, IMonitorSet monitorSet, AsyncCallback OnMethodInvoked)
         {
-            OnMonitorInvoke?.BeginInvoke(dateTime, invokeDevice, device, monitorSet, null, null);
+            OnMonitorInvoke?.BeginInvoke(dateTime, invokeDevice, device, monitorSet, OnMethodInvoked, null);
         }
 
         public void ExcuteMonitorAlarm(DateTime dateTime, IDevice device, IWarningSet warningSet)
@@ -134,6 +134,10 @@
         [TypeConverter(typeof(CollectionCountConvert))]
         [Editor(typeof(IORefrenceItemCollectionEditor), typeof(UITypeEditor))]
         public List<IORefrenceItem> PreCheckIOCollection { get; set; } = new List<IORefrenceItem>();
+        [Category("IO鎿嶄綔閰嶇疆")]
+        [Description("瓒呮椂璁剧疆锛屽崟浣嶏細ms")]
+        [DisplayName("IO棰勬鏌ヨ秴鏃�")]
+        public int PreCheckIOTimeout { get; set; } = 0;
 
         [Category("IO鎿嶄綔閰嶇疆")]
         [DisplayName("IO杈撳嚭瀹氫箟闆嗗悎")]
@@ -146,6 +150,10 @@
         [Description("IO纭瀹氫箟闆嗗悎")]
         [TypeConverter(typeof(CollectionCountConvert))]
         public List<IORefrenceItem> IOConfirmCollection { get; set; } = new List<IORefrenceItem>();
+        [Category("IO鎿嶄綔閰嶇疆")]
+        [Description("瓒呮椂璁剧疆锛屽崟浣嶏細ms")]
+        [DisplayName("IO纭瓒呮椂")]
+        public int IOConfirmTimeout { get; set; } = 0;
 
         [Category("鏉垮崱杩愬姩閰嶇疆")]
         [DisplayName("杩愬姩閰嶇疆闆嗗悎")]
@@ -153,6 +161,10 @@
         [TypeConverter(typeof(CollectionCountConvert))]
         [Editor(typeof(ComplexCollectionEditor<MovingOption>), typeof(UITypeEditor))]
         public List<MovingOption> MovingOps { get; set; } = new List<MovingOption>();
+        [Category("鏉垮崱杩愬姩閰嶇疆")]
+        [Description("瓒呮椂璁剧疆锛屽崟浣嶏細ms")]
+        [DisplayName("杩愬姩瓒呮椂")]
+        public int MovingTimeout { get; set; } = 0;
 
         public string GetDisplayText()
         {
@@ -179,7 +191,7 @@
             IOConfirmCollection.ForEach(i =>
             {
                 confirm += i.GetDisplayText() + " ";
-            }); 
+            });
             if (confirm != "")
             {
                 confirm = " 纭锛�" + confirm;
diff --git a/src/Bro.Device.GTSCard/GTSCardDriver.cs b/src/Bro.Device.GTSCard/GTSCardDriver.cs
index de90301..c0da369 100644
--- a/src/Bro.Device.GTSCard/GTSCardDriver.cs
+++ b/src/Bro.Device.GTSCard/GTSCardDriver.cs
@@ -23,7 +23,7 @@
         // 寮傚父浜嬩欢
         public Action<Exception> OnExceptionRaised;
 
-        public GTSCardInitialConfig IConfig
+        public GTSCardInitialConfig IIConfig
         {
             get
             {
@@ -77,7 +77,10 @@
 
         public override ResponseMessage Run(IOperationConfig config)
         {
-            throw new NotImplementedException();
+            ResponseMessage responseMessage = new ResponseMessage();
+
+
+            return responseMessage;
         }
         #endregion
 
@@ -840,7 +843,7 @@
                         //    return tempNew[index].Value;
                         //}).ToList();
 
-                        ExcuteMonitorInvok(DateTime.Now, monitorSet.InvokeDevice, this, monitorSet);
+                        ExcuteMonitorInvok(DateTime.Now, monitorSet.InvokeDevice, this, monitorSet, OnMethodInvoked);
                     }
                 }
             });

--
Gitblit v1.8.0