From a886343fc6eaecb4eccd35dc2a5b95fc84212dd5 Mon Sep 17 00:00:00 2001
From: darker <mr.darker@163.com>
Date: 星期二, 18 二月 2025 16:21:36 +0800
Subject: [PATCH] 1. 添加ReportVIDs表的相关操作

---
 SourceCode/Bond/Servo/ServoDlg.cpp |   62 +++++++++++++++++++++++++++++++
 1 files changed, 62 insertions(+), 0 deletions(-)

diff --git a/SourceCode/Bond/Servo/ServoDlg.cpp b/SourceCode/Bond/Servo/ServoDlg.cpp
index 0b50b45..07bce45 100644
--- a/SourceCode/Bond/Servo/ServoDlg.cpp
+++ b/SourceCode/Bond/Servo/ServoDlg.cpp
@@ -144,6 +144,21 @@
 					ShowTerminalText(pszText);
 				}
 			}
+			else if (RX_CODE_EQ_ALIVE == code) {
+				// 通知设备状态
+				SERVO::CEquipment* pEquipment = nullptr;
+				if (pAny->getPtrValue("ptr", (void*&)pEquipment)) {
+					if (pEquipment != nullptr) {
+						int nID = pEquipment->getID();
+						BOOL bAlive = pEquipment->isAlive();
+						if (1 == nID) {
+							DeviceStatus status = bAlive ? DeviceStatus::ONLINE : DeviceStatus::OFFLINE;
+							UpdateDeviceStatus(INDICATE_ROBOT_ARM1, status);
+							UpdateDeviceStatus(INDICATE_ROBOT_ARM2, status);
+						}
+					}
+				}
+			}
 			pAny->release();
 		}, [&]() -> void {
 			// onComplete
@@ -290,8 +305,15 @@
 
 	SetTimer(TIMER_ID_CREATE_TERMINAL, 3000, nullptr);
 	InitRxWindows();
+	OnBnClickedButtonLog();
 	UpdateLogBtn();
 	Resize();
+
+
+	// 相当于延时调用master的初始化
+	theApp.m_model.m_master.init();
+
+
 	return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE
 }
 
@@ -645,6 +667,38 @@
 	Invalidate();
 }
 
+void CServoDlg::UpdateDeviceStatus(int id, DeviceStatus status)
+{
+	// 根据状态设置颜色
+	COLORREF newBackgroundColor;
+	COLORREF newFrameColor1;
+	COLORREF newFrameColor2;
+
+	switch (status) {
+	case ONLINE:
+		newBackgroundColor = RGB(255, 0, 0);
+		newFrameColor1 = RGB(22, 22, 22);
+		newFrameColor2 = RGB(255, 127, 39);
+		break;
+	case OFFLINE:
+		newBackgroundColor = RGB(0, 255, 0);
+		newFrameColor1 = RGB(22, 22, 22);
+		newFrameColor2 = RGB(255, 127, 39);
+		break;
+	default:
+		newBackgroundColor = RGB(255, 255, 255); // 默认白色背景
+		newFrameColor1 = RGB(0, 0, 0);           // 默认黑色框架1
+		newFrameColor2 = RGB(0, 0, 0);           // 默认黑色框架2
+		break;
+	}
+
+	m_pGraph->UpdateIndicateBox1Colors(id, newBackgroundColor, newFrameColor1, newFrameColor2);
+
+	// 刷新界面
+	Invalidate();
+	UpdateWindow();
+}
+
 void CServoDlg::OnSize(UINT nType, int cx, int cy)
 {
 	CDialogEx::OnSize(nType, cx, cy);
@@ -685,6 +739,14 @@
 	UpdateLogBtn();
 	LOGE("OnLogDlgHide");
 
+	unsigned int DATAID, RPTID;
+	DATAID = 111;
+	RPTID = 1001;
+	std::vector<std::string> v;
+	v.push_back("abc");
+	v.push_back("def");
+	theApp.m_model.m_hsmsPassive.requestEventReportSend(DATAID, RPTID, v);
+
 	return 0;
 }
 

--
Gitblit v1.9.3