From f52302d69d60ce15b0d5b100e30082c5a6e9caa1 Mon Sep 17 00:00:00 2001
From: xcd <834800634@qq.com>
Date: 星期五, 03 七月 2020 18:38:44 +0800
Subject: [PATCH] merge

---
 src/Bro.Device.GTSCard/GTSCardDriver.cs            |    9 ++++++---
 src/Bro.Common.Device/DeviceBase/MotionCardBase.cs |   20 +++++++++++++++++---
 src/Bro.Common.Device/DeviceBase/CameraBase.cs     |    2 +-
 3 files changed, 24 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 d7d1a41..2ea2a37 100644
--- a/src/Bro.Common.Device/DeviceBase/MotionCardBase.cs
+++ b/src/Bro.Common.Device/DeviceBase/MotionCardBase.cs
@@ -27,12 +27,14 @@
         public abstract void ResetAlarm();
         public abstract ResponseMessage Run(IOperationConfig config);
 
-        public void ExcuteMonitorInvoke(DateTime dateTime, string invokeDevice, IDevice device, IMonitorSet monitorSet)
+        public virtual void ExcuteMonitorInvoke(DateTime dateTime, string invokeDevice, IDevice device, IMonitorSet monitorSet)
         {
-            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)
+        public abstract void OnMethodInvoked(IAsyncResult ar);
+
+        public virtual void ExcuteMonitorAlarm(DateTime dateTime, IDevice device, IWarningSet warningSet)
         {
             OnMonitorAlarm?.BeginInvoke(dateTime, device, warningSet, null, null);
         }
@@ -140,6 +142,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杈撳嚭瀹氫箟闆嗗悎")]
@@ -152,6 +158,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("杩愬姩閰嶇疆闆嗗悎")]
@@ -159,6 +169,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()
         {
diff --git a/src/Bro.Device.GTSCard/GTSCardDriver.cs b/src/Bro.Device.GTSCard/GTSCardDriver.cs
index 5b60b6d..0368c10 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
 
@@ -770,7 +773,7 @@
             });
         }
 
-        private void OnMethodInvoked(IAsyncResult ar)
+        public override void OnMethodInvoked(IAsyncResult ar)
         {
             MotionCardMonitorSet monitorSet = ar.AsyncState as MotionCardMonitorSet;
             ProcessResponse resValues = monitorSet.Response;

--
Gitblit v1.8.0