From 32304b0a0a2e4af174c0feea96d2387bb75a2556 Mon Sep 17 00:00:00 2001
From: C3032 <caoxingqi@shlanbao.cn>
Date: 星期三, 18 三月 2026 16:03:44 +0800
Subject: [PATCH] 新增:读码器功能模块,集成华睿读码器并初步实现读码功能
---
LB_VisionProcesses/ref/GenApi_MD_VC120_v3_0.dll | 0
LB_VisionProcesses/ref/SharpnessDetection64.dll | 0
LB_VisionProcesses/LB_VisionProcesses.csproj | 34
LB_VisionProcesses/ref/clserVsp.dll | 0
LB_VisionProcesses/BarcodeReaders/Huayray/HRBarcodeReader.cs | 216 ++++
LB_VisionProcesses/BarcodeReaders/IBarcodeReader.cs | 118 ++
LB_SmartVision/Forms/Pages/ProcessPage/ProcessPage.cs | 16
LB_VisionProcesses/ref/MVlog4cppmd.dll | 0
LB_VisionProcesses/ref/CLAllSerial_MD_VC120_v3_0.dll | 0
LB_VisionProcesses/ref/GCBase_MD_VC120_v3_0.dll | 0
LB_VisionProcesses/ref/iImageProcessing64.dll | 0
LB_SmartVision/LB_SmartVision.csproj | 12
LB_VisionProcesses/ref/CLProtocol_MD_VC120_v3_0.dll | 0
LB_VisionProcesses/ref/EasyIDSDK_Net.dll | 0
LB_VisionProcesses/BarcodeReaders/BarcodeReaderBase.cs | 57 +
LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.Designer.cs | 255 ++++
LB_VisionProcesses/ref/MathParser_MD_VC120_v3_0.dll | 0
LB_VisionProcesses/ref/MVSDKmd.dll | 0
LB_SmartVision/ProcessRun/ProcessContext.cs | 3
LB_VisionProcesses/ref/SDKLOG_default.properties | 15
LB_VisionProcesses/ref/XmlParser_MD_VC120_v3_0.dll | 0
LB_VisionProcesses/ref/EasyID.dll | 0
LB_VisionProcesses/ref/GenCP_MD_VC120_v3_0.dll | 0
LB_VisionProcesses/BarcodeReaders/BarcodeReaderFactory.cs | 27
LB_VisionProcesses/Processes/BarcodeReaderProcess.cs | 150 ++
LB_VisionProcesses/ref/EasyIDSDK_Net.XML | 1812 ++++++++++++++++++++++++++++++++++
LB_VisionProcesses/ref/ImageConvert.dll | 0
LB_VisionProcesses/ref/ImageSave.dll | 0
LB_VisionProcesses/ref/log4cpp_MD_VC120_v3_0.dll | 0
LB_VisionProcesses/ref/NodeMapData_MD_VC120_v3_0.dll | 0
LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.cs | 265 +++++
LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.resx | 120 ++
LB_VisionProcesses/ref/CLSerCOM.dll | 0
LB_VisionProcesses/ref/VideoRender.dll | 0
LB_VisionProcesses/ref/Log_MD_VC120_v3_0.dll | 0
LB_VisionFlowNode/IFlowContext.cs | 3
LB_VisionProcesses/ref/libwinpthread-1.dll | 0
LB_SmartVision/GlobalVar.cs | 6
38 files changed, 3,080 insertions(+), 29 deletions(-)
diff --git a/LB_SmartVision/Forms/Pages/ProcessPage/ProcessPage.cs b/LB_SmartVision/Forms/Pages/ProcessPage/ProcessPage.cs
index ce25c32..f57158a 100644
--- a/LB_SmartVision/Forms/Pages/ProcessPage/ProcessPage.cs
+++ b/LB_SmartVision/Forms/Pages/ProcessPage/ProcessPage.cs
@@ -333,6 +333,16 @@
LogInfo?.Invoke(string.Format("娴佺▼[{0}]姝ラ\"{1}\"鍔犺浇澶辫触浜�", this.Text, ProcessName), LogInfoType.ERROR);
process.strProcessName = ProcessName;
}
+ else if (process is LB_VisionProcesses.Processes.BarcodeReaderProcess)
+ {
+ LB_VisionProcesses.BarcodeReaders.BarcodeReaderForm barcodeForm
+ = new LB_VisionProcesses.BarcodeReaders.BarcodeReaderForm((LB_VisionProcesses.Processes.BarcodeReaderProcess)process, ProcessPath);
+ barcodeForm.ShowDialog();
+
+ if (!(process.Load(ProcessPath)))
+ LogInfo?.Invoke(string.Format("娴佺▼[{0}]姝ラ\"{1}\"鍔犺浇澶辫触浜�", this.Text, ProcessName), LogInfoType.ERROR);
+ process.strProcessName = ProcessName;
+ }
else if (ClassName.Contains("CommunicatorConfig") && process is CommunicatorConfig)
{
LB_VisionProcesses.Communicators.CommunicatorForm communicatorForm
@@ -370,7 +380,11 @@
ProcessRunBll.UpdataInputsAndOutputs(ProcessName, process);
}
- catch (Exception ex) { Debug.WriteLine(ex.Message); }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.Message);
+ MessageBox.Show($"鎵撳紑閰嶇疆鐣岄潰澶辫触: {ex.Message}\n{ex.StackTrace}", "閿欒", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
}
private void AddBranch(string ProcessName)
diff --git a/LB_SmartVision/GlobalVar.cs b/LB_SmartVision/GlobalVar.cs
index 6c5862a..eff8e9e 100644
--- a/LB_SmartVision/GlobalVar.cs
+++ b/LB_SmartVision/GlobalVar.cs
@@ -4,6 +4,7 @@
using LB_SmartVision.Tool;
using LB_VisionProcesses.Cameras;
using LB_VisionProcesses.Communicators;
+using LB_VisionProcesses.BarcodeReaders;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
@@ -39,6 +40,11 @@
public static ObservableConcurrentDictionary<string, BaseCamera> dicCameras { get; set; } = new ObservableConcurrentDictionary<string, BaseCamera>();
/// <summary>
+ /// 璇荤爜鍣ㄩ泦鍚�(Key:璁惧SN锛孷alue:璇荤爜鍣ㄥ彞鏌�)
+ /// </summary>
+ public static ObservableConcurrentDictionary<string, BarcodeReaderBase> dicBarcodeReaders { get; set; } = new ObservableConcurrentDictionary<string, BarcodeReaderBase>();
+
+ /// <summary>
/// 閫氳闆嗗悎(Key:閫氳鍚嶏紝Value:閫氳鍙ユ焺)
/// </summary>
public static ObservableConcurrentDictionary<string, BaseCommunicator> dicCommunicators { get; set; } = new ObservableConcurrentDictionary<string, BaseCommunicator>();
diff --git a/LB_SmartVision/LB_SmartVision.csproj b/LB_SmartVision/LB_SmartVision.csproj
index 184052f..f8424fd 100644
--- a/LB_SmartVision/LB_SmartVision.csproj
+++ b/LB_SmartVision/LB_SmartVision.csproj
@@ -52,12 +52,24 @@
</ItemGroup>
<ItemGroup>
+ <Reference Include="CLIDelegate">
+ <HintPath>..\LB_VisionProcesses\ref\CLIDelegate.dll</HintPath>
+ </Reference>
+ <Reference Include="EasyIDSDK_Net">
+ <HintPath>..\LB_VisionProcesses\ref\EasyIDSDK_Net.dll</HintPath>
+ </Reference>
<Reference Include="halcondotnet">
<HintPath>ref\halcondotnet.dll</HintPath>
</Reference>
+ <Reference Include="MVSDK_Net">
+ <HintPath>..\LB_VisionProcesses\ref\MVSDK_Net.dll</HintPath>
+ </Reference>
<Reference Include="MySql.Data">
<HintPath>ref\MySql.Data.dll</HintPath>
</Reference>
+ <Reference Include="ThridLibray">
+ <HintPath>..\LB_VisionProcesses\ref\ThridLibray.dll</HintPath>
+ </Reference>
</ItemGroup>
<ItemGroup>
diff --git a/LB_SmartVision/ProcessRun/ProcessContext.cs b/LB_SmartVision/ProcessRun/ProcessContext.cs
index 2fbe61e..e46967c 100644
--- a/LB_SmartVision/ProcessRun/ProcessContext.cs
+++ b/LB_SmartVision/ProcessRun/ProcessContext.cs
@@ -570,6 +570,9 @@
[Node("鐩告満鍙栧浘", "鍙栧儚宸ュ叿", "Basic", "鐩告満鍙栧浘")]
public void 鐩告満鍙栧浘(FlowNode node) { RunNodeAsync(node); }
+ [Node("璇荤爜宸ュ叿", "鍙栧儚宸ュ叿", "Basic", "璇荤爜宸ュ叿")]
+ public void 璇荤爜宸ュ叿(FlowNode node) { RunNodeAsync(node); }
+
[Node("Halcon2D鏂戠偣宸ュ叿", "Halcon2D宸ュ叿", "Basic", "Halcon2D鏂戠偣宸ュ叿")]
public void Halcon2D鏂戠偣宸ュ叿(FlowNode node) { RunNodeAsync(node); }
diff --git a/LB_VisionFlowNode/IFlowContext.cs b/LB_VisionFlowNode/IFlowContext.cs
index 5456ce8..c717a9f 100644
--- a/LB_VisionFlowNode/IFlowContext.cs
+++ b/LB_VisionFlowNode/IFlowContext.cs
@@ -280,6 +280,9 @@
[Node("鐩告満鍙栧浘", "鍙栧儚宸ュ叿", "Basic", "鐩告満鍙栧浘")]
public void 鐩告満鍙栧浘(FlowNode node) { RunNodeAsync(node); }
+ [Node("璇荤爜宸ュ叿", "鍙栧儚宸ュ叿", "Basic", "璇荤爜宸ュ叿")]
+ public void 璇荤爜宸ュ叿(FlowNode node) { RunNodeAsync(node); }
+
[Node("Halcon2D鏂戠偣宸ュ叿", "Halcon2D宸ュ叿", "Basic", "Halcon2D鏂戠偣宸ュ叿")]
public void Halcon2D鏂戠偣宸ュ叿(FlowNode node) { RunNodeAsync(node); }
diff --git a/LB_VisionProcesses/BarcodeReaders/BarcodeReaderBase.cs b/LB_VisionProcesses/BarcodeReaders/BarcodeReaderBase.cs
new file mode 100644
index 0000000..b5814a7
--- /dev/null
+++ b/LB_VisionProcesses/BarcodeReaders/BarcodeReaderBase.cs
@@ -0,0 +1,57 @@
+using System;
+using System.Collections.Generic;
+
+namespace LB_VisionProcesses.BarcodeReaders
+{
+ /// <summary>
+ /// 璇荤爜鍣ㄦ娊璞″熀绫�
+ /// </summary>
+ public abstract class BarcodeReaderBase : IBarcodeReader
+ {
+ public virtual event EventHandler<BarcodeEventArgs> BarcodeRead;
+
+ public virtual string SN { get; protected set; } = string.Empty;
+
+ public virtual bool IsConnected { get; protected set; } = false;
+
+ public virtual bool IsGrabbing { get; protected set; } = false;
+
+ public abstract BarcodeReaderBrand Brand { get; }
+
+ protected BarcodeReaderBase() { }
+
+ /// <summary>
+ /// 瑙﹀彂璇荤爜鎴愬姛浜嬩欢
+ /// </summary>
+ protected virtual void OnBarcodeRead(BarcodeEventArgs e)
+ {
+ BarcodeRead?.Invoke(this, e);
+ }
+
+ public abstract List<string> GetDeviceList();
+
+ public abstract bool Open(string sn);
+
+ public abstract bool Close();
+
+ public abstract bool StartGrabbing();
+
+ public abstract bool StopGrabbing();
+
+ public abstract bool SoftTrigger();
+
+ public abstract bool SetTriggerMode(bool isSoftware);
+
+ public virtual void Dispose()
+ {
+ try
+ {
+ if (IsConnected)
+ {
+ Close();
+ }
+ }
+ catch { }
+ }
+ }
+}
diff --git a/LB_VisionProcesses/BarcodeReaders/BarcodeReaderFactory.cs b/LB_VisionProcesses/BarcodeReaders/BarcodeReaderFactory.cs
new file mode 100644
index 0000000..d3616c3
--- /dev/null
+++ b/LB_VisionProcesses/BarcodeReaders/BarcodeReaderFactory.cs
@@ -0,0 +1,27 @@
+using System;
+using LB_VisionProcesses.BarcodeReaders.Huayray;
+
+namespace LB_VisionProcesses.BarcodeReaders
+{
+ /// <summary>
+ /// 璇荤爜鍣ㄥ伐鍘傜被
+ /// </summary>
+ public static class BarcodeReaderFactory
+ {
+ /// <summary>
+ /// 鏍规嵁鍝佺墝鍒涘缓璇荤爜鍣ㄥ疄渚�
+ /// </summary>
+ /// <param name="brand">璇荤爜鍣ㄥ搧鐗�</param>
+ /// <returns>璇荤爜鍣ㄥ疄渚�</returns>
+ public static IBarcodeReader CreateReader(BarcodeReaderBrand brand)
+ {
+ switch (brand)
+ {
+ case BarcodeReaderBrand.Huayray:
+ return new HRBarcodeReader();
+ default:
+ throw new NotSupportedException($"涓嶆敮鎸佺殑璇荤爜鍣ㄥ搧鐗�: {brand}");
+ }
+ }
+ }
+}
diff --git a/LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.Designer.cs b/LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.Designer.cs
new file mode 100644
index 0000000..c08d3ea
--- /dev/null
+++ b/LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.Designer.cs
@@ -0,0 +1,255 @@
+namespace LB_VisionProcesses.BarcodeReaders
+{
+ partial class BarcodeReaderForm
+ {
+ private System.ComponentModel.IContainer components = null;
+
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ private void InitializeComponent()
+ {
+ this.themeForm = new ReaLTaiizor.Forms.ThemeForm();
+ this.pnlMain = new ReaLTaiizor.Controls.Panel();
+ this.controlBox1 = new ReaLTaiizor.Controls.ControlBox();
+ this.grpControl = new System.Windows.Forms.GroupBox();
+ this.btnRefresh = new System.Windows.Forms.Button();
+ this.btnSoftTrigger = new System.Windows.Forms.Button();
+ this.btnStop = new System.Windows.Forms.Button();
+ this.btnStart = new System.Windows.Forms.Button();
+ this.btnClose = new System.Windows.Forms.Button();
+ this.btnOpen = new System.Windows.Forms.Button();
+ this.cmbSN = new System.Windows.Forms.ComboBox();
+ this.lblSN = new System.Windows.Forms.Label();
+ this.cmbBrand = new System.Windows.Forms.ComboBox();
+ this.lblBrand = new System.Windows.Forms.Label();
+ this.grpParams = new System.Windows.Forms.GroupBox();
+ this.txtTimeout = new System.Windows.Forms.TextBox();
+ this.lblTimeout = new System.Windows.Forms.Label();
+ this.radHardTrigger = new System.Windows.Forms.RadioButton();
+ this.radSoftTrigger = new System.Windows.Forms.RadioButton();
+ this.grpResult = new System.Windows.Forms.GroupBox();
+ this.lstBarcodes = new System.Windows.Forms.ListBox();
+ this.pnlImage = new System.Windows.Forms.Panel();
+ this.picPreview = new System.Windows.Forms.PictureBox();
+ this.statusStrip = new System.Windows.Forms.StatusStrip();
+ this.lblStatus = new System.Windows.Forms.ToolStripStatusLabel();
+
+ this.themeForm.SuspendLayout();
+ this.pnlMain.SuspendLayout();
+ this.grpControl.SuspendLayout();
+ this.grpParams.SuspendLayout();
+ this.grpResult.SuspendLayout();
+ this.pnlImage.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.picPreview)).BeginInit();
+ this.statusStrip.SuspendLayout();
+ this.SuspendLayout();
+
+ // themeForm
+ this.themeForm.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(41)))), ((int)(((byte)(50)))));
+ this.themeForm.Controls.Add(this.controlBox1);
+ this.themeForm.Controls.Add(this.pnlMain);
+ this.themeForm.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.themeForm.Font = new System.Drawing.Font("Segoe UI", 9F);
+ this.themeForm.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(142)))), ((int)(((byte)(142)))), ((int)(((byte)(142)))));
+ this.themeForm.Location = new System.Drawing.Point(0, 0);
+ this.themeForm.Name = "themeForm";
+ this.themeForm.Padding = new System.Windows.Forms.Padding(10, 70, 10, 9);
+ this.themeForm.Size = new System.Drawing.Size(820, 600);
+ this.themeForm.Text = "璇荤爜鍣ㄩ厤缃�";
+
+ // controlBox1
+ this.controlBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.controlBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(41)))), ((int)(((byte)(50)))));
+ this.controlBox1.Location = new System.Drawing.Point(740, 15);
+ this.controlBox1.Name = "controlBox1";
+ this.controlBox1.Size = new System.Drawing.Size(77, 19);
+
+ // pnlMain
+ this.pnlMain.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(41)))), ((int)(((byte)(50)))));
+ this.pnlMain.Controls.Add(this.pnlImage);
+ this.pnlMain.Controls.Add(this.grpResult);
+ this.pnlMain.Controls.Add(this.grpParams);
+ this.pnlMain.Controls.Add(this.grpControl);
+ this.pnlMain.Controls.Add(this.statusStrip);
+ this.pnlMain.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.pnlMain.Location = new System.Drawing.Point(10, 70);
+ this.pnlMain.Name = "pnlMain";
+ this.pnlMain.Size = new System.Drawing.Size(800, 521);
+
+ // grpControl
+ this.grpControl.Controls.Add(this.btnRefresh);
+ this.grpControl.Controls.Add(this.btnSoftTrigger);
+ this.grpControl.Controls.Add(this.btnStop);
+ this.grpControl.Controls.Add(this.btnStart);
+ this.grpControl.Controls.Add(this.btnClose);
+ this.grpControl.Controls.Add(this.btnOpen);
+ this.grpControl.Controls.Add(this.cmbSN);
+ this.grpControl.Controls.Add(this.lblSN);
+ this.grpControl.Controls.Add(this.cmbBrand);
+ this.grpControl.Controls.Add(this.lblBrand);
+ this.grpControl.ForeColor = System.Drawing.Color.White;
+ this.grpControl.Location = new System.Drawing.Point(15, 15);
+ this.grpControl.Name = "grpControl";
+ this.grpControl.Size = new System.Drawing.Size(260, 240);
+ this.grpControl.Text = "璁惧鎺у埗";
+
+ this.lblBrand.Location = new System.Drawing.Point(10, 25);
+ this.lblBrand.Text = "鍝佺墝:";
+ this.cmbBrand.Location = new System.Drawing.Point(70, 22);
+ this.cmbBrand.Size = new System.Drawing.Size(170, 25);
+ this.cmbBrand.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+
+ this.lblSN.Location = new System.Drawing.Point(10, 60);
+ this.lblSN.Text = "搴忓垪鍙�:";
+ this.cmbSN.Location = new System.Drawing.Point(70, 57);
+ this.cmbSN.Size = new System.Drawing.Size(130, 25);
+
+ this.btnRefresh.Location = new System.Drawing.Point(205, 56);
+ this.btnRefresh.Size = new System.Drawing.Size(35, 25);
+ this.btnRefresh.Text = "R";
+ this.btnRefresh.Click += new System.EventHandler(this.btnRefresh_Click);
+
+ this.btnOpen.Location = new System.Drawing.Point(13, 100);
+ this.btnOpen.Size = new System.Drawing.Size(110, 35);
+ this.btnOpen.Text = "鎵撳紑璁惧";
+ this.btnOpen.Click += new System.EventHandler(this.btnOpen_Click);
+
+ this.btnClose.Location = new System.Drawing.Point(130, 100);
+ this.btnClose.Size = new System.Drawing.Size(110, 35);
+ this.btnClose.Text = "鍏抽棴璁惧";
+ this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
+
+ this.btnStart.Location = new System.Drawing.Point(13, 145);
+ this.btnStart.Size = new System.Drawing.Size(110, 35);
+ this.btnStart.Text = "寮�濮嬮噰闆�";
+ this.btnStart.Click += new System.EventHandler(this.btnStart_Click);
+
+ this.btnStop.Location = new System.Drawing.Point(130, 145);
+ this.btnStop.Size = new System.Drawing.Size(110, 35);
+ this.btnStop.Text = "鍋滄閲囬泦";
+ this.btnStop.Click += new System.EventHandler(this.btnStop_Click);
+
+ this.btnSoftTrigger.Location = new System.Drawing.Point(13, 190);
+ this.btnSoftTrigger.Size = new System.Drawing.Size(227, 35);
+ this.btnSoftTrigger.Text = "杞Е鍙戜竴娆�";
+ this.btnSoftTrigger.Click += new System.EventHandler(this.btnSoftTrigger_Click);
+
+ // grpParams
+ this.grpParams.Controls.Add(this.txtTimeout);
+ this.grpParams.Controls.Add(this.lblTimeout);
+ this.grpParams.Controls.Add(this.radHardTrigger);
+ this.grpParams.Controls.Add(this.radSoftTrigger);
+ this.grpParams.ForeColor = System.Drawing.Color.White;
+ this.grpParams.Location = new System.Drawing.Point(15, 260);
+ this.grpParams.Name = "grpParams";
+ this.grpParams.Size = new System.Drawing.Size(260, 110);
+ this.grpParams.Text = "鍙傛暟璁剧疆";
+
+ this.radSoftTrigger.Location = new System.Drawing.Point(15, 25);
+ this.radSoftTrigger.Text = "杞Е鍙�";
+ this.radSoftTrigger.Checked = true;
+ this.radSoftTrigger.CheckedChanged += new System.EventHandler(this.radTrigger_CheckedChanged);
+
+ this.radHardTrigger.Location = new System.Drawing.Point(130, 25);
+ this.radHardTrigger.Text = "鑷姩/纭Е鍙�";
+
+ this.lblTimeout.Location = new System.Drawing.Point(15, 65);
+ this.lblTimeout.Text = "瓒呮椂(ms):";
+ this.txtTimeout.Location = new System.Drawing.Point(100, 62);
+ this.txtTimeout.Size = new System.Drawing.Size(140, 25);
+ this.txtTimeout.Text = "2000";
+
+ // grpResult
+ this.grpResult.Controls.Add(this.lstBarcodes);
+ this.grpResult.ForeColor = System.Drawing.Color.White;
+ this.grpResult.Location = new System.Drawing.Point(15, 380);
+ this.grpResult.Name = "grpResult";
+ this.grpResult.Size = new System.Drawing.Size(260, 115);
+ this.grpResult.Text = "璇诲彇缁撴灉";
+
+ this.lstBarcodes.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(42)))), ((int)(((byte)(51)))), ((int)(((byte)(60)))));
+ this.lstBarcodes.ForeColor = System.Drawing.Color.White;
+ this.lstBarcodes.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.lstBarcodes.Location = new System.Drawing.Point(3, 19);
+ this.lstBarcodes.Name = "lstBarcodes";
+ this.lstBarcodes.Size = new System.Drawing.Size(254, 93);
+
+ // pnlImage
+ this.pnlImage.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.pnlImage.Controls.Add(this.picPreview);
+ this.pnlImage.Location = new System.Drawing.Point(285, 23);
+ this.pnlImage.Name = "pnlImage";
+ this.pnlImage.Size = new System.Drawing.Size(500, 472);
+
+ this.picPreview.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.picPreview.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
+
+ // statusStrip
+ this.statusStrip.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(41)))), ((int)(((byte)(50)))));
+ this.statusStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.lblStatus });
+ this.statusStrip.Location = new System.Drawing.Point(0, 499);
+ this.statusStrip.Size = new System.Drawing.Size(800, 22);
+
+ this.lblStatus.ForeColor = System.Drawing.Color.White;
+ this.lblStatus.Text = "鍑嗗灏辩华";
+
+ // BarcodeReaderForm
+ this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(820, 600);
+ this.Controls.Add(this.themeForm);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
+ this.Name = "BarcodeReaderForm";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+ this.Text = "璇荤爜鍣ㄩ厤缃�";
+ this.Load += new System.EventHandler(this.BarcodeReaderForm_Load);
+ this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.BarcodeReaderForm_FormClosing);
+
+ this.themeForm.ResumeLayout(false);
+ this.pnlMain.ResumeLayout(false);
+ this.pnlMain.PerformLayout();
+ this.grpControl.ResumeLayout(false);
+ this.grpParams.ResumeLayout(false);
+ this.grpParams.PerformLayout();
+ this.grpResult.ResumeLayout(false);
+ this.pnlImage.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.picPreview)).EndInit();
+ this.statusStrip.ResumeLayout(false);
+ this.statusStrip.PerformLayout();
+ this.ResumeLayout(false);
+ }
+
+ private ReaLTaiizor.Forms.ThemeForm themeForm;
+ private ReaLTaiizor.Controls.Panel pnlMain;
+ private ReaLTaiizor.Controls.ControlBox controlBox1;
+ private System.Windows.Forms.GroupBox grpControl;
+ private System.Windows.Forms.Label lblBrand;
+ private System.Windows.Forms.ComboBox cmbBrand;
+ private System.Windows.Forms.Label lblSN;
+ private System.Windows.Forms.ComboBox cmbSN;
+ private System.Windows.Forms.Button btnRefresh;
+ private System.Windows.Forms.Button btnOpen;
+ private System.Windows.Forms.Button btnClose;
+ private System.Windows.Forms.Button btnStart;
+ private System.Windows.Forms.Button btnStop;
+ private System.Windows.Forms.Button btnSoftTrigger;
+ private System.Windows.Forms.GroupBox grpParams;
+ private System.Windows.Forms.RadioButton radHardTrigger;
+ private System.Windows.Forms.RadioButton radSoftTrigger;
+ private System.Windows.Forms.Label lblTimeout;
+ private System.Windows.Forms.TextBox txtTimeout;
+ private System.Windows.Forms.GroupBox grpResult;
+ private System.Windows.Forms.ListBox lstBarcodes;
+ private System.Windows.Forms.StatusStrip statusStrip;
+ private System.Windows.Forms.ToolStripStatusLabel lblStatus;
+ private System.Windows.Forms.Panel pnlImage;
+ private System.Windows.Forms.PictureBox picPreview;
+ }
+}
diff --git a/LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.cs b/LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.cs
new file mode 100644
index 0000000..34a5867
--- /dev/null
+++ b/LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.cs
@@ -0,0 +1,265 @@
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Linq;
+using System.Windows.Forms;
+using LB_VisionProcesses.BarcodeReaders;
+
+namespace LB_VisionProcesses.BarcodeReaders
+{
+ /// <summary>
+ /// 璇荤爜鍣ㄩ厤缃笌娴嬭瘯绐椾綋
+ /// </summary>
+ public partial class BarcodeReaderForm : Form
+ {
+ private IBarcodeReader _reader;
+ private string _currentSN;
+ private LB_VisionProcesses.Processes.BarcodeReaderProcess _process;
+ private string _processPath;
+
+ public BarcodeReaderForm()
+ {
+ InitializeComponent();
+ }
+
+ public BarcodeReaderForm(LB_VisionProcesses.Processes.BarcodeReaderProcess process, string processPath)
+ {
+ InitializeComponent();
+ _process = process;
+ _processPath = processPath;
+
+ // 鍔犺浇娴佺▼鍙傛暟鍒� UI
+ if (_process.Params.Inputs.ContainsKey("璁惧鍝佺墝"))
+ cmbBrand.Text = _process.Params.Inputs["璁惧鍝佺墝"].ToString();
+ if (_process.Params.Inputs.ContainsKey("璁惧SN"))
+ cmbSN.Text = _process.Params.Inputs["璁惧SN"].ToString();
+ if (_process.Params.Inputs.ContainsKey("瑙﹀彂妯″紡"))
+ radSoftTrigger.Checked = _process.Params.Inputs["瑙﹀彂妯″紡"].ToString() == "杞Е鍙�";
+ if (_process.Params.Inputs.ContainsKey("瓒呮椂鏃堕棿"))
+ txtTimeout.Text = _process.Params.Inputs["瓒呮椂鏃堕棿"].ToString();
+ }
+
+ private void BarcodeReaderForm_Load(object sender, EventArgs e)
+ {
+ // 鍒濆鍖栧搧鐗屽垪琛�
+ cmbBrand.Items.Clear();
+ foreach (var brand in Enum.GetValues(typeof(BarcodeReaderBrand)))
+ {
+ if ((BarcodeReaderBrand)brand != BarcodeReaderBrand.Unsupported)
+ {
+ cmbBrand.Items.Add(brand);
+ }
+ }
+
+ if (cmbBrand.Items.Count > 0)
+ cmbBrand.SelectedIndex = 0;
+
+ UpdateUIStatus();
+ }
+
+ private void btnRefresh_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ if (cmbBrand.SelectedItem == null) return;
+
+ var brand = (BarcodeReaderBrand)cmbBrand.SelectedItem;
+ using (var tempReader = BarcodeReaderFactory.CreateReader(brand))
+ {
+ var devices = tempReader.GetDeviceList();
+ cmbSN.Items.Clear();
+ if (devices != null && devices.Count > 0)
+ {
+ cmbSN.Items.AddRange(devices.ToArray());
+ cmbSN.SelectedIndex = 0;
+ }
+ }
+ lblStatus.Text = $"璁惧鍒楄〃宸插埛鏂帮紝鎵惧埌 {cmbSN.Items.Count} 涓澶�";
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show($"鍒锋柊璁惧鍒楄〃澶辫触: {ex.Message}", "閿欒", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+
+ private void btnOpen_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ if (cmbSN.SelectedItem == null && string.IsNullOrEmpty(cmbSN.Text))
+ {
+ MessageBox.Show("璇烽�夋嫨鎴栬緭鍏ヨ澶囧簭鍒楀彿");
+ return;
+ }
+
+ _currentSN = cmbSN.Text;
+ var brand = (BarcodeReaderBrand)cmbBrand.SelectedItem;
+
+ if (_reader != null)
+ {
+ _reader.BarcodeRead -= Reader_BarcodeRead;
+ _reader.Dispose();
+ }
+
+ _reader = BarcodeReaderFactory.CreateReader(brand);
+ _reader.BarcodeRead += Reader_BarcodeRead;
+
+ if (_reader.Open(_currentSN))
+ {
+ lblStatus.Text = $"璁惧 {_currentSN} 宸叉墦寮�";
+ UpdateUIStatus();
+ }
+ else
+ {
+ MessageBox.Show("璁惧鎵撳紑澶辫触锛岃妫�鏌ヨ繛鎺ユ垨鍗犵敤鐘舵��");
+ }
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show($"鎵撳紑璁惧寮傚父: {ex.Message}");
+ }
+ }
+
+ private void btnClose_Click(object sender, EventArgs e)
+ {
+ if (_reader != null)
+ {
+ _reader.Close();
+ lblStatus.Text = "璁惧宸插叧闂�";
+ UpdateUIStatus();
+ }
+ }
+
+ private void btnStart_Click(object sender, EventArgs e)
+ {
+ if (_reader != null && _reader.IsConnected)
+ {
+ // 璁剧疆瑙﹀彂妯″紡锛堟牴鎹� UI 閫夋嫨锛�
+ _reader.SetTriggerMode(radSoftTrigger.Checked);
+
+ if (_reader.StartGrabbing())
+ {
+ lblStatus.Text = "閲囬泦宸插紑濮�";
+ UpdateUIStatus();
+ }
+ }
+ }
+
+ private void btnStop_Click(object sender, EventArgs e)
+ {
+ if (_reader != null && _reader.IsGrabbing)
+ {
+ if (_reader.StopGrabbing())
+ {
+ lblStatus.Text = "閲囬泦宸插仠姝�";
+ UpdateUIStatus();
+ }
+ }
+ }
+
+ private void btnSoftTrigger_Click(object sender, EventArgs e)
+ {
+ if (_reader != null && _reader.IsGrabbing)
+ {
+ _reader.SoftTrigger();
+ lblStatus.Text = "宸叉墽琛岃蒋瑙﹀彂";
+ }
+ else
+ {
+ lblStatus.Text = "璇峰厛寮�濮嬮噰闆嗗啀鎵ц瑙﹀彂";
+ }
+ }
+
+ private void radTrigger_CheckedChanged(object sender, EventArgs e)
+ {
+ if (_reader != null && _reader.IsConnected)
+ {
+ _reader.SetTriggerMode(radSoftTrigger.Checked);
+ lblStatus.Text = radSoftTrigger.Checked ? "宸插垏鎹㈣嚦杞Е鍙戞ā寮�" : "宸插垏鎹㈣嚦纭Е鍙�/鑷姩妯″紡";
+ }
+ }
+
+ private void Reader_BarcodeRead(object sender, BarcodeEventArgs e)
+ {
+ // 寮傛鏇存柊 UI
+ if (this.InvokeRequired)
+ {
+ this.BeginInvoke(new Action<object, BarcodeEventArgs>(Reader_BarcodeRead), sender, e);
+ return;
+ }
+
+ try
+ {
+ // 鏇存柊缁撴灉鍒楄〃
+ lstBarcodes.Items.Clear();
+ if (e.Barcodes != null && e.Barcodes.Count > 0)
+ {
+ foreach (var code in e.Barcodes)
+ {
+ lstBarcodes.Items.Add($"{DateTime.Now:HH:mm:ss} - {code}");
+ }
+ }
+ else
+ {
+ lstBarcodes.Items.Add($"{DateTime.Now:HH:mm:ss} - 鏈鍒版潯鐮�");
+ }
+
+ // 鏇存柊棰勮鍥惧儚
+ if (e.Image != null)
+ {
+ // 閲婃斁鏃у浘鍍忥紝闃叉鍐呭瓨娉勬紡
+ var oldImg = picPreview.Image;
+ picPreview.Image = new Bitmap(e.Image); // 鎷疯礉涓�浠介槻姝㈣ SDK 鍐呴儴閲婃斁
+ oldImg?.Dispose();
+ }
+ }
+ catch (Exception ex)
+ {
+ // 闈欓粯澶勭悊 UI 鏇存柊寮傚父
+ Console.WriteLine($"UI鏇存柊寮傚父: {ex.Message}");
+ }
+ }
+
+ private void UpdateUIStatus()
+ {
+ bool isConnected = _reader?.IsConnected ?? false;
+ bool isGrabbing = _reader?.IsGrabbing ?? false;
+
+ btnOpen.Enabled = !isConnected;
+ btnClose.Enabled = isConnected;
+ cmbBrand.Enabled = !isConnected;
+ cmbSN.Enabled = !isConnected;
+ btnRefresh.Enabled = !isConnected;
+
+ btnStart.Enabled = isConnected && !isGrabbing;
+ btnStop.Enabled = isGrabbing;
+ btnSoftTrigger.Enabled = isGrabbing && radSoftTrigger.Checked;
+
+ grpParams.Enabled = isConnected;
+ }
+
+ private void BarcodeReaderForm_FormClosing(object sender, FormClosingEventArgs e)
+ {
+ // 鍏抽棴鍓嶄繚瀛樺弬鏁板埌娴佺▼
+ if (_process != null)
+ {
+ _process.Params.Inputs["璁惧鍝佺墝"] = cmbBrand.Text;
+ _process.Params.Inputs["璁惧SN"] = cmbSN.Text;
+ _process.Params.Inputs["瑙﹀彂妯″紡"] = radSoftTrigger.Checked ? "杞Е鍙�" : "纭Е鍙�";
+ if (int.TryParse(txtTimeout.Text, out int timeout))
+ _process.Params.Inputs["瓒呮椂鏃堕棿"] = timeout;
+
+ _process.Save(_processPath);
+ }
+
+ if (_reader != null)
+ {
+ if (_reader.IsGrabbing) _reader.StopGrabbing();
+ _reader.Close();
+ _reader.BarcodeRead -= Reader_BarcodeRead;
+ _reader.Dispose();
+ _reader = null;
+ }
+ }
+ }
+}
diff --git a/LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.resx b/LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/LB_VisionProcesses/BarcodeReaders/BarcodeReaderForm.resx
@@ -0,0 +1,120 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+</root>
\ No newline at end of file
diff --git a/LB_VisionProcesses/BarcodeReaders/Huayray/HRBarcodeReader.cs b/LB_VisionProcesses/BarcodeReaders/Huayray/HRBarcodeReader.cs
new file mode 100644
index 0000000..872c066
--- /dev/null
+++ b/LB_VisionProcesses/BarcodeReaders/Huayray/HRBarcodeReader.cs
@@ -0,0 +1,216 @@
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Linq;
+using System.Runtime.InteropServices;
+using System.Text;
+using EasyIDSDK_Net;
+
+namespace LB_VisionProcesses.BarcodeReaders.Huayray
+{
+ /// <summary>
+ /// 鍗庣澘璇荤爜鍣ㄥ疄鐜扮被
+ /// </summary>
+ public class HRBarcodeReader : BarcodeReaderBase
+ {
+ private EidCamera _camera;
+ private EidCamera.EidFrameCallback _frameCallback;
+ private GCHandle _callbackHandle;
+
+ public override BarcodeReaderBrand Brand => BarcodeReaderBrand.Huayray;
+
+ public HRBarcodeReader()
+ {
+ _camera = new EidCamera();
+ _frameCallback = OnFrameReceived;
+ }
+
+ /// <summary>
+ /// 鑾峰彇鍦ㄧ嚎鐨勫崕鐫胯鐮佸櫒鍒楄〃
+ /// </summary>
+ public override List<string> GetDeviceList()
+ {
+ List<string> snList = new List<string>();
+ try
+ {
+ EidCamera.EidDeviceList devList = new EidCamera.EidDeviceList();
+ int nRet = EidCamera.eidEnumDevices_Net(ref devList, 0);
+ if (nRet == EidCamera.eidErrorOK && devList.num > 0)
+ {
+ for (int i = 0; i < devList.num; i++)
+ {
+ EidCamera.EidDeviceInfo deviceInfo = (EidCamera.EidDeviceInfo)Marshal.PtrToStructure(
+ devList.infos + Marshal.SizeOf(typeof(EidCamera.EidDeviceInfo)) * i,
+ typeof(EidCamera.EidDeviceInfo));
+ snList.Add(deviceInfo.serialNumber);
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ // TODO: Log error
+ }
+ return snList;
+ }
+
+ public override bool Open(string sn)
+ {
+ if (IsConnected) Close();
+
+ try
+ {
+ // 鍒涘缓鍙ユ焺
+ int nRet = _camera.eidCreateDevice_Net(sn, EidCamera.EidDeviceDataType.eidDeviceDataTypeSN);
+ if (nRet != EidCamera.eidErrorOK) return false;
+
+ // 鎵撳紑璁惧
+ nRet = _camera.eidOpenDevice_Net();
+ if (nRet != EidCamera.eidErrorOK)
+ {
+ _camera.eidReleaseHandle_Net();
+ return false;
+ }
+
+ // 娉ㄥ唽鍥炶皟
+ nRet = _camera.eidRegisterFrameCallback_Net(_frameCallback, IntPtr.Zero);
+ if (nRet != EidCamera.eidErrorOK)
+ {
+ _camera.eidCloseDevice_Net();
+ _camera.eidReleaseHandle_Net();
+ return false;
+ }
+
+ this.SN = sn;
+ this.IsConnected = true;
+ return true;
+ }
+ catch
+ {
+ return false;
+ }
+ }
+
+ public override bool Close()
+ {
+ if (!IsConnected) return true;
+
+ try
+ {
+ StopGrabbing();
+ _camera.eidCloseDevice_Net();
+ _camera.eidReleaseHandle_Net();
+ this.IsConnected = false;
+ this.SN = string.Empty;
+ return true;
+ }
+ catch
+ {
+ return false;
+ }
+ }
+
+ public override bool StartGrabbing()
+ {
+ if (!IsConnected) return false;
+ if (IsGrabbing) return true;
+
+ int nRet = _camera.eidStartGrabbing_Net(0);
+ if (nRet == EidCamera.eidErrorOK)
+ {
+ this.IsGrabbing = true;
+ return true;
+ }
+ return false;
+ }
+
+ public override bool StopGrabbing()
+ {
+ if (!IsGrabbing) return true;
+
+ int nRet = _camera.eidStopGrabbing_Net();
+ this.IsGrabbing = false;
+ return nRet == EidCamera.eidErrorOK;
+ }
+
+ public override bool SoftTrigger()
+ {
+ if (!IsConnected || !IsGrabbing) return false;
+ int nRet = _camera.eidExecCommandFeature_Net("TriggerSoftware");
+ return nRet == EidCamera.eidErrorOK;
+ }
+
+ public override bool SetTriggerMode(bool isSoftware)
+ {
+ if (!IsConnected) return false;
+
+ int nRet;
+ if (isSoftware)
+ {
+ // 杞Е鍙戞ā寮�
+ nRet = _camera.eidSetEnumFeatureSymbol_Net("TriggerType", "SingleFrame");
+ if (nRet != EidCamera.eidErrorOK) return false;
+ nRet = _camera.eidSetEnumFeatureSymbol_Net("TriggerSource", "Software");
+ }
+ else
+ {
+ // 鑷敱杩愯鎴栫‖瑙﹀彂 (姝ゅ榛樿璁句负鑷敱杩愯锛屽彲鏍规嵁闇�瑕佹墿灞�)
+ nRet = _camera.eidSetEnumFeatureSymbol_Net("TriggerType", "FreeRun");
+ }
+ return nRet == EidCamera.eidErrorOK;
+ }
+
+ /// <summary>
+ /// SDK甯у洖璋冨鐞�
+ /// </summary>
+ private void OnFrameReceived(ref EidCamera.EidFrameInfo frameInfo, IntPtr userData)
+ {
+ try
+ {
+ List<string> barcodes = new List<string>();
+ // 瑙f瀽鏉$爜
+ for (int i = 0; i < frameInfo.codeNum; i++)
+ {
+ EidCamera.EidCodeInfo codeInfo = (EidCamera.EidCodeInfo)Marshal.PtrToStructure(
+ frameInfo.codeList + Marshal.SizeOf(typeof(EidCamera.EidCodeInfo)) * i,
+ typeof(EidCamera.EidCodeInfo));
+
+ string data = Marshal.PtrToStringAnsi(codeInfo.data);
+ if (!string.IsNullOrEmpty(data))
+ {
+ barcodes.Add(data);
+ }
+ }
+
+ // 杞崲鍥惧儚 (濡傛灉闇�瑕�)
+ Bitmap bitmap = null;
+ if (frameInfo.imageDataLen > 0 && frameInfo.imageData != IntPtr.Zero)
+ {
+ // 杩欓噷绠�鍖栧鐞嗭紝濡傛灉鏄疛peg鍒欑洿鎺ヤ粠鍐呭瓨鍔犺浇锛屽鏋滄槸Raw鍒欓渶杞崲
+ // 瀹為檯椤圭洰涓彲鏍规嵁 frameInfo.format 杩涜澶勭悊
+ if (frameInfo.isJpeg)
+ {
+ byte[] managedArray = new byte[frameInfo.imageDataLen];
+ Marshal.Copy(frameInfo.imageData, managedArray, 0, (int)frameInfo.imageDataLen);
+ using (var ms = new System.IO.MemoryStream(managedArray))
+ {
+ bitmap = new Bitmap(ms);
+ }
+ }
+ }
+
+ // 瑙﹀彂浜嬩欢
+ OnBarcodeRead(new BarcodeEventArgs(this.SN, barcodes, bitmap));
+ }
+ catch (Exception ex)
+ {
+ // TODO: Log error
+ }
+ }
+
+ public override void Dispose()
+ {
+ Close();
+ base.Dispose();
+ }
+ }
+}
diff --git a/LB_VisionProcesses/BarcodeReaders/IBarcodeReader.cs b/LB_VisionProcesses/BarcodeReaders/IBarcodeReader.cs
new file mode 100644
index 0000000..e9875c6
--- /dev/null
+++ b/LB_VisionProcesses/BarcodeReaders/IBarcodeReader.cs
@@ -0,0 +1,118 @@
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+
+namespace LB_VisionProcesses.BarcodeReaders
+{
+ /// <summary>
+ /// 璇荤爜鍣ㄥ搧鐗屾灇涓�
+ /// </summary>
+ public enum BarcodeReaderBrand
+ {
+ Huayray, // 鍗庣澘
+ Unsupported
+ }
+
+ /// <summary>
+ /// 璇荤爜缁撴灉鍙傛暟绫�
+ /// </summary>
+ public class BarcodeEventArgs : EventArgs
+ {
+ /// <summary>
+ /// 璁惧搴忓垪鍙�
+ /// </summary>
+ public string SN { get; set; }
+
+ /// <summary>
+ /// 璇荤爜缁撴灉鍐呭
+ /// </summary>
+ public List<string> Barcodes { get; set; } = new List<string>();
+
+ /// <summary>
+ /// 鍏宠仈鍥惧儚 (鍙��)
+ /// </summary>
+ public Bitmap Image { get; set; }
+
+ /// <summary>
+ /// 鏄惁璇诲彇鎴愬姛
+ /// </summary>
+ public bool IsSuccess => Barcodes.Count > 0;
+
+ public BarcodeEventArgs(string sn, List<string> barcodes, Bitmap image = null)
+ {
+ SN = sn;
+ Barcodes = barcodes;
+ Image = image;
+ }
+ }
+
+ /// <summary>
+ /// 璇荤爜鍣ㄦ娊璞℃帴鍙�
+ /// </summary>
+ public interface IBarcodeReader : IDisposable
+ {
+ /// <summary>
+ /// 璇荤爜缁撴灉鍥炶皟浜嬩欢
+ /// </summary>
+ event EventHandler<BarcodeEventArgs> BarcodeRead;
+
+ /// <summary>
+ /// 鑾峰彇璁惧鍒楄〃鏋氫妇
+ /// </summary>
+ /// <returns>SN鍒楄〃</returns>
+ List<string> GetDeviceList();
+
+ /// <summary>
+ /// 鍒濆鍖栧苟鎵撳紑璇荤爜鍣�
+ /// </summary>
+ /// <param name="sn">搴忓垪鍙�</param>
+ /// <returns>鏄惁鎴愬姛</returns>
+ bool Open(string sn);
+
+ /// <summary>
+ /// 鍏抽棴璇荤爜鍣�
+ /// </summary>
+ /// <returns>鏄惁鎴愬姛</returns>
+ bool Close();
+
+ /// <summary>
+ /// 寮�濮嬮噰闆�/鐩戝惉
+ /// </summary>
+ /// <returns>鏄惁鎴愬姛</returns>
+ bool StartGrabbing();
+
+ /// <summary>
+ /// 鍋滄閲囬泦/鐩戝惉
+ /// </summary>
+ /// <returns>鏄惁鎴愬姛</returns>
+ bool StopGrabbing();
+
+ /// <summary>
+ /// 鎵ц杞Е鍙戜竴娆�
+ /// </summary>
+ /// <returns>鏄惁鎴愬姛</returns>
+ bool SoftTrigger();
+
+ /// <summary>
+ /// 璁剧疆瑙﹀彂妯″紡
+ /// </summary>
+ /// <param name="isSoftware">true涓鸿蒋瑙﹀彂, false涓虹‖瑙﹀彂鎴栬嚜鍔ㄧ洃鍚�</param>
+ /// <returns>鏄惁鎴愬姛</returns>
+ bool SetTriggerMode(bool isSoftware);
+
+ /// <summary>
+ /// 璁惧鏄惁鍦ㄧ嚎
+ /// </summary>
+ bool IsConnected { get; }
+
+ /// <summary>
+ /// 璁惧鏄惁姝e湪閲囬泦
+ /// </summary>
+ bool IsGrabbing { get; }
+
+ /// <summary>
+ /// 璁惧鍝佺墝
+ /// </summary>
+ BarcodeReaderBrand Brand { get; }
+ }
+}
diff --git a/LB_VisionProcesses/LB_VisionProcesses.csproj b/LB_VisionProcesses/LB_VisionProcesses.csproj
index 8db9084..0bd51c5 100644
--- a/LB_VisionProcesses/LB_VisionProcesses.csproj
+++ b/LB_VisionProcesses/LB_VisionProcesses.csproj
@@ -33,6 +33,9 @@
<Reference Include="MVSDK_Net">
<HintPath>ref\MVSDK_Net.dll</HintPath>
</Reference>
+ <Reference Include="EasyIDSDK_Net">
+ <HintPath>ref\EasyIDSDK_Net.dll</HintPath>
+ </Reference>
</ItemGroup>
<ItemGroup>
@@ -57,39 +60,14 @@
</ItemGroup>
<ItemGroup>
- <None Update="ref\CLIDelegate.dll">
+ <None Update="ref\*.dll">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
- <None Update="ref\halcondotnet.dll">
+ <None Update="ref\*.XML">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
- <None Update="ref\MVSDKmd.dll">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Update="ref\MVSDK_Net.dll">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Update="ref\MVSDK_Net.XML">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Update="ref\PHM6000.dll">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Update="ref\PHM6000API.dll">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Update="ref\PHM6000API.lib">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Update="ref\Pilot2D.dll">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Update="ref\PointCloud3D.dll">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Update="ref\ThridLibray.dll">
+ <None Update="ref\*.lib">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
-
</Project>
\ No newline at end of file
diff --git a/LB_VisionProcesses/Processes/BarcodeReaderProcess.cs b/LB_VisionProcesses/Processes/BarcodeReaderProcess.cs
new file mode 100644
index 0000000..2318b91
--- /dev/null
+++ b/LB_VisionProcesses/Processes/BarcodeReaderProcess.cs
@@ -0,0 +1,150 @@
+using System;
+using System.Collections.Concurrent;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Drawing;
+using System.IO;
+using System.Linq;
+using System.Text;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Serialization;
+using LB_VisionProcesses.BarcodeReaders;
+
+namespace LB_VisionProcesses.Processes
+{
+ [Process("璇荤爜宸ュ叿", Category = "鍙栧儚宸ュ叿", Description = "閫氳繃璇荤爜鍣ㄨ幏鍙栨潯鐮佹暟鎹�")]
+ public class BarcodeReaderProcess : IProcess
+ {
+ /// <summary>
+ /// 璇荤爜鍣ㄥ疄渚嬮泦鍚� (鐢变富绋嬪簭绠$悊骞朵紶鍏�)
+ /// </summary>
+ [JsonIgnore]
+ public ConcurrentDictionary<string, BarcodeReaderBase> dicBarcodeReaders { get; set; }
+
+ /// <summary>
+ /// 褰撳墠鍏宠仈鐨勮鐮佸櫒
+ /// </summary>
+ [JsonIgnore]
+ public BarcodeReaderBase Reader { get; set; }
+
+ public BarcodeReaderProcess()
+ {
+ strProcessName = "璇荤爜宸ュ叿";
+ strProcessClass = "LB_VisionProcesses.Processes.BarcodeReaderProcess";
+
+ Params.Inputs.Add("璁惧鍝佺墝", "Huayray");
+ Params.Inputs.Add("璁惧SN", "");
+ Params.Inputs.Add("瑙﹀彂妯″紡", "杞Е鍙�");
+ Params.Inputs.Add("瓒呮椂鏃堕棿", 2000);
+
+ Params.Outputs.Add("鏉$爜缁撴灉", "");
+ Params.Outputs.Add("鐮佹暟閲�", 0);
+ }
+
+ public override void InitRunParams()
+ {
+ Result = true;
+ Msg = "鍑嗗杩愯";
+ bCompleted = false;
+ }
+
+ public override bool Run()
+ {
+ DateTime StartTime = DateTime.Now;
+ try
+ {
+ InitRunParams();
+
+ string sn = Params.Inputs["璁惧SN"]?.ToString();
+ if (string.IsNullOrEmpty(sn))
+ {
+ Msg = "璁惧SN鏈厤缃�";
+ Result = false;
+ return false;
+ }
+
+ // 浠庡叏灞�鍙橀噺鎴栦紶鍏ュ瓧鍏歌幏鍙�
+ if (dicBarcodeReaders == null)
+ {
+ // 灏濊瘯浠庡叏灞� dicGlobalVars 鑾峰彇 (鍋囪涓荤▼搴忓凡鏀惧叆)
+ if (dicGlobalVars.ContainsKey("dicBarcodeReaders"))
+ {
+ dicBarcodeReaders = dicGlobalVars["dicBarcodeReaders"] as ConcurrentDictionary<string, BarcodeReaderBase>;
+ }
+ }
+
+ if (dicBarcodeReaders != null && dicBarcodeReaders.ContainsKey(sn))
+ {
+ Reader = dicBarcodeReaders[sn];
+ }
+
+ if (Reader == null)
+ {
+ Msg = $"璇荤爜鍣╗{sn}]鏈垵濮嬪寲";
+ Result = false;
+ return false;
+ }
+
+ string triggerMode = Params.Inputs["瑙﹀彂妯″紡"]?.ToString();
+ if (triggerMode == "杞Е鍙�")
+ {
+ bool success = Reader.SoftTrigger();
+ Msg = success ? "瑙﹀彂鎴愬姛" : "瑙﹀彂澶辫触";
+ Result = success;
+ }
+ }
+ catch (Exception ex)
+ {
+ Msg = "杩愯寮傚父: " + ex.Message;
+ Result = false;
+ }
+ finally
+ {
+ RunTime = (DateTime.Now - StartTime).TotalMilliseconds;
+ bCompleted = true;
+ }
+ return Result;
+ }
+
+ public override bool Load(string fullPath)
+ {
+ try
+ {
+ if (string.IsNullOrEmpty(fullPath) || !File.Exists(fullPath)) return false;
+ string json = File.ReadAllText(fullPath, Encoding.UTF8);
+ Params = JsonConvert.DeserializeObject<ProcessParams>(json);
+ Params?.FixDeserializedData();
+ return true;
+ }
+ catch { return false; }
+ }
+
+ public override bool Save(string filePath)
+ {
+ try
+ {
+ if (string.IsNullOrEmpty(filePath)) return false;
+ if (!Directory.Exists(filePath)) Directory.CreateDirectory(filePath);
+ string fullPath = Path.Combine(filePath, strProcessName + ".json");
+ string json = JsonConvert.SerializeObject(Params, Formatting.Indented);
+ File.WriteAllText(fullPath, json, Encoding.UTF8);
+ return true;
+ }
+ catch { return false; }
+ }
+
+ public override object Clone()
+ {
+ try
+ {
+ var obj = (BarcodeReaderProcess)MemberwiseClone();
+ string json = JsonConvert.SerializeObject(this.Params);
+ obj.Params = JsonConvert.DeserializeObject<ProcessParams>(json);
+ return obj;
+ }
+ catch { return (BarcodeReaderProcess)MemberwiseClone(); }
+ }
+
+ public override void Dispose() { }
+ }
+}
diff --git a/LB_VisionProcesses/ref/CLAllSerial_MD_VC120_v3_0.dll b/LB_VisionProcesses/ref/CLAllSerial_MD_VC120_v3_0.dll
new file mode 100644
index 0000000..111bc92
--- /dev/null
+++ b/LB_VisionProcesses/ref/CLAllSerial_MD_VC120_v3_0.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/CLProtocol_MD_VC120_v3_0.dll b/LB_VisionProcesses/ref/CLProtocol_MD_VC120_v3_0.dll
new file mode 100644
index 0000000..92bcbeb
--- /dev/null
+++ b/LB_VisionProcesses/ref/CLProtocol_MD_VC120_v3_0.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/CLSerCOM.dll b/LB_VisionProcesses/ref/CLSerCOM.dll
new file mode 100644
index 0000000..da3c16a
--- /dev/null
+++ b/LB_VisionProcesses/ref/CLSerCOM.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/EasyID.dll b/LB_VisionProcesses/ref/EasyID.dll
new file mode 100644
index 0000000..1d4f1b3
--- /dev/null
+++ b/LB_VisionProcesses/ref/EasyID.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/EasyIDSDK_Net.XML b/LB_VisionProcesses/ref/EasyIDSDK_Net.XML
new file mode 100644
index 0000000..38d7685
--- /dev/null
+++ b/LB_VisionProcesses/ref/EasyIDSDK_Net.XML
@@ -0,0 +1,1812 @@
+<?xml version="1.0"?>
+<doc>
+ <assembly>
+ <name>EasyIDSDK_Net</name>
+ </assembly>
+ <members>
+ <member name="T:EasyIDSDK_Net.EidCamera">
+ <summary>
+ <para><ch>EidCamera</ch></para>
+ <para><en>EidCamera</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorOK">
+ <summary>
+ <para><ch>鎴愬姛</ch></para>
+ <para><en>OK</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorUnknown">
+ <summary>
+ <para><ch>鏈煡閿欒</ch></para>
+ <para><en>Unknown error</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorInternalError">
+ <summary>
+ <para><ch>鍐呴儴閿欒</ch></para>
+ <para><en>Internal error</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorInvalidParameter">
+ <summary>
+ <para><ch>鏃犳晥鍙傛暟</ch></para>
+ <para><en>Invalid parameter</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorNotConnected">
+ <summary>
+ <para><ch>鐩告満鏈繛鎺�</ch></para>
+ <para><en>Camera not connected</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorNotFound">
+ <summary>
+ <para><ch>鏈壘鍒�</ch></para>
+ <para><en>Not found</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorTimeout">
+ <summary>
+ <para><ch>瓒呮椂</ch></para>
+ <para><en>Timeout</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorNotImplemented">
+ <summary>
+ <para><ch>鏈疄鐜�</ch></para>
+ <para><en>Not implemented</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorRepeatOperation">
+ <summary>
+ <para><ch>閲嶅鎿嶄綔</ch></para>
+ <para><en>Repeat operation</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorNullPtr">
+ <summary>
+ <para><ch>绌烘寚閽�</ch></para>
+ <para><en>Null pointer</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorReadDataFail">
+ <summary>
+ <para><ch>璇诲彇鏁版嵁澶辫触</ch></para>
+ <para><en>Failed to read data</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorWriteDataFail">
+ <summary>
+ <para><ch>鍐欏叆鏁版嵁澶辫触</ch></para>
+ <para><en>Failed to write data</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorDataCheckFail">
+ <summary>
+ <para><ch>鏁版嵁鏍¢獙澶辫触</ch></para>
+ <para><en>Data verification failed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorImageSizeError">
+ <summary>
+ <para><ch>鍥惧儚澶у皬閿欒</ch></para>
+ <para><en>Wrong image size</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorImageTypeError">
+ <summary>
+ <para><ch>鍥惧儚绫诲瀷閿欒</ch></para>
+ <para><en>Wrong image type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorImageDataTypeError">
+ <summary>
+ <para><ch>鍥惧儚鏁版嵁绫诲瀷閿欒</ch></para>
+ <para><en>Wrong image data type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorSerializeFail">
+ <summary>
+ <para><ch>搴忓垪鍖栧け璐�</ch></para>
+ <para><en>Serialization failed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorDeserializeFail">
+ <summary>
+ <para><ch>鍙嶅簭鍒楀寲澶辫触</ch></para>
+ <para><en>Deserialization failed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorOpenFileFail">
+ <summary>
+ <para><ch>鎵撳紑鏂囦欢澶辫触</ch></para>
+ <para><en>Failed to open file</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorWriteFileFail">
+ <summary>
+ <para><ch>鏂囦欢鍐欏叆澶辫触</ch></para>
+ <para><en>File writing failed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorInvalidHandle">
+ <summary>
+ <para><ch>鏃犳晥鍙ユ焺</ch></para>
+ <para><en>Invalid handle</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.eidErrorInsufficientBuffer">
+ <summary>
+ <para><ch>缂撳啿鍖鸿繃灏�</ch></para>
+ <para><en>Insufficient buffers</en></para>
+ </summary>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.#ctor">
+ <summary>
+ <para><ch>鏋勯�犲嚱鏁�</ch></para>
+ <para><en>Constructor</en></para>
+ </summary>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetVersion_Net">
+ <summary>
+ <para><ch>鑾峰彇鐗堟湰淇℃伅</ch></para>
+ <para><en>Get version information</en></para>
+ </summary>
+ <returns><para><ch>鐗堟湰淇℃伅</ch></para><para><en>Version infomation</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidEnumDevices_Net(EasyIDSDK_Net.EidCamera.EidDeviceList@,System.UInt32)">
+ <summary>
+ <para><ch>鏍规嵁鎺ュ彛绫诲瀷鏋氫妇鐩告満, 鍚屾椂杈撳嚭鎵�鏈夌浉鏈轰俊鎭埌 deviceList</ch></para>
+ <para><en>Enumerate devices according to the interface type, and outputting all devices information to the deviceList</en></para>
+ </summary>
+ <param name="deviceList"><para><ch>[out] 璁惧淇℃伅鍒楄〃</ch></para><para><en>[out] Device information list</en></para></param>
+ <param name="type"><para><ch>[in] 鎺ュ彛绫诲瀷, 鍙互鏄涓帴鍙g被鍨嬬殑缁勫悎. 鑻ヤ紶鍏ュ�间负0琛ㄧず鎵�鏈夌被鍨�, 涓� eidInterfaceTypeAll 鍚箟鐩稿悓, 鍏朵綑鍙栧�煎弬鑰� #EidInterfaceType</ch></para>
+ <para><en>[in] Interface type, which can be a combination of multiple interface types.If the value of the parameter is 0, it means all types, which is the same as eidInterfaceTypeAll. other value see #EidInterfaceType</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidCreateDevice_Net(System.String,EasyIDSDK_Net.EidCamera.EidDeviceDataType)">
+ <summary>
+ <para><ch>鏍规嵁璁惧鏁版嵁淇℃伅鍒涘缓鐩稿簲鐨勮澶囧璞�, 濡傚彲浠ラ�氳繃璁惧搴忓垪鍙峰垱寤恒��</ch></para>
+ <para><en>Create a device handle according to the device data, for example, you can create a device object through the serial number.
+ This interface will not enumerate devices and needs to be called after #eidEnumDevices.</en></para>
+ </summary>
+ <param name="data"><para><ch>[in] 璁惧鏁版嵁, 鏁版嵁鍐呭鐨勫惈涔夌敱 type 鍙傛暟鍐冲畾</ch></para><para><en>[in] Device data, the meaning of the data content is determined by the type parameter</en></para></param>
+ <param name="type"><para><ch>[in] 鏁版嵁绫诲瀷, 榛樿鍊兼槸璁惧搴忓垪鍙�</ch></para><para><en>[in] Data type</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ <remarks><para><ch>娉ㄦ剰闇�瑕佽皟鐢� #eidReleaseHandle_Net 閲婃斁璧勬簮銆�</ch></para><para><en>Note that need to call #eidReleaseHandle_Net to release resources.</en></para></remarks>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidReleaseHandle_Net">
+ <summary>
+ <para><ch>閲婃斁鐩告満鍙ユ焺璧勬簮</ch></para>
+ <para><en>Release device handle resources</en></para>
+ </summary>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetDeviceInfo_Net(EasyIDSDK_Net.EidCamera.EidDeviceInfo@)">
+ <summary>
+ <para><ch>鑾峰彇璁惧淇℃伅</ch></para>
+ <para><en>Get device infomation</en></para>
+ </summary>
+ <param name="info"><para><ch>[out] 璁惧淇℃伅</ch></para><para><en>[out] Pointer to a EidDeviceInfo structure to receive the device information</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidOpenDevice_Net">
+ <summary>
+ <para><ch>鎵撳紑璁惧</ch></para>
+ <para><en>Open a device</en></para>
+ </summary>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidCloseDevice_Net">
+ <summary>
+ <para><ch>鍏抽棴璁惧</ch></para>
+ <para><en>Close a device</en></para>
+ </summary>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidIsDeviceOpen_Net">
+ <summary>
+ <para><ch>璁惧鏄惁宸茬粡鎵撳紑</ch></para>
+ <para><en>Gets a value indicating whether the media source is currently open. .</en></para>
+ </summary>
+ <returns><para><ch>濡傛灉璁惧澶勪簬鎵撳紑鐘舵�侊紝杩斿洖 true锛屽惁鍒欙紝false</ch></para><para><en>True if the device is open; otherwise, false</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidForceIpAddress_Net(System.String,System.String,System.String)">
+ <summary>
+ <para><ch>淇敼鐩告満IP. 璇ユ帴鍙e彧閽堝閫氳繃缃戝崱鎺ュ叆鐨勮澶囷紝瀵逛簬鍏朵綑璁惧锛岃皟鐢ㄦ鎺ュ彛鏃犳剰涔�</ch></para>
+ <para><en>Modify the device IP. This interface is only for devices connected through a network card.
+ For other devices, it is meaningless to call this interface.</en></para>
+ </summary>
+ <param name="ipAddr"><para><ch>[in] 璁惧IP鍦板潃</ch></para><para><en>[in] New IP address</en></para></param>
+ <param name="subnetMask"><para><ch>[in] 瀛愮綉鎺╃爜</ch></para><para><en>[in] New subnet mask</en></para></param>
+ <param name="gateway"><para><ch>[in] 榛樿缃戝叧</ch></para><para><en>[in] New default gateway</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidDownloadGenICamXML_Net(System.String)">
+ <summary>
+ <para><ch>涓嬭浇璁惧鎻忚堪XML鏂囦欢锛屽苟淇濆瓨鍒版寚瀹氳矾寰�</ch></para>
+ <para><en>Download device description XML file, and save the file to specified path</en></para>
+ </summary>
+ <param name="path"><para><ch>[in] 鏂囦欢淇濆瓨璺緞</ch></para><para><en>[in] The file path where the downloaded XMl file would be saved to</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidSaveDeviceConfig_Net(System.String)">
+ <summary>
+ <para><ch>淇濆瓨璁惧閰嶇疆鍒版寚瀹氱殑璺緞</ch></para>
+ <para><en>Save the configuration of the device to specified path</en></para>
+ </summary>
+ <param name="path"><para><ch>[in] 鏂囦欢淇濆瓨璺緞</ch></para><para><en>[in] The file path where the downloaded XMl file would be saved to</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidLoadDeviceConfig_Net(System.String,EasyIDSDK_Net.EidCamera.EidErrorList@)">
+ <summary>
+ <para><ch>浠庢枃浠跺姞杞借澶囬厤缃�</ch></para>
+ <para><en>Load the device configuration from a file</en></para>
+ </summary>
+ <param name="path"><para><ch>[in] 閰嶇疆鏂囦欢璺緞</ch></para><para><en>[in] Configuration file path</en></para></param>
+ <param name="errorList"><para><ch>[out] 閿欒鍒楄〃鎸囬拡, 鍐欏叆澶辫触鐨勮澶囧睘鎬у悕绉板皢閫氳繃璇ュ弬鏁拌繑鍥�</ch></para><para><en>[out] Pointor to error list. The device feature names that failed to write will be returned with this parameter</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetFeatureType_Net(System.String)">
+ <summary>
+ <para><ch>鑾峰彇璁惧灞炴�х被鍨�</ch></para>
+ <para><en>Get device feature type</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <returns><para><ch>璁惧灞炴�х被鍨�, 瑙� #EidFeatureType</ch></para><para><en>Device feature type, see enum #EidFeatureType</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidIsFeatureValid_Net(System.String)">
+ <summary>
+ <para><ch>璁惧灞炴�ф槸鍚︽湁鏁�</ch></para>
+ <para><en>Is the device feature valid</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <returns><para><ch>true 鏈夋晥,false 鏃犳晥</ch></para><para><en>true Valid,false Not valid</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidIsFeatureAvailable_Net(System.String)">
+ <summary>
+ <para><ch>璁惧灞炴�ф槸鍚﹀彲鐢�</ch></para>
+ <para><en>Is the device feature available</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <returns><para><ch>true 鍙敤,false 涓嶅彲鐢�</ch></para><para><en>true Available,false Not available</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidIsFeatureReadable_Net(System.String)">
+ <summary>
+ <para><ch>璁惧灞炴�ф槸鍚﹀彲璇�</ch></para>
+ <para><en>Is the device feature readable</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <returns><para><ch>true 鍙,false 涓嶅彲璇�</ch></para><para><en>true Readable,false Not readable</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidIsFeatureWriteable_Net(System.String)">
+ <summary>
+ <para><ch>璁惧灞炴�ф槸鍚﹀彲鍐�</ch></para>
+ <para><en>Is the device feature writeable</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <returns><para><ch>true 鍙啓,false 涓嶅彲鍐�</ch></para><para><en>true Writeable,false Not writeable</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetIntFeatureValue_Net(System.String,System.Int64@)">
+ <summary>
+ <para><ch>鑾峰彇鏁村瀷灞炴�у��</ch></para>
+ <para><en>Get integer feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[out] 灞炴�у��</ch></para><para><en>[out] Pointer to feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidSetIntFeatureValue_Net(System.String,System.Int64)">
+ <summary>
+ <para><ch>璁剧疆鏁村瀷灞炴�у��</ch></para>
+ <para><en>Set integer feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[in] 灞炴�у��</ch></para><para><en>[in] Feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetIntFeatureInfo_Net(System.String,EasyIDSDK_Net.EidCamera.EidIntFeatureInfo@)">
+ <summary>
+ <para><ch>鑾峰彇鏁村瀷灞炴�т俊鎭�</ch></para>
+ <para><en>Gets integer feature information</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="info"><para><ch>[out] 灞炴�т俊鎭�</ch></para><para><en>[out] A pointer to a buffer that receives the feature information</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetFloatFeatureValue_Net(System.String,System.Double@)">
+ <summary>
+ <para><ch>鑾峰彇娴偣鍨嬪睘鎬у��</ch></para>
+ <para><en>Get float feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[out] 灞炴�у��</ch></para><para><en>[out] Pointer to feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidSetFloatFeatureValue_Net(System.String,System.Double)">
+ <summary>
+ <para><ch>璁剧疆娴偣鍨嬪睘鎬у��</ch></para>
+ <para><en>Set float feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[in] 灞炴�у��</ch></para><para><en>[in] Feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetFloatFeatureInfo_Net(System.String,EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo@)">
+ <summary>
+ <para><ch>鑾峰彇娴偣鍨嬪睘鎬т俊鎭�</ch></para>
+ <para><en>Gets float feature information</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="info"><para><ch>[out] 灞炴�т俊鎭�</ch></para><para><en>[out] A pointer to a buffer that receives the feature information</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetBoolFeatureValue_Net(System.String,System.Boolean@)">
+ <summary>
+ <para><ch>鑾峰彇甯冨皵鍨嬪睘鎬у��</ch></para>
+ <para><en>Get bool feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[out] 灞炴�у��</ch></para><para><en>[out] Pointer to feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidSetBoolFeatureValue_Net(System.String,System.Boolean)">
+ <summary>
+ <para><ch>璁剧疆甯冨皵鍨嬪睘鎬у��</ch></para>
+ <para><en>Set bool feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[in] 灞炴�у��</ch></para><para><en>[in] Feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetStringFeatureValue_Net(System.String,System.Byte@,System.UInt32@)">
+ <summary>
+ <para><ch>鑾峰彇瀛楃涓插瀷灞炴�у��</ch></para>
+ <para><en>Get string feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[out] 灞炴�у�煎瓧绗︿覆缂撳啿鍖�, 鐢ㄦ埛鍒嗛厤鍐呭瓨绌洪棿</ch></para><para><en>[out] Pointer to string feature value buffer that is allocated memory space by the user</en></para></param>
+ <param name="size"><para><ch>[in,out] 灞炴�у�煎瓧绗︿覆缂撳啿鍖洪暱搴�.</ch></para><para><en>[in,out] The length of the string buffer.</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ <remarks><para><ch>褰撳嚱鏁拌繑鍥炴椂, 濡傛灉缂撳啿鍖鸿冻澶熷ぇ, 鎵�鏈夌殑鏁版嵁閮戒細鎷疯礉鍒� value 缂撳啿鍖�, 骞朵笖姝ゅ弬鏁扮殑鍊兼槸瀹為檯瀛楃涓茬殑闀垮害(涓嶅寘鍚玭ull缁撴潫绗�);
+ 濡傛灉缂撳啿鍖轰笉澶熷ぇ, 缂撳啿鍖虹殑鏁版嵁鏄埅鏂悗鐨勫瓧绗︿覆鍐呭, 骞朵笖姝ゅ弬鏁板寘鍚瓧绗︿覆鐨勫疄闄呴暱搴�(涓嶅寘鍚玭ull缁撴潫绗�)</ch></para><para><en>When the function returns, if the buffer is large enough,
+ all data is copied to the value buffer, and the value of this parameter is the length of the actual string (without the null terminator);
+ If the buffer is not large enough, the buffer's data is the truncated string content,
+ and this parameter contains the actual length of the string (without the null terminator)</en></para></remarks>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidSetStringFeatureValue_Net(System.String,System.Byte@)">
+ <summary>
+ <para><ch>璁剧疆瀛楃涓插瀷灞炴�у��</ch></para>
+ <para><en>Set string feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[in] 灞炴�у��</ch></para><para><en>[in] Feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetStringFeatureInfo_Net(System.String,EasyIDSDK_Net.EidCamera.EidStringFeatureInfo@)">
+ <summary>
+ <para><ch>鑾峰彇瀛楃涓插瀷灞炴�т俊鎭�</ch></para>
+ <para><en>Gets string feature information</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="info"><para><ch>[out] 灞炴�т俊鎭�</ch></para><para><en>[out] A pointer to a buffer that receives the feature information</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetEnumFeatureValue_Net(System.String,System.UInt64@)">
+ <summary>
+ <para><ch>鑾峰彇鏋氫妇鍨嬪睘鎬у��</ch></para>
+ <para><en>Get enum feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[out] 灞炴�у��</ch></para><para><en>[out] Pointer to feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidSetEnumFeatureValue_Net(System.String,System.UInt64)">
+ <summary>
+ <para><ch>璁剧疆鏋氫妇鍨嬪睘鎬у��</ch></para>
+ <para><en>Set enum feature value</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[in] 灞炴�у��</ch></para><para><en>[in] Feature value</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetEnumFeatureSymbol_Net(System.String,System.Byte@,System.UInt32)">
+ <summary>
+ <para><ch>鑾峰彇鏋氫妇鍨嬪睘鎬х鍙�</ch></para>
+ <para><en>Get enum feature symbol</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[out] 灞炴�х鍙�</ch></para><para><en>[out] Pointer to enum feature symbol buffer</en></para></param>
+ <param name="size"><para><ch>[in] 灞炴�х鍙风紦鍐查暱搴�</ch></para><para><en>[in] The length of symbol buffer</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidSetEnumFeatureSymbol_Net(System.String,System.String)">
+ <summary>
+ <para><ch>璁剧疆鏋氫妇鍨嬪睘鎬х鍙�</ch></para>
+ <para><en>Set enum feature symbol</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="value"><para><ch>[in] 灞炴�х鍙�</ch></para><para><en>[in] Feature symbol</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetEnumFeatureEntryList_Net(System.String,EasyIDSDK_Net.EidCamera.EidEnumFeatureEntryList@)">
+ <summary>
+ <para><ch>鑾峰彇鏋氫妇鍨嬪睘鎬ф潯鐩垪琛�</ch></para>
+ <para><en>Get enum feature entry list</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="entryList"><para><ch>[out] 鏋氫妇鏉$洰鍒楄〃</ch></para><para><en>[out] Pointer to a EidEnumFeatureEntryList structure to receive the enum entry list</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidExecCommandFeature_Net(System.String)">
+ <summary>
+ <para><ch>鎵ц鍛戒护琛屽睘鎬�</ch></para>
+ <para><en>Execute command feature</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidEnumFeatureChildren_Net(System.String,EasyIDSDK_Net.EidCamera.EidEnumFeatureChildrenCallback,System.IntPtr)">
+ <summary>
+ <para><ch>鏋氫妇瀛愬睘鎬�</ch></para>
+ <para><en>Enum Feature Children</en></para>
+ </summary>
+ <param name="name"><para><ch>[in] 灞炴�у悕绉�</ch></para><para><en>[in] Feature name</en></para></param>
+ <param name="fn"><para><ch>[in] 鍥炶皟鍑芥暟, 姣忎釜瀛愬睘鎬ч兘灏嗕細瑙﹀彂涓�娆¤鍑芥暟鐨勮皟鐢�</ch></para><para><en>[in] callback function, each child feature will invoke this method</en></para></param>
+ <param name="userData"><para><ch>[in] 鐢ㄦ埛鏁版嵁</ch></para><para><en>[in] user data for callback function</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidStartGrabbing_Net(System.Int32)">
+ <summary>
+ <para><ch>寮�濮嬪彇娴�</ch></para>
+ <para><en>Start grabbing, then you can get the camera frame through #eidGetFrame</en></para>
+ </summary>
+ <param name="bufferCount"><para><ch>[in] 甯х紦瀛樻暟閲�, 0琛ㄧず浣跨敤榛樿缂撳瓨鏁�, >0浣跨敤璁剧疆鐨勭紦瀛樻暟</ch></para><para><en>[in] The number of frame buffers, 0 means to use the default number of buffers, >0 to use the set number of buffers</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidStopGrabbing_Net">
+ <summary>
+ <para><ch>鍋滄鍙栨祦</ch></para>
+ <para><en>Stop grabbing</en></para>
+ </summary>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidIsGrabbing_Net">
+ <summary>
+ <para><ch>鏄惁姝e湪鍙栨祦</ch></para>
+ <para><en>Check whether it is grabbing or not</en></para>
+ </summary>
+ <returns><para><ch>濡傛灉姝e湪鍙栨祦, 杩斿洖true; 鍚﹀垯杩斿洖false</ch></para><para><en>Returns true if it is grabbing; otherwise returns false</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidClearFrameBuffer_Net">
+ <summary>
+ <para><ch>娓呴櫎甯ф暟鎹紦瀛�</ch></para>
+ <para><en>clear frame buffer cache</en></para>
+ </summary>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetFrame_Net(System.UInt32)">
+ <summary>
+ <para><ch>鑾峰彇涓�甯у浘鍍�, 鑻ョ浉鏈哄紑鍚簡璇荤爜鍔熻兘, 甯ф暟鎹腑鍚屾椂鎼哄甫鏉$爜淇℃伅.</ch></para>
+ <para><en>Get a frame. If the code reading function is enabled, the frame data also carries the barcode information.</en></para>
+ </summary>
+ <param name="timeout"><para><ch>[in] 瓒呮椂鏃堕棿, 鍗曚綅: 姣. 褰撳�间负-1鏃惰〃绀烘棤闄愮瓑寰�</ch></para><para><en>[in] Timeout, in ms, when the value is -1, it means infinite wait</en></para></param>
+ <returns><para><ch>甯ф暟鎹彞鏌�, 澶辫触杩斿洖 nullptr</ch></para><para><en>Frame handle, failure returns nullptr</en></para></returns>
+ <remarks><para><ch>璇ユ帴鍙e皢瀵艰嚧绾跨▼闃诲, 鐩村埌鏀跺埌鍥惧儚鎴栬�呭埌杈捐秴鏃舵椂闂�. 杩斿洖鐨勫彞鏌勯渶瑕侀�氳繃 #eidReleaseFrame_Net 杩涜閲婃斁</ch></para><para><en>This method will block the thread until the timeout is reached.
+ The returned handle needs to be released through #eidReleaseFrame_Net</en></para></remarks>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidReleaseFrame_Net(System.IntPtr@)">
+ <summary>
+ <para><ch>閲婃斁涓�甯у浘鍍�</ch></para>
+ <para><en>Release a frame</en></para>
+ </summary>
+ <param name="frame"><para><ch>甯ф暟鎹彞鏌�</ch></para><para><en>Frame handle</en></para></param>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidIsFrameValid_Net(System.IntPtr)">
+ <summary>
+ <para><ch>甯у彞鏌勬槸鍚︽湁鏁�</ch></para>
+ <para><en>Is the frame handle valid</en></para>
+ </summary>
+ <param name="frame"><para><ch>[in] 甯у彞鏌�</ch></para><para><en>[in] Frame handle</en></para></param>
+ <returns><para><ch>true 鏈夋晥,false 鏃犳晥</ch></para><para><en>true Valid,false Not valid</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidGetFrameInfo_Net(System.IntPtr,EasyIDSDK_Net.EidCamera.EidFrameInfo@)">
+ <summary>
+ <para><ch>鑾峰彇甯т俊鎭�. 甯т俊鎭噷鍚屾椂鍖呭惈鍥惧儚鏁版嵁鍜屾潯鐮佹暟鎹�</ch></para>
+ <para><en>Get frame information. The frame information contains both image data and barcode data</en></para>
+ </summary>
+ <param name="frame"><para><ch>[in] 甯у彞鏌�</ch></para><para><en>[in] Frame handle</en></para></param>
+ <param name="info"><para><ch>[out] 甯т俊鎭�</ch></para><para><en>[out] Frame information</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidRegisterFrameCallback_Net(EasyIDSDK_Net.EidCamera.EidFrameCallback,System.IntPtr)">
+ <summary>
+ <para><ch>娉ㄥ唽甯ф暟鎹洖璋�</ch></para>
+ <para><en>Register frame data callback</en></para>
+ </summary>
+ <param name="cb"><para><ch>[in] 甯ф暟鎹洖璋冨嚱鏁�</ch></para><para><en>[in] A pointer to frame data callback function</en></para></param>
+ <param name="userData"><para><ch>[in] 鐢ㄦ埛鏁版嵁</ch></para><para><en>[in] User data to be passed to callback function</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidRegisterConnectionCallback_Net(EasyIDSDK_Net.EidCamera.EidConnectionCallback,System.IntPtr)">
+ <summary>
+ <para><ch>娉ㄥ唽璁惧杩炴帴淇℃伅鍥炶皟</ch></para>
+ <para><en>Register device connection information callback</en></para>
+ </summary>
+ <param name="cb"><para><ch>[in] 杩炴帴淇℃伅鍥炶皟鍑芥暟</ch></para><para><en>[in] A pointer to device connection information callback function</en></para></param>
+ <param name="userData"><para><ch>[in] 鐢ㄦ埛鏁版嵁</ch></para><para><en>[in] User data to be passed to callback function</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="M:EasyIDSDK_Net.EidCamera.eidRegisterFeatureUpdateCallback_Net(EasyIDSDK_Net.EidCamera.EidFeatureUpdateCallback,System.IntPtr)">
+ <summary>
+ <para><ch>娉ㄥ唽璁惧灞炴�ф洿鏂板洖璋�</ch></para>
+ <para><en>Register device feature update callback</en></para>
+ </summary>
+ <param name="cb"><para><ch>[in] 灞炴�ф洿鏂板洖璋冨嚱鏁�</ch></para><para><en>[in] A pointer to device feature update callback function</en></para></param>
+ <param name="userData"><para><ch>[in] 鐢ㄦ埛鏁版嵁</ch></para><para><en>[in] User data to be passed to callback function</en></para></param>
+ <returns><para><ch>閿欒鐮�, 0-鎴愬姛, 鍏朵粬-閿欒鐮�</ch></para><para><en>Error code, 0-success, other-error code</en></para></returns>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidFeatureType">
+ <summary>
+ <para><ch>灞炴�х被鍨�</ch></para>
+ <para><en>Feature type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeUnknown">
+ <summary>
+ <para><ch>鏈畾涔�</ch></para>
+ <para><en>Undefined</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeInt">
+ <summary>
+ <para><ch>鏁村瀷鏁�</ch></para>
+ <para><en>Integer</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeFloat">
+ <summary>
+ <para><ch>娴偣鏁�</ch></para>
+ <para><en>Float</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeEnum">
+ <summary>
+ <para><ch>鏋氫妇</ch></para>
+ <para><en>Enumeration</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeBool">
+ <summary>
+ <para><ch>甯冨皵</ch></para>
+ <para><en>Bool</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeString">
+ <summary>
+ <para><ch>瀛楃涓�</ch></para>
+ <para><en>String</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeCommand">
+ <summary>
+ <para><ch>鍛戒护</ch></para>
+ <para><en>Command</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFeatureType.eidFeatureTypeGroup">
+ <summary>
+ <para><ch>鍒嗙粍</ch></para>
+ <para><en>Group</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidInterfaceType">
+ <summary>
+ <para><ch>鎺ュ彛绫诲瀷</ch></para>
+ <para><en>Interface type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidInterfaceType.eidInterfaceTypeUnknown">
+ <summary>
+ <para><ch>鏈煡鎺ュ彛绫诲瀷</ch></para>
+ <para><en>Unknown interface type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidInterfaceType.eidInterfaceTypeGige">
+ <summary>
+ <para><ch>缃戝崱鎺ュ彛绫诲瀷</ch></para>
+ <para><en>NIC type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidInterfaceType.eidInterfaceTypeUsb">
+ <summary>
+ <para><ch>USB鎺ュ彛绫诲瀷</ch></para>
+ <para><en>USB interface type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidInterfaceType.eidInterfaceTypeAll">
+ <summary>
+ <para><ch>鎵�鏈夋帴鍙g被鍨�</ch></para>
+ <para><en>All interface type</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidDeviceType">
+ <summary>
+ <para><ch>璁惧绫诲瀷</ch></para>
+ <para><en>Device type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceType.eidDeviceTypeUnknown">
+ <summary>
+ <para><ch>鏈煡绫诲瀷</ch></para>
+ <para><en>Unknown type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceType.eidDeviceTypeGige">
+ <summary>
+ <para><ch>GIGE鐩告満</ch></para>
+ <para><en>GigE Camera</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceType.eidDeviceTypeUSB">
+ <summary>
+ <para><ch>USB鐩告満</ch></para>
+ <para><en>USB Camera</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidDeviceDataType">
+ <summary>
+ <para><ch>璁惧鏁版嵁绫诲瀷, 鐢ㄤ簬 #eidCreateDevice 鍑芥暟</ch></para>
+ <para><en>Device data type, used in the #eidCreateDevice function</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceDataType.eidDeviceDataTypeID">
+ <summary>
+ <para><ch>璁惧ID</ch></para>
+ <para><en>Device ID</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceDataType.eidDeviceDataTypeSN">
+ <summary>
+ <para><ch>搴忓垪鍙�</ch></para>
+ <para><en>Serial number</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceDataType.eidDeviceDataTypeIP">
+ <summary>
+ <para><ch>IP鍦板潃</ch></para>
+ <para><en>IP address</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceDataType.eidDeviceDataTypeMAC">
+ <summary>
+ <para><ch>MAC鍦板潃</ch></para>
+ <para><en>MAC address</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidPixelFormat">
+ <summary>
+ <para><ch>鍥惧儚鍍忕礌鏍煎紡</ch></para>
+ <para><en>Image pixel format</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelUnknwon">
+ <summary>
+ <para><ch>鏈煡</ch></para>
+ <para><en>Unknown</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono1p">
+ <summary>
+ <para><ch>Mono1p</ch></para>
+ <para><en>Mono1p</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono2p">
+ <summary>
+ <para><ch>Mono2p</ch></para>
+ <para><en>Mono2p</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono4p">
+ <summary>
+ <para><ch>Mono4p</ch></para>
+ <para><en>Mono4p</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono8">
+ <summary>
+ <para><ch>Mono8</ch></para>
+ <para><en>Mono8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono8S">
+ <summary>
+ <para><ch>Mono8S</ch></para>
+ <para><en>Mono8S</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono10">
+ <summary>
+ <para><ch>Mono10</ch></para>
+ <para><en>Mono10</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono10Packed">
+ <summary>
+ <para><ch>Mono10Packed</ch></para>
+ <para><en>Mono10Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono12">
+ <summary>
+ <para><ch>Mono12</ch></para>
+ <para><en>Mono12</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono12Packed">
+ <summary>
+ <para><ch>Mono12Packed</ch></para>
+ <para><en>Mono12Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono14">
+ <summary>
+ <para><ch>Mono14</ch></para>
+ <para><en>Mono14</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelMono16">
+ <summary>
+ <para><ch>Mono16</ch></para>
+ <para><en>Mono16</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGR8">
+ <summary>
+ <para><ch>BayGR8</ch></para>
+ <para><en>BayGR8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayRG8">
+ <summary>
+ <para><ch>BayRG8</ch></para>
+ <para><en>BayRG8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGB8">
+ <summary>
+ <para><ch>BayGB8</ch></para>
+ <para><en>BayGB8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayBG8">
+ <summary>
+ <para><ch>BayBG8</ch></para>
+ <para><en>BayBG8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGR10">
+ <summary>
+ <para><ch>BayGR10</ch></para>
+ <para><en>BayGR10</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayRG10">
+ <summary>
+ <para><ch>BayRG10</ch></para>
+ <para><en>BayRG10</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGB10">
+ <summary>
+ <para><ch>BayGB10</ch></para>
+ <para><en>BayGB10</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayBG10">
+ <summary>
+ <para><ch>BayBG10</ch></para>
+ <para><en>BayBG10</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGR12">
+ <summary>
+ <para><ch>BayGR12</ch></para>
+ <para><en>BayGR12</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayRG12">
+ <summary>
+ <para><ch>BayRG12</ch></para>
+ <para><en>BayRG12</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGB12">
+ <summary>
+ <para><ch>BayGB12</ch></para>
+ <para><en>BayGB12</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayBG12">
+ <summary>
+ <para><ch>BayBG12</ch></para>
+ <para><en>BayBG12</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGR10Packed">
+ <summary>
+ <para><ch>BayGR10Packed</ch></para>
+ <para><en>BayGR10Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayRG10Packed">
+ <summary>
+ <para><ch>BayRG10Packed</ch></para>
+ <para><en>BayRG10Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGB10Packed">
+ <summary>
+ <para><ch>BayGB10Packed</ch></para>
+ <para><en>BayGB10Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayBG10Packed">
+ <summary>
+ <para><ch>BayBG10Packed</ch></para>
+ <para><en>BayBG10Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGR12Packed">
+ <summary>
+ <para><ch>BayGR12Packed</ch></para>
+ <para><en>BayGR12Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayRG12Packed">
+ <summary>
+ <para><ch>BayRG12Packed</ch></para>
+ <para><en>BayRG12Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGB12Packed">
+ <summary>
+ <para><ch>BayGB12Packed</ch></para>
+ <para><en>BayGB12Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayBG12Packed">
+ <summary>
+ <para><ch>BayBG12Packed</ch></para>
+ <para><en>BayBG12Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGR16">
+ <summary>
+ <para><ch>BayGR16</ch></para>
+ <para><en>BayGR16</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayRG16">
+ <summary>
+ <para><ch>BayRG16</ch></para>
+ <para><en>BayRG16</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayGB16">
+ <summary>
+ <para><ch>BayGB16</ch></para>
+ <para><en>BayGB16</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBayBG16">
+ <summary>
+ <para><ch>BayBG16</ch></para>
+ <para><en>BayBG16</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB8">
+ <summary>
+ <para><ch>RGB8</ch></para>
+ <para><en>RGB8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBGR8">
+ <summary>
+ <para><ch>BGR8</ch></para>
+ <para><en>BGR8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGBA8">
+ <summary>
+ <para><ch>RGBA8</ch></para>
+ <para><en>RGBA8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBGRA8">
+ <summary>
+ <para><ch>BGRA8</ch></para>
+ <para><en>BGRA8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB10">
+ <summary>
+ <para><ch>RGB10</ch></para>
+ <para><en>RGB10</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBGR10">
+ <summary>
+ <para><ch>BGR10</ch></para>
+ <para><en>BGR10</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB12">
+ <summary>
+ <para><ch>RGB12</ch></para>
+ <para><en>RGB12</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBGR12">
+ <summary>
+ <para><ch>BGR12</ch></para>
+ <para><en>BGR12</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB16">
+ <summary>
+ <para><ch>RGB16</ch></para>
+ <para><en>RGB16</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB10V1Packed">
+ <summary>
+ <para><ch>RGB10V1Packed</ch></para>
+ <para><en>RGB10V1Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB10P32">
+ <summary>
+ <para><ch>RGB10P32</ch></para>
+ <para><en>RGB10P32</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB12V1Packed">
+ <summary>
+ <para><ch>RGB12V1Packed</ch></para>
+ <para><en>RGB12V1Packed</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB565P">
+ <summary>
+ <para><ch>RGB565P</ch></para>
+ <para><en>RGB565P</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelBGR565P">
+ <summary>
+ <para><ch>BGR565P</ch></para>
+ <para><en>BGR565P</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYUV411_8_UYYVYY">
+ <summary>
+ <para><ch>YUV411_8_UYYVYY</ch></para>
+ <para><en>YUV411_8_UYYVYY</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYUV422_8_UYVY">
+ <summary>
+ <para><ch>YUV422_8_UYVY</ch></para>
+ <para><en>YUV422_8_UYVY</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYUV422_8">
+ <summary>
+ <para><ch>YUV422_8 </ch></para>
+ <para><en>YUV422_8 </en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYUV8_UYV">
+ <summary>
+ <para><ch>YUV8_UYV</ch></para>
+ <para><en>YUV8_UYV</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr8CbYCr">
+ <summary>
+ <para><ch>YCbCr8CbYCr</ch></para>
+ <para><en>YCbCr8CbYCr</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr422_8">
+ <summary>
+ <para><ch>YCbCr422_8</ch></para>
+ <para><en>YCbCr422_8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr422_8_CbYCrY">
+ <summary>
+ <para><ch>YCbCr422_8_CbYCrY</ch></para>
+ <para><en>YCbCr422_8_CbYCrY</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr411_8_CbYYCrYY">
+ <summary>
+ <para><ch>YCbCr411_8_CbYYCrYY</ch></para>
+ <para><en>YCbCr411_8_CbYYCrYY</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr601_8_CbYCr">
+ <summary>
+ <para><ch>YCbCr601_8_CbYCr</ch></para>
+ <para><en>YCbCr601_8_CbYCr</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr601_422_8">
+ <summary>
+ <para><ch>YCbCr601_422_8</ch></para>
+ <para><en>YCbCr601_422_8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr601_422_8_CbYCrY">
+ <summary>
+ <para><ch>YCbCr601_422_8_CbYCrY</ch></para>
+ <para><en>YCbCr601_422_8_CbYCrY</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr601_411_8_CbYYCrYY">
+ <summary>
+ <para><ch>YCbCr601_411_8_CbYYCrYY</ch></para>
+ <para><en>YCbCr601_411_8_CbYYCrYY</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr709_8_CbYCr">
+ <summary>
+ <para><ch>YCbCr709_8_CbYCr</ch></para>
+ <para><en>YCbCr709_8_CbYCr</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr709_422_8">
+ <summary>
+ <para><ch>YCbCr709_422_8</ch></para>
+ <para><en>YCbCr709_422_8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr709_422_8_CbYCrY">
+ <summary>
+ <para><ch>YCbCr709_422_8_CbYCrY</ch></para>
+ <para><en>YCbCr709_422_8_CbYCrY</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelYCbCr709_411_8_CbYYCrYY">
+ <summary>
+ <para><ch>YCbCr709_411_8_CbYYCrYY</ch></para>
+ <para><en>YCbCr709_411_8_CbYYCrYY</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB8Planar">
+ <summary>
+ <para><ch>RGB8Planar</ch></para>
+ <para><en>RGB8Planar</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB10Planar">
+ <summary>
+ <para><ch>RGB10Planar</ch></para>
+ <para><en>RGB10Planar</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB12Planar">
+ <summary>
+ <para><ch>RGB12Planar</ch></para>
+ <para><en>RGB12Planar</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPixelFormat.eidPixelRGB16Planar">
+ <summary>
+ <para><ch>RGB16Planar</ch></para>
+ <para><en>RGB16Planar</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidReadState">
+ <summary>
+ <para><ch>璇荤爜鐘舵��</ch></para>
+ <para><en>Code reading state</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStateUnknown">
+ <summary>
+ <para><ch>鏈煡</ch></para>
+ <para><en>Unknown</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStateNA">
+ <summary>
+ <para><ch>鏃犳晥</ch></para>
+ <para><en>Not available</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStateComplete">
+ <summary>
+ <para><ch>鍏ㄩ儴</ch></para>
+ <para><en>Complete</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStateNoRead">
+ <summary>
+ <para><ch>鏃犳潯鐮�</ch></para>
+ <para><en>No code was read</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStatePartial">
+ <summary>
+ <para><ch>閮ㄥ垎</ch></para>
+ <para><en>Partial</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStateFail">
+ <summary>
+ <para><ch>澶辫触</ch></para>
+ <para><en>Fail</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStatePhaseNA">
+ <summary>
+ <para><ch>鏃犳晥(Phase妯″紡)</ch></para>
+ <para><en>Not available(Phase mode)</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStatePhaseComplete">
+ <summary>
+ <para><ch>鍏ㄩ儴(Phase妯″紡)</ch></para>
+ <para><en>Complete(Phase mode)</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStatePhaseNoRead">
+ <summary>
+ <para><ch>鏃犳潯鐮�(Phase妯″紡)</ch></para>
+ <para><en>No code was read(Phase mode)</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStatePhasePartial">
+ <summary>
+ <para><ch>閮ㄥ垎(Phase妯″紡)</ch></para>
+ <para><en>Partial(Phase mode)</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidReadState.eidReadStatePhaseFail">
+ <summary>
+ <para><ch>澶辫触(Phase妯″紡)</ch></para>
+ <para><en>Fail(Phase mode)</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidBarcodeType">
+ <summary>
+ <para><ch>鐮佺被鍨�</ch></para>
+ <para><en>Barcode type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeUnknown">
+ <summary>
+ <para><ch>鏈煡</ch></para>
+ <para><en>Unknown</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeEAN8">
+ <summary>
+ <para><ch>EAN8</ch></para>
+ <para><en>EAN8</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeEAN13">
+ <summary>
+ <para><ch>EAN13</ch></para>
+ <para><en>EAN13 type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCode39">
+ <summary>
+ <para><ch>Code39</ch></para>
+ <para><en>Code39</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCode93">
+ <summary>
+ <para><ch>Code93</ch></para>
+ <para><en>Code93</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCode128">
+ <summary>
+ <para><ch>Code128</ch></para>
+ <para><en>Code128</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeUPCA">
+ <summary>
+ <para><ch>UPCA</ch></para>
+ <para><en>UPCA</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeUPCE">
+ <summary>
+ <para><ch>UPCE</ch></para>
+ <para><en>UPCE</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeITF25">
+ <summary>
+ <para><ch>ITF25</ch></para>
+ <para><en>ITF25</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCODABAR">
+ <summary>
+ <para><ch>CODABAR</ch></para>
+ <para><en>CODABAR</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCODE128A">
+ <summary>
+ <para><ch>CODE128A</ch></para>
+ <para><en>CODE128A</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCODE128B">
+ <summary>
+ <para><ch>CODE128B</ch></para>
+ <para><en>CODE128B</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeCODE128C">
+ <summary>
+ <para><ch>CODE128C</ch></para>
+ <para><en>CODE128C</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeQR">
+ <summary>
+ <para><ch>QR</ch></para>
+ <para><en>QR</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeDM">
+ <summary>
+ <para><ch>DM</ch></para>
+ <para><en>DM</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypePDF417">
+ <summary>
+ <para><ch>PDF417</ch></para>
+ <para><en>PDF417</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidBarcodeType.eidCodeTypeVERICODE">
+ <summary>
+ <para><ch>VERICODE</ch></para>
+ <para><en>VERICODE</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidConnectionState">
+ <summary>
+ <para><ch>杩炴帴浜嬩欢绫诲瀷</ch></para>
+ <para><en>Connect event type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidConnectionState.eidConnStateOffline">
+ <summary>
+ <para><ch>绂荤嚎</ch></para>
+ <para><en>Offline</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidConnectionState.eidConnStateOnline">
+ <summary>
+ <para><ch>鍦ㄧ嚎</ch></para>
+ <para><en>Online</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo">
+ <summary>
+ <para><ch>GigE璁惧淇℃伅</ch></para>
+ <para><en>GigE device info</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo.macAddress">
+ <summary>
+ <para><ch>璁惧Mac鍦板潃</ch></para>
+ <para><en>Device MAC Address</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo.ipAddress">
+ <summary>
+ <para><ch>璁惧Ip鍦板潃</ch></para>
+ <para><en>Device ip Address</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo.subnetMask">
+ <summary>
+ <para><ch>瀛愮綉鎺╃爜</ch></para>
+ <para><en>SubnetMask</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo.defaultGateWay">
+ <summary>
+ <para><ch>榛樿缃戝叧</ch></para>
+ <para><en>Default GateWay</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo.isIpValid">
+ <summary>
+ <para><ch>Ip鏄惁鏈夋晥</ch></para>
+ <para><en>Ip valid</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidGigeDeviceInfo.chReserved">
+ <summary>
+ <para><ch>淇濈暀</ch></para>
+ <para><en>Reserved field</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidDeviceInfo">
+ <summary>
+ <para><ch>璁惧淇℃伅</ch></para>
+ <para><en>Device info</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.deviceType">
+ <summary>
+ <para><ch>璁惧绫诲埆</ch></para>
+ <para><en>Device type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.interfaceType">
+ <summary>
+ <para><ch>鎺ュ彛绫诲埆</ch></para>
+ <para><en>Interface type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.deviceID">
+ <summary>
+ <para><ch>璁惧ID</ch></para>
+ <para><en>Device ID</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.cameraName">
+ <summary>
+ <para><ch>鐢ㄦ埛鑷畾涔夊悕</ch></para>
+ <para><en>User defined name</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.serialNumber">
+ <summary>
+ <para><ch>璁惧搴忓垪鍙�</ch></para>
+ <para><en>Device serial number</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.vendorName">
+ <summary>
+ <para><ch>鍘傚晢</ch></para>
+ <para><en>Device vendor</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.modelName">
+ <summary>
+ <para><ch>璁惧鍨嬪彿</ch></para>
+ <para><en>Device model</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.manufactureInfo">
+ <summary>
+ <para><ch>璁惧鍒堕�犱俊鎭�</ch></para>
+ <para><en>Device manufacture</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.deviceVersion">
+ <summary>
+ <para><ch>璁惧鐗堟湰</ch></para>
+ <para><en>Device version</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.interfaceName">
+ <summary>
+ <para><ch>鎺ュ彛鍚�</ch></para>
+ <para><en>Interface name</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reseved</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.stSpecialInfo">
+ <summary>
+ <para><ch>鍏蜂綋璁惧淇℃伅</ch></para>
+ <para><en>special device Info</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidDeviceInfo.SPECIAL_INFO">
+ <summary>
+ <para><ch>鍏蜂綋璁惧淇℃伅</ch></para>
+ <para><en>special device Info</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceInfo.SPECIAL_INFO.gigeDeviceInfo">
+ <summary>
+ <para><ch>Gige璁惧淇℃伅</ch></para>
+ <para><en>Gige device info</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidDeviceList">
+ <summary>
+ <para><ch>璁惧淇℃伅鍒楄〃</ch></para>
+ <para><en>Device information list</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceList.num">
+ <summary>
+ <para><ch>璁惧鏁伴噺</ch></para>
+ <para><en>Device Number</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceList.infos">
+ <summary>
+ <para><ch>璁惧淇℃伅鍒楄〃</ch></para>
+ <para><en>Device information list</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidDeviceList.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reserved</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidErrorList">
+ <summary>
+ <para><ch>閿欒鍒楄〃</ch></para>
+ <para><en>Error list</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidErrorList.num">
+ <summary>
+ <para><ch>澶辫触鐨勫睘鎬ф暟閲�</ch></para>
+ <para><en>Number of failed features</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidErrorList.names">
+ <summary>
+ <para><ch>澶辫触灞炴�у悕鍒楄〃</ch></para>
+ <para><en>Error feature name list</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidErrorList.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reserved</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidIntFeatureInfo">
+ <summary>
+ <para><ch>鏁村瀷灞炴�т俊鎭�</ch></para>
+ <para><en>int feature information</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidIntFeatureInfo.current">
+ <summary>
+ <para><ch>褰撳墠鍊�</ch></para>
+ <para><en>Current value</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidIntFeatureInfo.min">
+ <summary>
+ <para><ch>鏈�灏忓��</ch></para>
+ <para><en>Minimum value</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidIntFeatureInfo.max">
+ <summary>
+ <para><ch>鏈�澶у��</ch></para>
+ <para><en>Maximum value</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidIntFeatureInfo.inc">
+ <summary>
+ <para><ch>澧為噺</ch></para>
+ <para><en>Increment</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidIntFeatureInfo.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reserved</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo">
+ <summary>
+ <para><ch>娴偣鍨嬪睘鎬т俊鎭�</ch></para>
+ <para><en>float feature information</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo.current">
+ <summary>
+ <para><ch>褰撳墠鍊�</ch></para>
+ <para><en>Current value</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo.min">
+ <summary>
+ <para><ch>鏈�灏忓��</ch></para>
+ <para><en>Minimum value</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo.max">
+ <summary>
+ <para><ch>鏈�澶у��</ch></para>
+ <para><en>Maximum value</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo.unit">
+ <summary>
+ <para><ch>鍗曚綅</ch></para>
+ <para><en>Unit</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFloatFeatureInfo.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reserved</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidStringFeatureInfo">
+ <summary>
+ <para><ch>瀛楃涓插瀷灞炴�т俊鎭�</ch></para>
+ <para><en>String feature information</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidStringFeatureInfo.maxLen">
+ <summary>
+ <para><ch>鏈�澶ч暱搴�</ch></para>
+ <para><en>The maximum length of the String</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidStringFeatureInfo.value">
+ <summary>
+ <para><ch>褰撳墠鍊�</ch></para>
+ <para><en>Current value</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidStringFeatureInfo.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reserved</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidEnumFeatureEntry">
+ <summary>
+ <para><ch>鏋氫妇鍨嬪睘鎬ф潯鐩�</ch></para>
+ <para><en>enum feature entry</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidEnumFeatureEntry.value">
+ <summary>
+ <para><ch>鍊�</ch></para>
+ <para><en>Value</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidEnumFeatureEntry.name">
+ <summary>
+ <para><ch>鍚嶇О</ch></para>
+ <para><en>Current Name</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidEnumFeatureEntryList">
+ <summary>
+ <para><ch>鏋氫妇鍨嬪睘鎬т俊鎭�</ch></para>
+ <para><en>enum feature information</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidEnumFeatureEntryList.num">
+ <summary>
+ <para><ch>鏁伴噺</ch></para>
+ <para><en>count</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidEnumFeatureEntryList.entryList">
+ <summary>
+ <para><ch>鏉$洰鍒楄〃</ch></para>
+ <para><en>Entry list</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidPoint">
+ <summary>
+ <para><ch>浜岀淮鍧愭爣鐐�</ch></para>
+ <para><en>2D coordinate point</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPoint.x">
+ <summary>
+ <para><ch>x鍧愭爣</ch></para>
+ <para><en>x-coordinate</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidPoint.y">
+ <summary>
+ <para><ch>y鍧愭爣</ch></para>
+ <para><en>y-coordinate</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidCodeInfo">
+ <summary>
+ <para><ch>鏉$爜淇℃伅</ch></para>
+ <para><en>Barcode information</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidCodeInfo.type">
+ <summary>
+ <para><ch>绫诲瀷</ch></para>
+ <para><en>Code type</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidCodeInfo.ppm">
+ <summary>
+ <para><ch>PPM</ch></para>
+ <para><en>PPM</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidCodeInfo.position">
+ <summary>
+ <para><ch>浣嶇疆, 4涓偣</ch></para>
+ <para><en>Position, 4 points</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidCodeInfo.data">
+ <summary>
+ <para><ch>鍐呭</ch></para>
+ <para><en>Code content</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidCodeInfo.typeName">
+ <summary>
+ <para><ch>绫诲瀷鍚嶇О</ch></para>
+ <para><en>Code type name</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidCodeInfo.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reserved</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidFrameInfo">
+ <summary>
+ <para><ch>甯т俊鎭�</ch></para>
+ <para><en>Frame information</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.id">
+ <summary>
+ <para><ch>甯D</ch></para>
+ <para><en>Frame block ID</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.timestamp">
+ <summary>
+ <para><ch>鏃堕棿鎴�</ch></para>
+ <para><en>Timestamp</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.width">
+ <summary>
+ <para><ch>鍥惧儚瀹藉害</ch></para>
+ <para><en>Image width</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.height">
+ <summary>
+ <para><ch>鍥惧儚楂樺害</ch></para>
+ <para><en>Image height</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.format">
+ <summary>
+ <para><ch>鍍忕礌鏍煎紡</ch></para>
+ <para><en>Pixel format</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.readState">
+ <summary>
+ <para><ch>璇荤爜鐘舵��</ch></para>
+ <para><en>Code reading state</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.codeNum">
+ <summary>
+ <para><ch>鏉$爜鏁伴噺</ch></para>
+ <para><en>Number of barcodes</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.imageDataLen">
+ <summary>
+ <para><ch>鍥惧儚鏁版嵁闀垮害</ch></para>
+ <para><en>Length of image data</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.imageData">
+ <summary>
+ <para><ch>鍥惧儚鏁版嵁</ch></para>
+ <para><en>Image data</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.codeList">
+ <summary>
+ <para><ch>鏉$爜淇℃伅鍒�</ch></para>
+ <para><en>Barcode information list</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.isJpeg">
+ <summary>
+ <para><ch>鏄惁jpeg鍥�</ch></para>
+ <para><en>Is jpeg image</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidFrameInfo.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reserved</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidConnectionInfo">
+ <summary>
+ <para><ch>杩炴帴淇℃伅</ch></para>
+ <para><en>Connetion information</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidConnectionInfo.state">
+ <summary>
+ <para><ch>杩炴帴鐘舵��</ch></para>
+ <para><en>Connetion state</en></para>
+ </summary>
+ </member>
+ <member name="F:EasyIDSDK_Net.EidCamera.EidConnectionInfo.reserved">
+ <summary>
+ <para><ch>棰勭暀浣�</ch></para>
+ <para><en>Reserved</en></para>
+ </summary>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidFrameCallback">
+ <summary>
+ <para><ch>甯ф暟鎹洖璋冨嚱鏁�</ch></para>
+ <para><en>Frame data callback function</en></para>
+ </summary>
+ <param name="frameInfo"><para><ch>甯т俊鎭�</ch></para><para><en>frameInfo Frame info</en></para></param>
+ <param name="userData"><para><ch>鐢ㄦ埛鏁版嵁</ch></para><para><en>userData User data</en></para></param>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidConnectionCallback">
+ <summary>
+ <para><ch>璁惧杩炴帴淇℃伅鍥炶皟鍑芥暟</ch></para>
+ <para><en>Device connection information callback function</en></para>
+ </summary>
+ <param name="frameInfo"><para><ch>杩炴帴淇℃伅</ch></para><para><en>info Connection infomation</en></para></param>
+ <param name="userData"><para><ch>鐢ㄦ埛鏁版嵁</ch></para><para><en>userData User data</en></para></param>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidFeatureUpdateCallback">
+ <summary>
+ <para><ch>璁惧灞炴�ф洿鏂板洖璋冨嚱鏁�</ch></para>
+ <para><en>Device feature update callback function</en></para>
+ </summary>
+ <param name="name"><para><ch>灞炴�у悕绉�</ch></para><para><en>name Device feature name</en></para></param>
+ <param name="userData"><para><ch>鐢ㄦ埛鏁版嵁</ch></para><para><en>userData User data</en></para></param>
+ </member>
+ <member name="T:EasyIDSDK_Net.EidCamera.EidEnumFeatureChildrenCallback">
+ <summary>
+ <para><ch>鏋氫妇瀛愬睘鎬х殑鍥炶皟鍑芥暟, 鍦� eidEnumFeatureChildren 鍑芥暟涓娇鐢�, 姣忔鎺ユ敹涓�涓瓙灞炴�х殑鍚嶇О</ch></para>
+ <para><en>Callback function used with the eidEnumFeatureChildren function. It receives children feature names</en></para>
+ </summary>
+ <param name="name"><para><ch>瀛愬睘鎬у悕绉�</ch></para><para><en>name child feature name</en></para></param>
+ <param name="userData"><para><ch>鐢ㄦ埛鏁版嵁</ch></para><para><en>userData User data</en></para></param>
+ </member>
+ </members>
+</doc>
diff --git a/LB_VisionProcesses/ref/EasyIDSDK_Net.dll b/LB_VisionProcesses/ref/EasyIDSDK_Net.dll
new file mode 100644
index 0000000..689a25d
--- /dev/null
+++ b/LB_VisionProcesses/ref/EasyIDSDK_Net.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/GCBase_MD_VC120_v3_0.dll b/LB_VisionProcesses/ref/GCBase_MD_VC120_v3_0.dll
new file mode 100644
index 0000000..fd2d3ba
--- /dev/null
+++ b/LB_VisionProcesses/ref/GCBase_MD_VC120_v3_0.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/GenApi_MD_VC120_v3_0.dll b/LB_VisionProcesses/ref/GenApi_MD_VC120_v3_0.dll
new file mode 100644
index 0000000..64acf0f
--- /dev/null
+++ b/LB_VisionProcesses/ref/GenApi_MD_VC120_v3_0.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/GenCP_MD_VC120_v3_0.dll b/LB_VisionProcesses/ref/GenCP_MD_VC120_v3_0.dll
new file mode 100644
index 0000000..f08b767
--- /dev/null
+++ b/LB_VisionProcesses/ref/GenCP_MD_VC120_v3_0.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/ImageConvert.dll b/LB_VisionProcesses/ref/ImageConvert.dll
new file mode 100644
index 0000000..d25101e
--- /dev/null
+++ b/LB_VisionProcesses/ref/ImageConvert.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/ImageSave.dll b/LB_VisionProcesses/ref/ImageSave.dll
new file mode 100644
index 0000000..02e527e
--- /dev/null
+++ b/LB_VisionProcesses/ref/ImageSave.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/Log_MD_VC120_v3_0.dll b/LB_VisionProcesses/ref/Log_MD_VC120_v3_0.dll
new file mode 100644
index 0000000..02ba75a
--- /dev/null
+++ b/LB_VisionProcesses/ref/Log_MD_VC120_v3_0.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/MVSDKmd.dll b/LB_VisionProcesses/ref/MVSDKmd.dll
index cb3b701..0a57262 100644
--- a/LB_VisionProcesses/ref/MVSDKmd.dll
+++ b/LB_VisionProcesses/ref/MVSDKmd.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/MVlog4cppmd.dll b/LB_VisionProcesses/ref/MVlog4cppmd.dll
new file mode 100644
index 0000000..be42dd1
--- /dev/null
+++ b/LB_VisionProcesses/ref/MVlog4cppmd.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/MathParser_MD_VC120_v3_0.dll b/LB_VisionProcesses/ref/MathParser_MD_VC120_v3_0.dll
new file mode 100644
index 0000000..02d6125
--- /dev/null
+++ b/LB_VisionProcesses/ref/MathParser_MD_VC120_v3_0.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/NodeMapData_MD_VC120_v3_0.dll b/LB_VisionProcesses/ref/NodeMapData_MD_VC120_v3_0.dll
new file mode 100644
index 0000000..2fc11a6
--- /dev/null
+++ b/LB_VisionProcesses/ref/NodeMapData_MD_VC120_v3_0.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/SDKLOG_default.properties b/LB_VisionProcesses/ref/SDKLOG_default.properties
new file mode 100644
index 0000000..0cd4b8f
--- /dev/null
+++ b/LB_VisionProcesses/ref/SDKLOG_default.properties
@@ -0,0 +1,15 @@
+# =======================
+# root Setting
+# =======================
+log4cpp.rootCategory = INFO
+
+# =======================
+# SDK Log Setting
+# =======================
+log4cpp.category.mvsdk = INFO, a_mvsdk
+log4cpp.appender.a_mvsdk = DailyRollingFileAppender
+log4cpp.appender.a_mvsdk.fileName = MVSDK.log
+log4cpp.appender.a_mvsdk.layout = org.apache.log4cpp.PatternLayout
+log4cpp.appender.a_mvsdk.layout.ConversionPattern = %d{%Y-%m-%d %H:%M:%S.%l} %p [tid:%t]%m%n
+log4cpp.appender.a_mvsdk.maxDaysKeep = 5
+
diff --git a/LB_VisionProcesses/ref/SharpnessDetection64.dll b/LB_VisionProcesses/ref/SharpnessDetection64.dll
new file mode 100644
index 0000000..6d25e6b
--- /dev/null
+++ b/LB_VisionProcesses/ref/SharpnessDetection64.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/VideoRender.dll b/LB_VisionProcesses/ref/VideoRender.dll
new file mode 100644
index 0000000..f51cbf4
--- /dev/null
+++ b/LB_VisionProcesses/ref/VideoRender.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/XmlParser_MD_VC120_v3_0.dll b/LB_VisionProcesses/ref/XmlParser_MD_VC120_v3_0.dll
new file mode 100644
index 0000000..c106bce
--- /dev/null
+++ b/LB_VisionProcesses/ref/XmlParser_MD_VC120_v3_0.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/clserVsp.dll b/LB_VisionProcesses/ref/clserVsp.dll
new file mode 100644
index 0000000..2710d24
--- /dev/null
+++ b/LB_VisionProcesses/ref/clserVsp.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/iImageProcessing64.dll b/LB_VisionProcesses/ref/iImageProcessing64.dll
new file mode 100644
index 0000000..3c055bf
--- /dev/null
+++ b/LB_VisionProcesses/ref/iImageProcessing64.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/libwinpthread-1.dll b/LB_VisionProcesses/ref/libwinpthread-1.dll
new file mode 100644
index 0000000..500de9d
--- /dev/null
+++ b/LB_VisionProcesses/ref/libwinpthread-1.dll
Binary files differ
diff --git a/LB_VisionProcesses/ref/log4cpp_MD_VC120_v3_0.dll b/LB_VisionProcesses/ref/log4cpp_MD_VC120_v3_0.dll
new file mode 100644
index 0000000..18e249a
--- /dev/null
+++ b/LB_VisionProcesses/ref/log4cpp_MD_VC120_v3_0.dll
Binary files differ
--
Gitblit v1.9.3