Explorar el Código

add missing files

gsp hace 1 año
padre
commit
e5359f34a9
Se han modificado 1 ficheros con 403 adiciones y 0 borrados
  1. 403 0
      OxfordExtenderWrapper/ExtenderIpcUI.cs

+ 403 - 0
OxfordExtenderWrapper/ExtenderIpcUI.cs

@@ -0,0 +1,403 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace OxfordExtenderWrapper
+{
+   public class ExtenderIpcUI: MarshalByRefObject
+    {
+        ExtenderWrapper iExtender;
+        public ExtenderIpcUI()
+        {
+            iExtender = new ExtenderWrapper();
+        }
+        public bool ConnectToEDSHardware()
+        {
+
+           return iExtender.ConnectToEDSHardware();
+
+        }
+
+        //结束
+        public void CloseExtender()
+        {
+            iExtender.CloseExtender();
+
+
+
+        }
+
+        public bool AquisitionImage(ref ImageAquistionParam p)
+        {
+            bool r = false;
+            var p1 = p;
+            var thread = new Task(() =>
+            {
+
+               r= iExtender.AquisitionImage(ref  p1);
+            });
+            //thread.IsBackground = true;
+            thread.Start();
+            thread.Wait();
+            p = p1;
+            return r;
+        }
+        public bool MoveStageXY(float x, float y)
+        {
+            var r = false;
+            var thread = new Task(() =>
+            {
+
+                r = iExtender.MoveStageXY(x,y);
+            });
+            thread.Start();
+            thread.Wait();
+            return r;
+        }
+        public bool XrayAreaCollecting(ref AreaXrayParam p)
+        {
+
+            bool r = false;
+            var p1 = p;
+            var thread = new Task(() =>
+            {
+
+                r = iExtender.XrayAreaCollecting(ref p1);
+            });
+            //thread.IsBackground = true;
+            thread.Start();
+            thread.Wait();
+            p = p1;
+            return r;
+        }
+        public bool XrayPointCollecting(ref PointXrayParam p)
+        {
+
+            bool r = false;
+            var p1 = p;
+            var thread = new Task(() =>
+            {
+
+                r = iExtender.XrayPointCollecting(ref p1);
+            });
+          
+            thread.Start();
+            thread.Wait();
+            p = p1;
+            return r;
+        }
+        public bool CollectXrayByPoints(ref List<PointXrayParam> a_listPoints, uint a_nXRayAQTime, bool a_bElementInfo)
+        {
+
+
+            bool r = false;
+            var p1 = a_listPoints;
+            var thread = new Task(() =>
+            {
+
+                r = iExtender.CollectXrayByPoints(ref p1,a_nXRayAQTime,a_bElementInfo);
+            });
+          
+            thread.Start();
+            thread.Wait();
+            a_listPoints = p1;
+            return r;
+        }
+        public bool CollectXrayByFeatures(ref List<AreaXrayParam> a_listFeatures, double a_nXRayAQTime, bool a_bElementInfo)
+        {
+
+            bool r = false;
+            var p1 = a_listFeatures;
+            var thread = new Task(() =>
+            {
+
+                r = iExtender.CollectXrayByFeatures(ref p1, a_nXRayAQTime, a_bElementInfo);
+            });
+            //thread.IsBackground = true;
+            thread.Start();
+            thread.Wait();
+            a_listFeatures = p1;
+            return r;
+
+        }
+
+
+
+      
+
+        public float GetMagnification()
+        {
+            return (float)iExtender.GetMagnification();
+        }
+        public Boolean SetMagnification(float set)
+        {
+
+            var r = false;
+            var thread = new Task(() =>
+            {
+
+                r = iExtender.SetMagnification(set);
+            });
+            thread.Start();
+            thread.Wait();
+            return r;
+        }
+
+        //焦距
+        public float GetWorkingDistance()
+        {
+            return (float)iExtender.GetWorkingDistance();
+        }
+        public Boolean SetWorkingDistance(float set)
+        {
+            var r = false;
+            var thread = new Task(() =>
+            {
+
+                r = iExtender.SetWorkingDistance(set);
+            });
+            thread.Start();
+            thread.Wait();
+            return r;
+        }
+
+        //亮度
+        public float GetBrightness()
+        {
+
+            return (float)iExtender.GetBrightness();
+        }
+        public Boolean SetBrightness(float set)
+        {
+            var r = false;
+            var thread = new Task(() =>
+            {
+
+                r = iExtender.SetBrightness(set);
+            });
+            thread.Start();
+            thread.Wait();
+            return r;
+        }
+
+        //对比度
+        public float GetContrast()
+        {
+            return (float)iExtender.GetContrast();
+        }
+        public Boolean SetContrast(float set)
+        {
+            var r = false;
+            var thread = new Task(() =>
+            {
+
+                r = iExtender.SetContrast(set);
+            });
+            thread.Start();
+            thread.Wait();
+            return r;
+        }
+
+        //SEM电压
+        public float GetSEMVoltage()
+        {
+            return (float)iExtender.GetSEMVoltage();
+        }
+        public Boolean SetSEMVoltage(float set)
+        {
+            var r = false;
+            var thread = new Task(() =>
+            {
+
+                r = iExtender.SetSEMVoltage(set);
+            });
+            thread.Start();
+            thread.Wait();
+            return r;
+        }
+        public bool SetSemScanExternal(bool b)
+        {
+            var r = false;
+            var thread = new Task(() =>
+            {
+
+                r = iExtender.SetSemScanExternal(b);
+            });
+            thread.Start();
+            thread.Wait();
+            return r;
+        }
+
+        //样品台
+        public float[] GetStagePosition()
+        {
+            float[] ret = iExtender.GetStagePosition();
+
+            return ret;
+        }
+        public Boolean SetStagePosition(float[] set)
+        {
+           
+            var r = false;
+            var thread = new Task(() =>
+            {
+
+                r = iExtender.SetStagePosition(set);
+            });
+            thread.Start();
+            thread.Wait();
+            return r;
+        }
+       
+        public Boolean SetStageGotoX(float set)
+        {
+            var r = false;
+            var thread = new Task(() =>
+            {
+
+                r = iExtender.SetStageGotoX(set);
+            });
+            thread.Start();
+            thread.Wait();
+            return r;
+        }
+        public Boolean SetStageGotoY(float set)
+        {
+            var r = false;
+            var thread = new Task(() =>
+            {
+
+                r = iExtender.SetStageGotoY(set);
+            });
+            thread.Start();
+            thread.Wait();
+            return r;
+        }
+        public Boolean SetStageGotoZ(float set)
+        {
+            var r = false;
+            var thread = new Task(() =>
+            {
+
+                r = iExtender.SetStageGotoZ(set);
+            });
+            thread.Start();
+            thread.Wait();
+            return r;
+        }
+        public Boolean SetStageGotoT(float set)
+        {
+            var r = false;
+            var thread = new Task(() =>
+            {
+
+                r = iExtender.SetStageGotoT(set);
+            });
+            thread.Start();
+            thread.Wait();
+            return r;
+        }
+        public Boolean SetStageGotoR(float set)
+        {
+            var r = false;
+            var thread = new Task(() =>
+            {
+
+                r = iExtender.SetStageGotoR(set);
+            });
+            thread.Start();
+            thread.Wait();
+            return r;
+        }
+
+        public double[] ImageScanSize =
+      {
+            32,
+            64,
+            128,
+            256,
+            512,
+            704,
+            768,
+            1024,
+            4096,
+            8192
+        };
+
+        public double DImagePixelsize { get => iExtender.DImagePixelsize; set => iExtender.DImagePixelsize = value; }
+        public float GetStageAtX()
+        {
+            return (float)iExtender.GetStageAtX();
+        }
+        public float GetStageAtY()
+        {
+            return (float)iExtender.GetStageAtY();
+        }
+        public float GetStageAtZ()
+        {
+            return (float)iExtender.GetStageAtZ();
+        }
+        public float GetStageAtT()
+        {
+            return (float)iExtender.GetStageAtT();
+        }
+        public float GetStageAtR()
+        {
+            return (float)iExtender.GetStageAtR();
+        }
+
+        #region X-ray
+
+
+
+
+
+
+
+
+
+
+
+
+        public bool IsAcquiringSpectrum()
+        {
+            return iExtender.IsAcquiringSpectrum();
+        }
+
+
+
+
+        public void BeginMultipleAquisition()
+        {
+
+            iExtender.BeginMultipleAquisition();
+        }
+
+        public void EndMultipleAquisition()
+        {
+            iExtender.EndMultipleAquisition();
+        }
+
+
+
+        public bool GetSemBeamOn()
+        {
+            return iExtender.GetSemBeamOn();
+
+        }
+        public void StopXrayAquisition()
+        {
+
+            iExtender.StopXrayAquisition();
+
+
+        }
+
+
+        #endregion
+    }
+}