From e42e8364112e97d89eeaecd13f043dff42179949 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期二, 27 五月 2025 17:19:02 +0800
Subject: [PATCH] 1.enum修改为enum class, 理顺CLoadPort各成员变量在调度中的判定作用;

---
 SourceCode/Bond/Servo/ToolUnits.cpp |   33 ++++++++++++++++++++++++++++++---
 1 files changed, 30 insertions(+), 3 deletions(-)

diff --git a/SourceCode/Bond/Servo/ToolUnits.cpp b/SourceCode/Bond/Servo/ToolUnits.cpp
index 664f802..2964355 100644
--- a/SourceCode/Bond/Servo/ToolUnits.cpp
+++ b/SourceCode/Bond/Servo/ToolUnits.cpp
@@ -2,6 +2,7 @@
 #include "ToolUnits.h"
 #include <chrono>
 #include <memory>
+#include <sstream>
 
 
 CToolUnits::CToolUnits()
@@ -74,9 +75,8 @@
 ULONGLONG CToolUnits::getTimestamp()
 {
 	auto now = std::chrono::system_clock::now();
-	auto duration_in_milliseconds = std::chrono::duration_cast<std::chrono::milliseconds>(now.time_since_epoch());
-	uint64_t timestamp = duration_in_milliseconds.count();
-	return timestamp;
+	auto ms = std::chrono::time_point_cast<std::chrono::milliseconds>(now);
+	return static_cast<ULONGLONG>(ms.time_since_epoch().count());
 }
 
 void CToolUnits::createDir(const char* pszDir)
@@ -301,4 +301,31 @@
 		ltm.tm_hour, ltm.tm_min, ltm.tm_sec);
 
 	return std::string(buffer);
+}
+
+bool CToolUnits::startsWith(const std::string& str, const std::string& prefix)
+{
+	return str.size() >= prefix.size() && str.compare(0, prefix.size(), prefix) == 0;
+}
+
+std::string& CToolUnits::toHexString(int value, std::string& strOut)
+{
+	std::stringstream ss;
+	ss << std::hex << value;
+	strOut = ss.str();
+
+	return strOut;
+}
+
+void CToolUnits::convertString(const char* pszBuffer, int size, std::string& strOut)
+{
+	strOut.clear();
+	int nLength = 0;
+	for (int i = 0; i < size; i++) {
+		if (pszBuffer[i] == '\0') break;
+		nLength++;
+	}
+	if (nLength > 0) {
+		strOut = std::string(pszBuffer, nLength);
+	}
 }
\ No newline at end of file

--
Gitblit v1.9.3