From 62a4a8db6c05c98f180ae7f6429a9a232fce6c0c Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期四, 03 七月 2025 17:19:16 +0800
Subject: [PATCH] 1. 重构机器人动画逻辑,采用分帧动画机制,避免在 OnTimer 中阻塞主线程; 2. 动画过程中允许动态中断,确保设备状态变化时可即时响应; 3. 动画结束时自动校正位置与角度,确保最终状态准确一致;

---
 SourceCode/Bond/Servo/CEquipmentPage1.h |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/SourceCode/Bond/Servo/CEquipmentPage1.h b/SourceCode/Bond/Servo/CEquipmentPage1.h
index 34106f1..5db7005 100644
--- a/SourceCode/Bond/Servo/CEquipmentPage1.h
+++ b/SourceCode/Bond/Servo/CEquipmentPage1.h
@@ -24,12 +24,18 @@
 	void setEquipment(SERVO::CEquipment* pEquipment);
 
 private:
+	int m_nCurrentDeviceID;
 	SERVO::CEquipment* m_pEquipment;
 	std::vector<SignalInfo> m_vSignalList;
 	CJobSlotGrid m_ctrlSignalPanel;
+	std::map<int, std::vector<SignalInfo>> m_mapSignalListByID;
 
-	void InitSignalList();
-	void LoadDeviceSignals();
+	void LoadSignalListFromCSV(const CString& strFilePath);
+	void InitSignalListForDevice(int nDeviceID);
+	void UpdateSignalState(int nRow, int nCol, bool bNewState);
+	void InitSignalSlotTextAndClickable();
+	void UpdateAllSignalStatesFromDevice();
+	void ResetSignalPanel();
 
 
 // 瀵硅瘽妗嗘暟鎹�
@@ -46,4 +52,5 @@
 	afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
 	afx_msg void OnDestroy();
 	afx_msg void OnSize(UINT nType, int cx, int cy);
+	afx_msg void OnTimer(UINT_PTR nIDEvent);
 };

--
Gitblit v1.9.3