gsp преди 4 години
родител
ревизия
49aef5d3a0

+ 8 - 8
OTSCPP/OTSClrInterface/ControlClr/OTSControlFunExport.cpp

@@ -35,14 +35,14 @@ namespace NSOTSController
 		return g_SemBasePtr->Connect();
 	}
 
-	bool COTSSimuControlClr::Disconnect()
-	{
-		if (nullptr == g_SemBasePtr)
-		{
-			return false;
-		}
-		return g_SemBasePtr->Disconnect();
-	}
+	//bool COTSSimuControlClr::Disconnect()
+	//{
+	//	if (nullptr == g_SemBasePtr)
+	//	{
+	//		return false;
+	//	}
+	//	return g_SemBasePtr->Disconnect();
+	//}
 
 	bool COTSSimuControlClr::SetWorkingDistance(double a_dWorkingDistance)
 	{

+ 9 - 37
OTSCPP/OTSClrInterface/ControlClr/OTSControlFunExport.h

@@ -46,7 +46,7 @@ namespace NSOTSController
 			
 	public:
 		bool Connect();
-		bool Disconnect();
+	
 		bool SetWorkingDistance(double a_dWorkingDistance);
 		bool GetWorkingDistance(double% a_dWorkingDistance);
 		bool SetMagnification(double a_dMag);
@@ -122,12 +122,7 @@ namespace NSOTSController
 			return bRev;
 		}
 
-		//断开电镜连接
-		bool DisConnectSem()
-		{
-			BOOL bRev = m_pSem->Disconnect();
-			return bRev;
-		}
+
 
 
 		//获得扫描区域大小
@@ -385,23 +380,20 @@ namespace NSOTSController
 			{
 				if (m_pSem != NULL)
 				{
-					if (m_pSem->IsConnected())
-					{
-						m_pSem->Disconnect();
-					}
+				
 					delete m_pSem;
 				}
 				if (m_pScan != NULL)
 				{
-					//m_pScan->FinishedInstance();
+				
 					delete m_pScan;
 				}
 				if (m_pEDS!= NULL)
 				{
-					//m_pEDS->FinishedInstance();
+					
 					delete m_pEDS;
 				}
-				//delete m_LpHardWareMgr;
+				
 				m_pHardWareMgr = NULL;
 			}
 		}
@@ -431,15 +423,7 @@ namespace NSOTSController
 			return a_type;
 		}
 
-		//EDS进程终止
-		//函数名称:void EDSFinishedInstance()
-		//输入参数:无
-		//输出参数:无
-	/*	void EDSFinishedInstance()
-		{
-			m_pEDS->FinishedInstance();
-		}*/
-
+	
 		//EDS初始化
 		//函数名称:bool EDSInit()
 		//输入参数:无
@@ -553,12 +537,7 @@ namespace NSOTSController
 			return bRet;
 		}
 
-		/// instance termination
-		/*void ScanFinishedInstance()
-		{
-			m_pScan->FinishedInstance();
-			
-		}*/
+
 
 		int GetScanType()
 		{
@@ -724,15 +703,8 @@ namespace NSOTSController
 			return bRet;
 		}
 
-		//bool SetAndStartScan(void)
-		//{
-		//	bool bRet = (bool)m_pScan->SetAndStartScan();
 
