From eafdcc5ad6a55d3dfdec6c4787c3f3a9f32efc7f Mon Sep 17 00:00:00 2001 From: xcd <834800634@qq.com> Date: 星期二, 29 九月 2020 13:27:50 +0800 Subject: [PATCH] 1. M071B机台配置 2. GTS板卡添加回原点捕获模式和输入信号模式 3. CameraBase使用Dictionary类型做图片缓存 4. M071流程显式Copy,原来是为了避免内存泄漏,但目前来看不是这方面原因 5. Gocator驱动添加GoDataSet之类KObject资源显式回收,怀疑其中也有非托管对象资源,测试确实起到内存回收作用 --- src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardIOStatus.cs | 22 +++++++++++++++++----- 1 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardIOStatus.cs b/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardIOStatus.cs index 3ac3207..e47edce 100644 --- a/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardIOStatus.cs +++ b/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardIOStatus.cs @@ -31,11 +31,10 @@ get => Device as MotionCardBase; } - public CtrlMotionCardIOStatus(IDevice device, List<IOItem> monitorValues) + public CtrlMotionCardIOStatus(IDevice device) { InitializeComponent(); Device = device; - _monitorValues = monitorValues; InitIOEvent(); } @@ -45,19 +44,21 @@ { if (ctr is IOIndicatorCtrl ioOut) { + ioOut.Cursor = Cursors.Hand; ioOut.OnIODoubleClick += IoOut_DoubleClick; } } } - private void IoOut_DoubleClick(string desc, bool isOn) + private void IoOut_DoubleClick(string name, bool isOn) { - var index = Convert.ToInt16(desc.Substring(3)); + var index = Convert.ToInt16(name.Substring(5)); MotionCard.WriteOutput(index, isOn ? IOValue.FALSE : IOValue.TRUE); } private void RefreshIOStatus(object sender, EventArgs e) { + _monitorValues = MotionCard.MonitorValues; foreach (var ioItem in _monitorValues) { if (ioItem.IOType == Common.Helper.EnumHelper.IOType.INPUT) @@ -66,6 +67,7 @@ if (ioInArray != null && ioInArray.Length == 1) { var ioIn = ioInArray[0] as IOIndicatorCtrl; + ioIn.IsOn = ioItem.Value == IOValue.TRUE; } } @@ -75,10 +77,20 @@ if (ioOutArray != null && ioOutArray.Length == 1) { var ioOut = ioOutArray[0] as IOIndicatorCtrl; - ioOut.IsOn = ioItem.Value == IOValue.TRUE; + + if (MotionCard.IConfig.IsOutputReversed) + { + ioOut.IsOn = ioItem.Value == IOValue.TRUE; + } + else + { + ioOut.IsOn = ioItem.Value == IOValue.FALSE; + } } } } + + this.Invalidate(); } } } -- Gitblit v1.8.0