From f56051fa3102feb35ea60650ebda80f49e62d025 Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期二, 05 八月 2025 14:54:24 +0800
Subject: [PATCH] 1. SGMeasurement实现规划的地址 2. 优化读取位时输入的地址不是8的倍数的问题 3. 添加读写心跳的功能
---
SourceCode/Bond/EAPSimulator/EAPSimulatorDlg.cpp | 89 ++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 89 insertions(+), 0 deletions(-)
diff --git a/SourceCode/Bond/EAPSimulator/EAPSimulatorDlg.cpp b/SourceCode/Bond/EAPSimulator/EAPSimulatorDlg.cpp
index 4609d25..f95c6ee 100644
--- a/SourceCode/Bond/EAPSimulator/EAPSimulatorDlg.cpp
+++ b/SourceCode/Bond/EAPSimulator/EAPSimulatorDlg.cpp
@@ -10,6 +10,9 @@
#include "Common.h"
#include <regex>
#include "CTerminalDisplayDlg.h"
+#include "CEDEventReportDlg.h"
+#include "CDefineReportsDlg.h"
+#include "CLinkReportDlg.h"
#ifdef _DEBUG
@@ -77,6 +80,14 @@
ON_BN_CLICKED(IDC_BUTTON_ARE_YOU_THERE, &CEAPSimulatorDlg::OnBnClickedButtonAreYouThere)
ON_BN_CLICKED(IDC_BUTTON_DATETIME_SYNC, &CEAPSimulatorDlg::OnBnClickedButtonDatetimeSync)
ON_BN_CLICKED(IDC_BUTTON_TERMINAL_DISPLAY, &CEAPSimulatorDlg::OnBnClickedButtonTerminalDisplay)
+ ON_BN_CLICKED(IDC_BUTTON_ED_EVENT_REPORT, &CEAPSimulatorDlg::OnBnClickedButtonEdEventReport)
+ ON_BN_CLICKED(IDC_BUTTON_ED_ALARM_REPORT, &CEAPSimulatorDlg::OnBnClickedButtonEdAlarmReport)
+ ON_BN_CLICKED(IDC_BUTTON_DEFINE_REPORT, &CEAPSimulatorDlg::OnBnClickedButtonDefineReport)
+ ON_BN_CLICKED(IDC_BUTTON_LINE_REPORT, &CEAPSimulatorDlg::OnBnClickedButtonLineReport)
+ ON_BN_CLICKED(IDC_BUTTON_CONFIGURE_SPOOLING, &CEAPSimulatorDlg::OnBnClickedButtonConfigureSpooling)
+ ON_BN_CLICKED(IDC_BUTTON_TRANSMIT_SPOOLED_DATA, &CEAPSimulatorDlg::OnBnClickedButtonTransmitSpooledData)
+ ON_BN_CLICKED(IDC_BUTTON_PURGE_SPOOLED_DATA, &CEAPSimulatorDlg::OnBnClickedButtonPurgeSpooledData)
+ ON_BN_CLICKED(IDC_BUTTON_QUERY_PPID_LIST, &CEAPSimulatorDlg::OnBnClickedButtonQueryPpidList)
END_MESSAGE_MAP()
@@ -164,6 +175,7 @@
SetDlgItemInt(IDC_EDIT_PORT, 7000);
SetGroup2Enabled(FALSE);
SetGroup1Enabled(TRUE);
+ ::SetProp(GetDlgItem(IDC_BUTTON_ED_ALARM_REPORT)->m_hWnd, _T("Enable"), (void*)1);
// log edit
@@ -255,6 +267,14 @@
GetDlgItem(IDC_BUTTON_ARE_YOU_THERE)->EnableWindow(enabled);
GetDlgItem(IDC_BUTTON_DATETIME_SYNC)->EnableWindow(enabled);
GetDlgItem(IDC_BUTTON_TERMINAL_DISPLAY)->EnableWindow(enabled);
+ GetDlgItem(IDC_BUTTON_ED_EVENT_REPORT)->EnableWindow(enabled);
+ GetDlgItem(IDC_BUTTON_ED_ALARM_REPORT)->EnableWindow(enabled);
+ GetDlgItem(IDC_BUTTON_DEFINE_REPORT)->EnableWindow(enabled);
+ GetDlgItem(IDC_BUTTON_LINE_REPORT)->EnableWindow(enabled);
+ GetDlgItem(IDC_BUTTON_CONFIGURE_SPOOLING)->EnableWindow(enabled);
+ GetDlgItem(IDC_BUTTON_TRANSMIT_SPOOLED_DATA)->EnableWindow(enabled);
+ GetDlgItem(IDC_BUTTON_PURGE_SPOOLED_DATA)->EnableWindow(enabled);
+ GetDlgItem(IDC_BUTTON_QUERY_PPID_LIST)->EnableWindow(enabled);
}
void CEAPSimulatorDlg::OnBnClickedButtonConnect()
@@ -287,3 +307,72 @@
CTerminalDisplayDlg dlg;
dlg.DoModal();
}
+
+void CEAPSimulatorDlg::OnBnClickedButtonEdEventReport()
+{
+ CEDEventReportDlg dlg;
+ dlg.DoModal();
+}
+
+void CEAPSimulatorDlg::OnBnClickedButtonEdAlarmReport()
+{
+ int enable = (int)::GetProp(GetDlgItem(IDC_BUTTON_ED_ALARM_REPORT)->m_hWnd, _T("Enable"));
+ enable = enable == 0 ? 1 : 0;
+ theApp.m_model.m_pHsmsActive->hsmsEDAlarmReport(enable == 1, 0);
+
+ SetDlgItemText(IDC_BUTTON_ED_ALARM_REPORT,
+ enable == 1 ? _T("Disable Alarm Report") : _T("Enable Alarm Report"));
+ ::SetProp(GetDlgItem(IDC_BUTTON_ED_ALARM_REPORT)->m_hWnd, _T("Enable"), (void*)enable);
+}
+
+void CEAPSimulatorDlg::OnBnClickedButtonDefineReport()
+{
+ CDefineReportsDlg dlg;
+ dlg.DoModal();
+}
+
+void CEAPSimulatorDlg::OnBnClickedButtonLineReport()
+{
+ CLinkReportDlg dlg;
+ dlg.DoModal();
+}
+
+void CEAPSimulatorDlg::OnBnClickedButtonConfigureSpooling()
+{
+ std::map<unsigned int, std::set<unsigned int>> spoolingConfig;
+
+ // test clear all
+ // theApp.m_model.m_pHsmsActive->hsmsConfigureSpooling(spoolingConfig);
+
+
+ // test add s2[1,3,5];
+ // spoolingConfig[2].insert(1);
+ // spoolingConfig[2].insert(3);
+ // spoolingConfig[2].insert(5);
+ // spoolingConfig[3].insert(2);
+ // spoolingConfig[3].insert(4);
+ // spoolingConfig[3].insert(6);
+ // theApp.m_model.m_pHsmsActive->hsmsConfigureSpooling(spoolingConfig);
+
+ // test clear S2
+ // spoolingConfig[2].clear();
+ // theApp.m_model.m_pHsmsActive->hsmsConfigureSpooling(spoolingConfig);
+
+ spoolingConfig[5].insert(66);
+ theApp.m_model.m_pHsmsActive->hsmsConfigureSpooling(spoolingConfig);
+}
+
+void CEAPSimulatorDlg::OnBnClickedButtonTransmitSpooledData()
+{
+ theApp.m_model.m_pHsmsActive->hsmsTransmitSpooledData();
+}
+
+void CEAPSimulatorDlg::OnBnClickedButtonPurgeSpooledData()
+{
+ theApp.m_model.m_pHsmsActive->hsmsPurgeSpooledData();
+}
+
+void CEAPSimulatorDlg::OnBnClickedButtonQueryPpidList()
+{
+ theApp.m_model.m_pHsmsActive->hsmsQueryPPIDList();
+}
--
Gitblit v1.9.3