-		//	
-		//	
-		//	
-		//	return bRet;
-		//}
+	
 		bool MoveBeamTo(Point a_beamPos)
 		{
 			CPoint pt;

+ 21 - 20
OTSCPP/OTSControl/Bruker/OTSBrukerImpl.cpp

@@ -6,7 +6,7 @@
 
 
 namespace OTSController {
-	//using namespace COTSXmlFileDll;
+
 	unsigned int DEFAULT_MAX_WAIT_TIME_COLLECT_COUNTS = 5000;
 
 	const CString DllXMLFileName = "./Config/ProData/BrukerDllVersion.xml";
@@ -84,28 +84,29 @@ namespace OTSController {
 				m_bInit = m_pBrukerDllHandle->LoadDll(strBruckerDllName);
 			}
 
-		// load Bruker client dll OK?
-		if (!m_bInit)
-		{
-			// failed to load bruker client dll
-			AfxMessageBox(_T("当前Bluker能谱不能正常工作,若需调整为OffLine模式,请在SysMgeApp中修改!"));
-			LogErrorTrace(__FILE__, __LINE__, _T("COTSBrukerImpl::Init: failed to load Bruker Client Dll , Dll Name: %s"), strBruckerDllName);
-			exit(0);
-			//return bRet;
-		}
+			// load Bruker client dll OK?
+			if (!m_bInit)
+			{
+				// failed to load bruker client dll
+				AfxMessageBox(_T("当前Bruker能谱配置不能正常工作,请检查!"));
+				LogErrorTrace(__FILE__, __LINE__, _T("COTSBrukerImpl::Init: failed to load Bruker Client Dll , Dll Name: %s"), strBruckerDllName);
+				exit(0);
+				//return bRet;
+			}
 
-		// return false if failed to call QueryServers or OpenClient methods
-		if (!QueryServers() || !OpenClient())
-		{
-			return bRet;
-		}
+			// return false if failed to call QueryServers or OpenClient methods
+			if (!QueryServers() || !OpenClient())
+			{
+				return bRet;
+			}
 
-		// prepare spectra buffer
-		if (!m_psRTSpectrumBuffer)
-		{
-			m_psRTSpectrumBuffer.reset(new char[(int)BRUKER_PARAM::RT_SPECTRUM_BUFFER_SIZE]);
+			// prepare spectra buffer
+			if (!m_psRTSpectrumBuffer)
+			{
+				m_psRTSpectrumBuffer.reset(new char[(int)BRUKER_PARAM::RT_SPECTRUM_BUFFER_SIZE]);
+			}
+			memset(m_psRTSpectrumBuffer.get(), 0, (int)BRUKER_PARAM::RT_SPECTRUM_BUFFER_SIZE);
 		}
-		memset(m_psRTSpectrumBuffer.get(), 0, (int)BRUKER_PARAM::RT_SPECTRUM_BUFFER_SIZE);}
 
 		// initialized? 
 		if (m_bInit)

+ 3 - 2
OTSCPP/OTSControl/Bruker/OTSBrukerImpl.h

@@ -45,8 +45,7 @@ namespace OTSController {
 		
 		// initialization
 		BOOL Init(CONTROL_TYPE a_nControlType, BOOL a_b32Bite = TRUE);
-		// close client
-		BOOL CloseClient(void);
+	
 
 		// check connection
 		BOOL CheckConnection(BOOL& a_bConnected);
@@ -147,6 +146,8 @@ namespace OTSController {
 		BOOL GetXRayByFeatures(CPosXraysList& a_vXPoints, std::vector<std::vector<BrukerSegment>>& a_vFeatures, DWORD a_nACTimeMS);
 		BOOL SetXRayPointsByFeature(CPosXraysList& a_vXPoints, const DWORD a_nACTimeMS);
 	protected:
+		// close client
+		BOOL CloseClient(void);//there's no need to call from out ,the single instance destruction method will call it automatically.
 
 		BOOL GetSpectrum(long a_nBufferIndex, RTSpectrumHeaderRec* a_poSpcHR, long a_nBufferSize);
 

+ 1 - 5
OTSCPP/OTSControl/Bruker/OTSEDSBrucker.cpp

@@ -15,11 +15,7 @@ namespace OTSController {
 
 
 
-	/// Finished the instance.
-	/*void COTSEDSBrucker::FinishedInstance()
-	{
-		m_pBrukerImpl.reset();
-	}*/
+	
 
 	// initialization
 	BOOL COTSEDSBrucker::Init()

+ 2 - 4
OTSCPP/OTSControl/Bruker/OTSEDSBrucker.h

@@ -1,8 +1,7 @@
 #pragma once
 // FileName: OTSEDSBrucker.h
 // Brief:	EDS Base Class , x-Ray acquisition system
-// Author:  Anna.Hao
-// Data:	6/30/2017
+
 
 #include "OTSBrukerImpl.h"
 #include "OTSEDSBase.h"
@@ -18,8 +17,7 @@ namespace OTSController {
 		// Get eds type
 		virtual EDSController::EDS_ID GetType() override { return EDSController::EDS_ID::BRUKER; }
 
-		/// instance termination
-		//virtual void FinishedInstance() override;
+	
 
 		// initialization method
 		virtual BOOL Init() override;

+ 1 - 14
OTSCPP/OTSControl/Bruker/OTSSEMBruker.cpp

@@ -63,20 +63,7 @@ namespace OTSController {
 		return TRUE;
 	}
 
-	// disconnect the controller with SEM
-	// NOTE: need to do nothing for this controller
-	// always return true
-	BOOL COTSSEMBruker::Disconnect(void)
-	{
-		if (m_pBrukerImplPtr)
-		{
-			// clean bruker SEM
-			m_pBrukerImplPtr->CloseClient();
-			m_pBrukerImplPtr.reset();
-			m_bConnected = FALSE;
-		}
-		return TRUE;
-	}
+
 
 	// set beam blank
 	BOOL COTSSEMBruker::SetBeamBlank(long a_nBeamBlank)

+ 1 - 1
OTSCPP/OTSControl/Bruker/OTSSEMBruker.h

@@ -19,7 +19,7 @@ namespace OTSController {
 		virtual BOOL IsConnected(void) override;
 
 		virtual BOOL Connect(void) override;
-		virtual BOOL Disconnect(void) override;
+		virtual BOOL Disconnect(void) override{ return true; } ;// do nothing for this controller.
 
 		virtual BOOL GetBeamBlank(long& a_nBeamBlank) override { return TRUE; }
 		virtual BOOL SetBeamBlank(long a_nBeamBlank) override;

+ 2 - 4
OTSCPP/OTSControl/Bruker/OTSScanBrucker.h

@@ -21,8 +21,7 @@ namespace OTSController {
 		// initialization
 		virtual BOOL Init() override;
 
-		/// instance termination
-		//void FinishedInstance() override;
+	
 
 		virtual ScanController::SCANNER_ID GetType() override { return ScanController::SCANNER_ID::BRUKER; }
 
@@ -31,8 +30,7 @@ namespace OTSController {
 		virtual CSize GetMatrixSize(int a_nMatrixIndex) override;
 		// move beam to point
 		virtual BOOL MoveBeamTo(CPoint& a_beamPos) override;
-		// Set and Start Scan
-		//virtual BOOL SetAndStartScan(void) override { return true; }
+
 		// Set point Scan
 		virtual BOOL SetPointScan(int /*a_nMatrixIndex*/) override { return true; }
 		// Start Scan Table

+ 0 - 7
OTSCPP/OTSControl/Oxford/OTSEDSOxford.cpp

@@ -40,13 +40,6 @@
 			return ifconnect;
 		}
 
-		/// <summary>
-		/// Finished the instance.
-		/// </summary>
-		/*void COTSEDSOxford::FinishedInstance()
-		{
-			m_oxfordImpl.reset();
-		}*/
 
 
 

+ 1 - 2
OTSCPP/OTSControl/Oxford/OTSEDSOxford.h

@@ -25,8 +25,7 @@
 			// initialization method
 			virtual BOOL Init() override;
 
-			/// instance termination
-			//virtual void FinishedInstance() override;
+
 
 			// To show whether the detector can collect a set of xray one go
 			virtual BOOL IsSupportSetCollection() override { return true; }

+ 1 - 2
OTSCPP/OTSControl/Oxford/OTSOxfordImpl.cpp

@@ -41,8 +41,7 @@
         {
             m_oxfordPtr.reset(new OxfordController);
 
-			//m_bInit = m_oxfordDll->LoadDll(OXFORD_DLL_NAME);
-			//m_bInit = true;
+
         }
 		if (!m_bInit)
 		{

+ 2 - 1
OTSCPP/OTSControl/Oxford/OTSOxfordImpl.h

@@ -33,7 +33,7 @@
         OxfordImpl(void);
         ~OxfordImpl(void);
 
-		void CloseClient(void);
+	
 
         bool Connect();
         bool IsConnected();
@@ -80,6 +80,7 @@
 		BOOL GetXRayByFeatures(CPosXraysList&a_listXRayPoints, std::vector<std::vector<BrukerSegment>>& a_vFeatures, DWORD a_nXRayAQTime);
 
     protected:
+        void CloseClient(void);//there's no need to call from out ,the single instance destruction method will call it automatically.
         std::shared_ptr<OxfordController> m_oxfordPtr;
         bool m_bInit;							// initialize flag
 

+ 1 - 8
OTSCPP/OTSControl/Oxford/OTSSEMOxford.cpp

@@ -3,7 +3,7 @@
 #include "../OTSSemBase.h"
 #include "COTSUtilityDllFunExport.h"
 
-//long EMScreenSizeMag100X = 1142;
+
 
 namespace OTSController {
 
@@ -35,13 +35,6 @@ namespace OTSController {
 		return m_oxfordImpl->Connect();
 	}
 
-	BOOL COTSSEMOxford::Disconnect(void)
-	{
-		m_oxfordImpl->CloseClient();
-		m_oxfordImpl.reset();
-
-		return TRUE;
-	}
 
 	// 0: beam off
 	// 1: beam on

+ 1 - 1
OTSCPP/OTSControl/Oxford/OTSSEMOxford.h

@@ -19,7 +19,7 @@ namespace OTSController {
 
 		virtual BOOL IsConnected(void) override;
 		virtual BOOL Connect(void) override;
-		virtual BOOL Disconnect(void) override;
+		virtual BOOL Disconnect(void) override { return true; };// do nothing for this controller
 
 		virtual BOOL GetBeamBlank(long& a_nBeamBlank) override;
 		virtual BOOL SetBeamBlank(long a_nBeamBlank) override;

+ 1 - 9
OTSCPP/OTSControl/Oxford/OTSScanOxford.cpp

@@ -20,15 +20,7 @@ namespace OTSController
 		LogTrace(__FILE__, __LINE__, _T("%s controller finished"), (LPCTSTR)GetName());
     }
 
-    /// <summary>
-    /// Finished the instance.
-    /// </summary>
-    //void COTSScanOxford::FinishedInstance()
-    //{
-    //    TRACE_HERE;
-
-    //    m_oxfordImpl.reset();
-    //}
+
 
     // initialisation
 	BOOL COTSScanOxford::Init()

+ 2 - 4
OTSCPP/OTSControl/Oxford/OTSScanOxford.h

@@ -29,8 +29,7 @@ namespace OTSController
         // initialization
         virtual BOOL Init() override;
 
-        /// instance termination
-        //void FinishedInstance() override; 
+  
 
         virtual ScanController::SCANNER_ID GetType() override { return ScanController::SCANNER_ID::OXFORD; }
 
@@ -38,8 +37,7 @@ namespace OTSController
         virtual CSize GetMatrixSize(int a_nMatrixIndex) override;
         // move beam to point
         virtual BOOL MoveBeamTo(CPoint& a_beamPos) override;
-        // Set and Start Scan
-        //virtual BOOL SetAndStartScan(void) override { return true; }
+
         // Set point Scan
         virtual BOOL SetPointScan(int /*a_nMatrixIndex*/) override { return true; }
         // Start Scan Table

+ 39 - 8
OTSIncAMeasureApp/0-OTSModel/Measure/GetBSEPic/Measurethread.cd

@@ -68,15 +68,15 @@
       </Path>
     </AssociationLine>
     <TypeIdentifier>
-      <HashCode>EQAAFCMA0QIAAAAEIQAAAAEQAAIMkABJAIIECQgUAEA=</HashCode>
+      <HashCode>EQAAECMA0QIAAAAEIQAAAAEQAAIMkABJAIIECQgUAEA=</HashCode>
       <FileName>0-OTSModel\Measure\GetBSEPic\CSmplMeasure.cs</FileName>
     </TypeIdentifier>
     <ShowAsAssociation>
       <Field Name="m_pMsrThread" />
-      <Field Name="curFldData" />
-      <Field Name="m_ScanHardwareMgr" />
       <Field Name="m_SemHardwareMgr" />
+      <Field Name="m_ScanHardwareMgr" />
       <Field Name="m_EDSHardwareMgr" />
+      <Field Name="curFldData" />
     </ShowAsAssociation>
   </Class>
   <Class Name="OTSModelSharp.COTSFieldData">
@@ -129,6 +129,42 @@
     </ShowAsAssociation>
     <Lollipop Position="0.2" />
   </Class>
+  <Class Name="OTSMeasureApp.CMeasureThreadWrapper" Collapsed="true">
+    <Position X="8" Y="0.5" Width="2.25" />
+    <TypeIdentifier>
+      <HashCode>FAgIAwAhIQIAAACQAAAEKI0hQBAAAAAACABgYAIACgA=</HashCode>
+      <FileName>1-OTSMeasure\CMeasureThreadWrapper.cs</FileName>
+    </TypeIdentifier>
+    <ShowAsAssociation>
+      <Field Name="m_MsrThread" />
+    </ShowAsAssociation>
+  </Class>
+  <Class Name="OTSMeasureApp.OTSIncAMeasureAppForm" Collapsed="true">
+    <Position X="3.5" Y="0.5" Width="2.75" />
+    <TypeIdentifier>
+      <HashCode>cIGadXIZ6PAprA5ZYEORKjqrDAIBCHgbVGsAIk6B4qk=</HashCode>
+      <FileName>OTSIncAMeasureAppForm.cs</FileName>
+    </TypeIdentifier>
+    <ShowAsAssociation>
+      <Field Name="m_MsrThreadWrapper" />
+      <Field Name="m_SamplepaceWindow" />
+    </ShowAsAssociation>
+  </Class>
+  <Class Name="OTSMeasureApp.OTSSamplespaceWindow" Collapsed="true">
+    <Position X="0.5" Y="0.5" Width="1.5" />
+    <TypeIdentifier>
+      <HashCode>JbaN9HsZgr3TjwHlZbnEO7v7ZTjT0tjBv07OmLV6UGI=</HashCode>
+      <FileName>4-OTSSamplespaceGraphicsPanel\OTSSamplespaceWindow.cs</FileName>
+    </TypeIdentifier>
+    <ShowAsAssociation>
+      <Field Name="m_MeasureAppForm" />
+    </ShowAsAssociation>
+  </Class>
+  <Class Name="NSOTSController.COTSControlFunExport" Collapsed="true">
+    <Position X="0.5" Y="4" Width="2" />
+    <TypeIdentifier />
+    <Lollipop Position="0.2" />
+  </Class>
   <Class Name="OTSCOMMONCLR.CBSEImgClr" Collapsed="true">
     <Position X="10.75" Y="8" Width="1.5" />
     <TypeIdentifier />
@@ -139,11 +175,6 @@
     <TypeIdentifier />
     <Lollipop Position="0.2" />
   </Class>
-  <Class Name="NSOTSController.COTSControlFunExport" Collapsed="true">
-    <Position X="0.5" Y="4" Width="2" />
-    <TypeIdentifier />
-    <Lollipop Position="0.2" />
-  </Class>
   <Interface Name="OTSModelSharp.ImageProcess.IImageProcess" Collapsed="true">
     <Position X="10.75" Y="5.5" Width="1.5" />
     <TypeIdentifier>

+ 2 - 1
OTSIncAMeasureApp/0-OTSModel/ServiceCenter/SemController.cs

@@ -32,7 +32,8 @@ namespace OTSModelSharp.ServiceInterface
 
         public bool DisConnect()
         {
-            return hw.DisConnectSem();
+            return true;
+            //return hw.DisConnectSem();
         }
         public bool GetSEMDataGnrFromHw(ref CSEMDataGnr SemDataGnr)
         {

+ 1 - 1
OTSIncAMeasureApp/5-OTSMeasureStatuImageFun/OTSImageData.cs

@@ -226,7 +226,7 @@ namespace OTSMeasureApp
         {
             if (cfun != null)
             {
-                cfun.DisConnectSem();
+                //cfun.DisConnectSem();
                 cfun.FreeHardware();
             }
         }

+ 1 - 1
OTSSysMgrTools/ImageDispose.cs

@@ -411,7 +411,7 @@ namespace OTSSysMgrTools
             finally
             {
                 //cfun.ScanFinishedInstance();
-                cfun.DisConnectSem();
+                //cfun.DisConnectSem();
                 //cfun.FreeDll();
             }