Sfoglia il codice sorgente

oxford stage coordinate is base on mm,so the um data should be devided by 1000

gsp 1 anno fa
parent
commit
4aff070d62

+ 24 - 6
OTSCPP/OTSControl/OTSControl.vcxproj

@@ -929,12 +929,30 @@
     <None Include="res\OTSControl.def" />
   </ItemGroup>
   <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Drawing" />
-    <Reference Include="System.Windows" />
-    <Reference Include="System.Windows.Forms" />
-    <Reference Include="System.Xml" />
+    <Reference Include="System">
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+      <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
+    </Reference>
+    <Reference Include="System.Data">
+      <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </Reference>
+    <Reference Include="System.Drawing">
+      <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </Reference>
+    <Reference Include="System.Windows">
+      <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </Reference>
+    <Reference Include="System.Windows.Forms">
+      <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </Reference>
+    <Reference Include="System.Xml">
+      <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </Reference>
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">

+ 4 - 4
OTSIncAMeasureApp/ServiceCenter/OxfordExtender/ExtenderWrapperIpc.cs

@@ -14,10 +14,10 @@ namespace OTSMeasureApp.ServiceCenter.OxfordExtender
 {
    static class ExtenderWrapperIpc
     {
-        static ExtenderWrapper extenderRemoteObj=null;
+        static ExtenderIpcUI extenderRemoteObj =null;
       
 
-        public static  ExtenderWrapper GetExtenderWrapper()
+        public static ExtenderIpcUI GetExtenderWrapper()
         {
             if (extenderRemoteObj == null)
             {
@@ -31,7 +31,7 @@ namespace OTSMeasureApp.ServiceCenter.OxfordExtender
                     IpcClientChannel channel = new IpcClientChannel();
                     //Register the channel with ChannelServices.
                     ChannelServices.RegisterChannel(channel, false);
-                    extenderRemoteObj = (ExtenderWrapper)Activator.GetObject(typeof(ExtenderWrapper), "ipc://ExtenderServerChannel/ExtenderWrapper");
+                    extenderRemoteObj = (ExtenderIpcUI)Activator.GetObject(typeof(ExtenderIpcUI), "ipc://ExtenderServerChannel/ExtenderIpcUI");
 
                     extenderRemoteObj.ConnectToEDSHardware();
                 }
@@ -40,7 +40,7 @@ namespace OTSMeasureApp.ServiceCenter.OxfordExtender
                     IpcClientChannel channel = new IpcClientChannel();
                     //Register the channel with ChannelServices.
                     ChannelServices.RegisterChannel(channel, false);
-                    extenderRemoteObj = (ExtenderWrapper)Activator.GetObject(typeof(ExtenderWrapper), "ipc://ExtenderServerChannel/ExtenderWrapper");
+                    extenderRemoteObj = (ExtenderIpcUI)Activator.GetObject(typeof(ExtenderIpcUI), "ipc://ExtenderServerChannel/ExtenderIpcUI");
 
                     extenderRemoteObj.ConnectToEDSHardware();
 

+ 4 - 4
OTSIncAMeasureApp/ServiceCenter/OxfordExtender/OxfordEDSController.cs

@@ -15,16 +15,16 @@ namespace OTSMeasureApp.ServiceCenter
     class OxfordEDSController : IEDSController
     {
 
-        ExtenderWrapper iExtender;
+        ExtenderIpcUI iExtender;
         private int AnalyExpCount = 100000;
         private string strResolution = "";
 
-        public ExtenderWrapper GetIExtender()
+        public ExtenderIpcUI GetIExtender()
         {
             return iExtender;
         }
 
-        public void SetIExtender(ExtenderWrapper value)
+        public void SetIExtender(ExtenderIpcUI value)
         {
             iExtender = value;
         }
@@ -181,7 +181,7 @@ namespace OTSMeasureApp.ServiceCenter
 
         void IEDSController.SetResolution(int resolutionWidth, int resolutionHeight)
         {
-            throw new NotImplementedException();
+            return;
         }
 
         public bool QuantifyXrayByPart(COTSParticleClr part)

+ 1 - 1
OTSIncAMeasureApp/ServiceCenter/OxfordExtender/OxfordScanController.cs

@@ -20,7 +20,7 @@ namespace OTSMeasureApp.ServiceCenter
         int imageWidth = 0;
         int imageHeight = 0;
         double dwelltime = 0;
-        ExtenderWrapper iExtender;
+        ExtenderIpcUI iExtender;
         ImageInputSources imagesourceType;
 
         //private APIClass ApiClass = null;

+ 7 - 4
OTSIncAMeasureApp/ServiceCenter/OxfordExtender/OxfordSemController.cs

@@ -14,7 +14,7 @@ namespace OTSMeasureApp.ServiceCenter
 {
     class OxfordSemController : ISemController
     {
-        ExtenderWrapper iExtender;
+        ExtenderIpcUI iExtender;
         public OxfordSemController()
         {
   
@@ -84,9 +84,11 @@ namespace OTSMeasureApp.ServiceCenter
 
         public bool GetSemPositionXY(ref double a_dPositionX, ref double a_dPositionY, ref double a_dPositionR)
         {
-         
-          return  iExtender.MoveStageXY((float)a_dPositionX,(float) a_dPositionY);
 
+            a_dPositionX = iExtender.GetStageAtX();
+            a_dPositionY = iExtender.GetStageAtY();
+            a_dPositionR = iExtender.GetStageAtR();
+            return true;
         }
 
         public bool GetWorkingDistance(ref double a_distance)
@@ -109,7 +111,8 @@ namespace OTSMeasureApp.ServiceCenter
 
         public bool MoveSEMToPoint(double a_dPositionX, double a_dPositionY)
         {
-            return iExtender.MoveStageXY((float)a_dPositionX, (float)a_dPositionY);
+            var b= iExtender.MoveStageXY((float)a_dPositionX, (float)a_dPositionY);
+            return b;
         }
 
         public bool SetMagnification(double a_dMagnification)

+ 19 - 15
OxfordExtenderWrapper/ExtenderWrapper.cs

@@ -358,8 +358,7 @@ namespace OxfordExtenderWrapper
                 imageAcquisitionController.BeginMultipleAcquisition();
                 IEnumerable<IElectronImage> images = imageAcquisitionController.StartAcquisition(imageAcquisitionSettings);
 
-                //log.Info("拍图开始 startAcquisition 完成");
-
+              
 
                 while (true)
                 {
@@ -418,8 +417,8 @@ namespace OxfordExtenderWrapper
 
             var stageDictionary = new Dictionary<Stage, double>
                             {
-                                { Stage.StageX, (double)x },
-                                { Stage.StageY, (double)y }
+                                { Stage.StageX, (double)x/1000.0 },
+                                { Stage.StageY, (double)y /1000.0}
                             };
             m_StageUpdated = false;
             this.microscopeController.SetStageConditions(stageDictionary);
@@ -430,7 +429,10 @@ namespace OxfordExtenderWrapper
             while (!m_StageUpdated)
             {
                 Application.DoEvents();
-                 time2 = Environment.TickCount;
+              
+
+                Thread.Sleep(100);
+                time2 = Environment.TickCount;
                 if (time2-time1 > 20000)
                 {
                     currentCommand.returnType = false;
@@ -529,8 +531,8 @@ namespace OxfordExtenderWrapper
 
            
             EdSpectrumSettings.ScanSettings.AcquisitionRegion.CreatePointRegion(new System.Windows.Point(p.x * m_dImagePixelsize, p.y * m_dImagePixelsize));
-            NLog.Logger log = NLog.LogManager.GetCurrentClassLogger();
-            log.Info("开始XrayStartAcquisition:t=" + p.dMilliSecondsTime.ToString() + "pos=" + "(" + p.x.ToString() + "," + p.y.ToString() + ")");
+            //NLog.Logger log = NLog.LogManager.GetCurrentClassLogger();
+            //log.Info("开始XrayStartAcquisition:t=" + p.dMilliSecondsTime.ToString() + "pos=" + "(" + p.x.ToString() + "," + p.y.ToString() + ")");
 
 
             try
@@ -744,7 +746,7 @@ namespace OxfordExtenderWrapper
                 if (time2-time1 > EDSColletionTimeOut * 3)
                 {
                     EdSpectrumAcquisitionController.EndMultipleAcquisition();
-                    log.Warn("XrayStartAcquisition 超时!");
+                    //log.Warn("XrayStartAcquisition 超时!");
                 
                     currentCommand.returnType = false;
                     break;
@@ -850,12 +852,12 @@ namespace OxfordExtenderWrapper
 
             if (stageCapabilities.StageX.CanRead)
             {
-                this.m_dStageX = stageConditions.StageX;
+                this.m_dStageX = stageConditions.StageX*1000.0;
             }
 
             if (stageCapabilities.StageY.CanRead)
             {
-                this.m_dStageY = stageConditions.StageY;
+                this.m_dStageY = stageConditions.StageY*1000.0;
             }
 
             if (stageCapabilities.StageZ.CanRead)
@@ -884,7 +886,7 @@ namespace OxfordExtenderWrapper
         //样品台控制改变事件
         private void OnMicroscopeStageChange(object sender, EventArgs e)
         {
-            
+            //m_StageUpdated = true;
             ReadStage();
         }
 
@@ -908,6 +910,7 @@ namespace OxfordExtenderWrapper
             {
                 if (e.Success)
                 {
+                   
                     //LogTrace(__FILE__, __LINE__, _T("StageUpdated!"));
                     m_StageUpdated = true;
 
@@ -1139,8 +1142,8 @@ namespace OxfordExtenderWrapper
 
             var stageDictionary = new Dictionary<Stage, double>
             {
-                { Stage.StageX, (double)stageX },
-                { Stage.StageY, (double)stageY },
+                { Stage.StageX, (double)stageX/1000.0 },
+                { Stage.StageY, (double)stageY/1000.0 },
                 { Stage.StageZ, (double)stageZ },
                 { Stage.StageT, (double)stageT },
                 { Stage.StageR, (double)stageR }
@@ -1190,7 +1193,7 @@ namespace OxfordExtenderWrapper
            
             var stageDictionary = new Dictionary<Stage, double>
             {
-                { Stage.StageX, (double)stageX }
+                { Stage.StageX, (double)stageX/1000.0 }
             };
             m_StageUpdated = false;
             this.microscopeController.SetStageConditions(stageDictionary);
@@ -1217,7 +1220,7 @@ namespace OxfordExtenderWrapper
 
             var stageDictionary = new Dictionary<Stage, double>
             {
-                { Stage.StageY, (double)stageY }
+                { Stage.StageY, (double)stageY/1000.0 }
             };
             m_StageUpdated = false;
             this.microscopeController.SetStageConditions(stageDictionary);
@@ -1331,6 +1334,7 @@ namespace OxfordExtenderWrapper
             704,
             768,
             1024,
+            2048,
             4096,
             8192
         };

File diff suppressed because it is too large
+ 141 - 142
OxfordExtenderWrapper/Form1.Designer.cs


+ 8 - 5
OxfordExtenderWrapper/Form1.cs

@@ -23,8 +23,8 @@ namespace OxfordExtenderWrapper
     public partial class Form1 : Form
     {
 
-     
-        ExtenderWrapper iExtender ;
+
+        ExtenderIpcUI iExtender ;
 
        
         bool silentRun = false;
@@ -60,7 +60,7 @@ namespace OxfordExtenderWrapper
                 IpcClientChannel channel = new IpcClientChannel();
                 //Register the channel with ChannelServices.
                 ChannelServices.RegisterChannel(channel, false);
-                iExtender = (ExtenderWrapper)Activator.GetObject(typeof(ExtenderWrapper), "ipc://ExtenderServerChannel/ExtenderWrapper");
+                iExtender = (ExtenderIpcUI)Activator.GetObject(typeof(ExtenderIpcUI), "ipc://ExtenderServerChannel/ExtenderIpcUI");
 
 
             }
@@ -256,7 +256,9 @@ namespace OxfordExtenderWrapper
         //设定X
         private void button16_Click(object sender, EventArgs e)
         {
-            iExtender.SetStageGotoX(float.Parse(tBXIn.Text));
+            var x = float.Parse(tBXIn.Text);
+            var y = float.Parse(tBYIn.Text);
+            iExtender.MoveStageXY(x, y);
         }
         //设定Y
         private void button17_Click(object sender, EventArgs e)
@@ -380,6 +382,7 @@ namespace OxfordExtenderWrapper
             });
             thread.IsBackground = true;
             thread.Start();
+           
             while (thread.IsAlive)
             {
                 Application.DoEvents();
@@ -569,7 +572,7 @@ namespace OxfordExtenderWrapper
             //Register the server channel.
             ChannelServices.RegisterChannel(channel, false);
             //Register this service type.
-            RemotingConfiguration.RegisterWellKnownServiceType(typeof(ExtenderWrapper), "ExtenderWrapper", WellKnownObjectMode.Singleton);
+            RemotingConfiguration.RegisterWellKnownServiceType(typeof(ExtenderIpcUI), "ExtenderIpcUI", WellKnownObjectMode.Singleton);
 
 
         }

+ 0 - 6
OxfordExtenderWrapper/Form1.resx

@@ -123,10 +123,4 @@
   <metadata name="含量.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
-  <metadata name="元素.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </metadata>
-  <metadata name="含量.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>True</value>
-  </metadata>
 </root>

+ 1 - 7
OxfordExtenderWrapper/OxfordExtenderWrapper.csproj

@@ -59,6 +59,7 @@
     <Reference Include="WindowsBase" />
   </ItemGroup>
   <ItemGroup>
+    <Compile Include="ExtenderIpcUI.cs" />
     <Compile Include="ExtenderWrapper.cs" />
     <Compile Include="ExtenderWrapper1.cs" />
     <Compile Include="Form1.cs">
@@ -84,13 +85,6 @@
   <ItemGroup>
     <None Include="app.config" />
   </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\OTSCPP\OTSClrInterface\OTSClrInterface.vcxproj">
-      <Project>{490a8592-7b13-4536-b475-028e73007fae}</Project>
-      <Name>OTSClrInterface</Name>
-      <Private>False</Private>
-    </ProjectReference>
-  </ItemGroup>
   <ItemGroup>
     <EmbeddedResource Include="Form1.resx">
       <DependentUpon>Form1.cs</DependentUpon>

Some files were not shown because too many files changed in this diff