diff --git a/Doc/Calibration Templates/Explorer-Fx-1D-NTC-10- 8- 3.cct b/Doc/Calibration Templates/Explorer-Fx-1D-NTC-10- 8- 3.cct
new file mode 100644
index 0000000..eacaf3e
Binary files /dev/null and b/Doc/Calibration Templates/Explorer-Fx-1D-NTC-10- 8- 3.cct differ
diff --git a/Doc/Calibration Templates/inspector-Status Fx-1D-NTC-10- 8- 3.cct b/Doc/Calibration Templates/inspector-Status Fx-1D-NTC-10- 8- 3.cct
new file mode 100644
index 0000000..0c28a2d
Binary files /dev/null and b/Doc/Calibration Templates/inspector-Status Fx-1D-NTC-10- 8- 3.cct differ
diff --git a/HSI_HexagonMI_EF3/CLMS.cpp b/HSI_HexagonMI_EF3/CLMS.cpp
new file mode 100644
index 0000000..a6aee90
--- /dev/null
+++ b/HSI_HexagonMI_EF3/CLMS.cpp
@@ -0,0 +1,130 @@
+
+#include "stdafx.h"
+#include "CLMS.h"
+using namespace std;
+
+#ifdef _DEBUG
+#define new DEBUG_NEW
+#endif
+
+
+///////////////////////////////////////////////////////////////////////////////动态引用
+HINSTANCE m_hCLM;
+///
+/// 功能:使用MORCODE.DLL前验证使用软件是否正确,否则其他函数都不可正常调用
+///
+/// 验证内容为软件指纹文件中字符串
+///
+/// TRUE :该软件可正常调用
+/// FALSE :该软件不可正常调用
+///
+typedef BOOL(WINAPI* CLM_Login)(char* _Massage);
+CLM_Login m_pCLM_Login;
+
+///
+/// 退出前执行一次,释放内存,记录使用信息
+///
+///
+typedef BOOL(WINAPI* CLM_Logout)();
+CLM_Logout m_pCLM_Logout;
+
+///
+/// 自动检查电脑中是否有当前软件的许可信息,过期/非本机电脑/其他软件 的许可证书都不会识别
+///
+///
+/// TRUE :有该软件许可证书
+/// FALSE :没有该软件许可证书
+///
+typedef BOOL(WINAPI* CLM_Login_Scope)();
+CLM_Login_Scope m_pCLM_Login_Scope;
+
+///
+/// 输入模块ID验证模块可用性,输入CLMS服务器中模块ID -1(如服务器中模块ID为1,则mod参数输入0)
+///
+/// 模块ID-1
+/// 暂无定义
+///
+/// TRUE :该模块可用
+/// FALSE :该模块不可用
+///
+typedef BOOL(WINAPI* CLM_ModuleIsLicensed)(UINT16& _MOD, UINT16& _OnLineType);
+CLM_ModuleIsLicensed m_pCLM_ModuleIsLicensed;
+
+///
+/// 获取到期日期
+///
+/// 月
+/// 日
+/// 年
+///
+typedef BOOL(WINAPI* CLM_GetWarrantyExpiration)(int& _Month, int& _Day, int& _Year);
+CLM_GetWarrantyExpiration m_pCLM_GetWarrantyExpiration;
+
+///
+/// 输入模块ID获取该模块过期时间,输入CLMS服务器中模块ID -1(如服务器中模块ID为1,则mod参数输入0)
+///
+/// 模块ID-1
+/// 日
+/// 月
+/// 年
+///
+/// TRUE :时间有效
+/// FALSE :该软件不可正常调用
+///
+typedef BOOL(WINAPI* CLM_GetExpirationDateFor)(const int _MOD, int& _Day, int& _Month, int& _Year);
+CLM_GetExpirationDateFor m_pCLM_GetExpirationDateFor;
+
+BOOL CheckLicense()
+{
+ m_hCLM = LoadLibrary(_T("CLMTool.dll"));
+ if (m_hCLM)
+ {
+ //Production
+ m_pCLM_Login = (CLM_Login)GetProcAddress(m_hCLM, "CLM_Login");
+ m_pCLM_Logout = (CLM_Logout)GetProcAddress(m_hCLM, "CLM_Logout");
+ m_pCLM_Login_Scope = (CLM_Login_Scope)GetProcAddress(m_hCLM, "CLM_Login_Scope");
+ m_pCLM_ModuleIsLicensed = (CLM_ModuleIsLicensed)GetProcAddress(m_hCLM, "CLM_ModuleIsLicensed");
+ m_pCLM_GetExpirationDateFor = (CLM_GetExpirationDateFor)GetProcAddress(m_hCLM, "CLM_GetExpirationDateFor");
+ m_pCLM_GetWarrantyExpiration = (CLM_GetWarrantyExpiration)GetProcAddress(m_hCLM, "CLM_GetWarrantyExpiration");
+ }
+ //////////////////////////////////////////////////////////////////1登陆验证
+ BOOL res = FALSE;
+ //Metus软件
+ char* strLogin = "rsWoGvmINesgabljzJZpTmMRGMLyKxFsaxpLRZSnpsujYlboLaKwSINrFbtddgMYgsXkCLwxfVUALwfQcxWEbvZZHjrrYwRkNCBMsjfxeKyannbTIVxsrQvLUWraoysNJFcYJrYnCSabWnxgezkDbvwHLksNqdWyvrfHqKeBLyyVyVYROgizPCqVaRQLkNrSROgvbAqShNZNuzKGHjOLYiwLaXnPKgvHcXuNeNLyuGMFeDnpiipTVDrvJaoNXDTq";
+ res = m_pCLM_Login(strLogin);
+ if (!res)
+ {
+ return res;
+
+ //登陆验证失败
+ }
+
+ //////////////////////////////////////////////////////////////////2检查许可
+ res = m_pCLM_Login_Scope();
+ if (!res)
+ {
+ return res;
+ //检查许可失败
+ }
+
+ //////////////////////////////////////////////////////////////////3获取许可模块
+ UINT16 Mod = 0;//
+ UINT16 OnLineType = 0;//许可状态
+ res = m_pCLM_ModuleIsLicensed(Mod, OnLineType);
+ if (!res)
+ {
+ return res;
+ //登陆验证失败
+ }
+
+ //////////////////////////////////////////////////////////////////4获取许可最早到期日期
+ int ModuleID = 2;
+ int Year, Month, Day;
+ res = m_pCLM_GetWarrantyExpiration(Month, Day, Year);//获取过期时间
+ if (!res)
+ {
+ return res;
+ //登陆验证失败
+ }
+ return res;
+}
diff --git a/HSI_HexagonMI_EF3/CLMS.h b/HSI_HexagonMI_EF3/CLMS.h
new file mode 100644
index 0000000..765988e
--- /dev/null
+++ b/HSI_HexagonMI_EF3/CLMS.h
@@ -0,0 +1,6 @@
+#ifndef CLMS_H_INCLUDED_
+#define CLMS_H_INCLUDED_
+
+BOOL CheckLicense();
+
+#endif
\ No newline at end of file
diff --git a/HSI_HexagonMI_EF3/HSI_HexagonMI_EF3.vcxproj b/HSI_HexagonMI_EF3/HSI_HexagonMI_EF3.vcxproj
index 1d4b2f5..db240b2 100644
--- a/HSI_HexagonMI_EF3/HSI_HexagonMI_EF3.vcxproj
+++ b/HSI_HexagonMI_EF3/HSI_HexagonMI_EF3.vcxproj
@@ -99,6 +99,7 @@ copy "$(TargetDir)$(ProjectName).dll" "D:\HSI_Sevenocean_EF3.dll"
+
@@ -111,6 +112,7 @@ copy "$(TargetDir)$(ProjectName).dll" "D:\HSI_Sevenocean_EF3.dll"
+
diff --git a/HSI_HexagonMI_EF3/HSI_HexagonMI_EF3.vcxproj.filters b/HSI_HexagonMI_EF3/HSI_HexagonMI_EF3.vcxproj.filters
index 790b4b0..e60de99 100644
--- a/HSI_HexagonMI_EF3/HSI_HexagonMI_EF3.vcxproj.filters
+++ b/HSI_HexagonMI_EF3/HSI_HexagonMI_EF3.vcxproj.filters
@@ -8,6 +8,7 @@
+
@@ -21,6 +22,7 @@
+
diff --git a/HSI_HexagonMI_EF3/HSI_Motion.cpp b/HSI_HexagonMI_EF3/HSI_Motion.cpp
index 48deb03..f2da96b 100644
--- a/HSI_HexagonMI_EF3/HSI_Motion.cpp
+++ b/HSI_HexagonMI_EF3/HSI_Motion.cpp
@@ -17,6 +17,7 @@
#include
#include "windows.h"
#include "ACS/ACSC.h" //寮曞叆ACS杩愬姩鎺у埗鍗″ご鏂囦欢
+#include "ClMS.h"
using namespace std;
#ifdef _DEBUG
@@ -244,6 +245,18 @@ HSI_Motion::HSI_Motion()
g_pLogger->SendAndFlushWithTime(L"\n");
g_pLogger->SendAndFlushWithTime(L"==========================================================\n");
+ // CLMS 鎺堟潈楠岃瘉
+ if (!CheckLicense())
+ {
+ wprintf(L"Can't find license\n");
+ //寮圭獥鎻愮ず
+ AfxMessageBox(_T("acs metus middleware No authorization found, please contact the corresponding sales"), MB_ICONWARNING | MB_OK);
+
+ g_pLogger->SendAndFlushWithTime(L"Acs Middleware No authorization found, Please contact the corresponding sales\n");
+
+ }
+ g_pLogger->SendAndFlushWithTime(L"Acs Middleware Check License OK\n");
+
//妗d綅鍙傛暟
for (int i = 0; i < 5; i++)
{
diff --git a/HSI_HexagonMI_EF3/version.h b/HSI_HexagonMI_EF3/version.h
index 801a9c8..582ed31 100644
--- a/HSI_HexagonMI_EF3/version.h
+++ b/HSI_HexagonMI_EF3/version.h
@@ -12,5 +12,5 @@
#define HSI_VERSION_REVNUM
#define HSI_VERSION_BUILD_DATE _T(__DATE__ )
#define HSI_VERSION_BUILD_TIME _T(__TIME__ )
-#define HSI_FILE_DESCRIPTION "2025.02.13 / 17:57 "
-#define HSI_FILE_CSDESCRIPTION _T("2025.02.13 / 17:57 ")
+#define HSI_FILE_DESCRIPTION "2025.02.17 / 11:10 "
+#define HSI_FILE_CSDESCRIPTION _T("2025.02.17 / 11:10 ")
diff --git a/HexcalMC/Resources/start.png b/HexcalMC/Resources/start.png
new file mode 100644
index 0000000..b01cb72
Binary files /dev/null and b/HexcalMC/Resources/start.png differ