| Document/Panel Bonder八零联合 SecsTest CheckList_v3.0.xlsx | 补丁 | 查看 | 原始文档 | blame | 历史 | |
| SourceCode/Bond/EAPSimulator/CHsmsActive.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| SourceCode/Bond/EAPSimulator/CHsmsActive.h | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| SourceCode/Bond/EAPSimulator/EAPSimulator.rc | 补丁 | 查看 | 原始文档 | blame | 历史 | |
| SourceCode/Bond/EAPSimulator/EAPSimulatorDlg.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| SourceCode/Bond/EAPSimulator/EAPSimulatorDlg.h | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| SourceCode/Bond/EAPSimulator/Resource.h | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| SourceCode/Bond/Servo/HsmsPassive.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Document/Panel Bonder八零联合 SecsTest CheckList_v3.0.xlsxBinary files differ
SourceCode/Bond/EAPSimulator/CHsmsActive.cpp
@@ -245,6 +245,27 @@ return 0; } int CHsmsActive::hsmsConfigureSpooling(std::map<unsigned int, std::set<unsigned int>>& spoolingConfig) { IMessage* pMessage = nullptr; int nRet = HSMS_Create1Message(pMessage, m_nSessionId, 2 | REPLY, 43, ++m_nSystemByte); if (spoolingConfig.size() > 0) { for (auto s : spoolingConfig) { ISECS2Item* pItemStreamList = pMessage->getBody()->addItem(); pItemStreamList->addU1Item(s.first, "STRID"); ISECS2Item* pItemFcnList = pItemStreamList->addItem(); for (auto f : s.second) { pItemFcnList->addU1Item(f, "FCNID"); } } } m_pActive->sendMessage(pMessage); HSMS_Destroy1Message(pMessage); return 0; } int CHsmsActive::replyAck0(IMessage* pMessage) { return 0; SourceCode/Bond/EAPSimulator/CHsmsActive.h
@@ -2,6 +2,7 @@ #include <string> #include <vector> #include <map> #include <set> #include "CCollectionEvent.h" @@ -53,6 +54,9 @@ // Line Event Report int hsmsLinkEventReport(std::map<unsigned int, std::vector<unsigned int>>& mapEvent); // Configure Spooling int hsmsConfigureSpooling(std::map<unsigned int, std::set<unsigned int>>& spoolingConfig); // 閫氳繃鐨剅eply鍑芥暟 void replyAck(int s, int f, unsigned int systemBytes, BYTE ack, const char* pszAckName); SourceCode/Bond/EAPSimulator/EAPSimulator.rcBinary files differ
SourceCode/Bond/EAPSimulator/EAPSimulatorDlg.cpp
@@ -84,6 +84,7 @@ 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) END_MESSAGE_MAP() @@ -267,6 +268,7 @@ 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); } void CEAPSimulatorDlg::OnBnClickedButtonConnect() @@ -328,3 +330,28 @@ 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); } SourceCode/Bond/EAPSimulator/EAPSimulatorDlg.h
@@ -53,4 +53,5 @@ afx_msg void OnBnClickedButtonEdAlarmReport(); afx_msg void OnBnClickedButtonDefineReport(); afx_msg void OnBnClickedButtonLineReport(); afx_msg void OnBnClickedButtonConfigureSpooling(); }; SourceCode/Bond/EAPSimulator/Resource.h
@@ -29,6 +29,8 @@ #define IDC_BUTTON_DEFINE_REPORT 1010 #define IDC_BUTTON_LINE_REPORT 1011 #define IDC_RADIO_ENABLE 1012 #define IDC_BUTTON_LINE_REPORT2 1012 #define IDC_BUTTON_CONFIGURE_SPOOLING 1012 #define IDC_RADIO_DISABLE 1013 #define IDC_EDIT_CEID 1014 #define IDC_LIST1 1015 SourceCode/Bond/Servo/HsmsPassive.cpp
@@ -1089,50 +1089,27 @@ for (int i = 0; i < pBody->getSubItemSize(); i++) { ISECS2Item* pStreamItem = pBody->getSubItem(i); ASSERT(pStreamItem); unsigned char STRID; unsigned char STRID, FCNID; pStreamItem->getSubItemU1(0, STRID); ISECS2Item* pFcnItem = pStreamItem->getSubItem(1); for (int j = 0; j < pFcnItem->getSubItemSize(); j++) { ISECS2Item* pFcnItemList = pStreamItem->getSubItem(1); if (pFcnItemList->getSubItemSize() == 0) { m_spoolingConfig[STRID].clear(); } else { for (int j = 0; j < pFcnItemList->getSubItemSize(); j++) { pFcnItemList->getSubItemU1(j, FCNID); m_spoolingConfig[STRID].insert(FCNID); } } } BOOL bCheckData = FALSE; const char* pszCmdName; std::vector<CommandParameter> params; { ISECS2Item* pItemParams, * pItemParam; ISECS2Item* pItem = pRecv->getBody(); if (pItem->getSubItemSize() < 2) goto MYREPLY; if (!pItem->getSubItemString(0, pszCmdName)) goto MYREPLY; pItemParams = pItem->getSubItem(1); if (pItemParams == nullptr || pItemParams->getType() != SITYPE::L) goto MYREPLY; for (int i = 0; i < pItemParams->getSubItemSize(); i++) { const char* pszParamName, * pszParamValue; pItemParam = pItemParams->getSubItem(i); if (pItemParam != nullptr && pItemParam->getSubItemString(0, pszParamName) && pItemParam->getSubItemString(1, pszParamValue)) { CommandParameter cp; strcpy_s(cp.szName, COMMAND_NAME_MAX, pszParamName); strcpy_s(cp.szValue, COMMAND_VALUE_MAX, pszParamValue); params.push_back(cp); // 鎵撳嵃楠岃瘉缁撴灉 for (auto s : m_spoolingConfig) { LOGI("====> stream:%d", s.first); for (auto f : s.second) { LOGI("function:%d", f); } } bCheckData = TRUE; } // 鍥炶皟鍒板簲鐢ㄥ眰 if (bCheckData) { if (m_listener.onCommand != nullptr) { m_listener.onCommand(this, pszCmdName, params); } } MYREPLY: replyAck(2, 42, pRecv->getHeader()->systemBytes, BYTE(0), "ERACK"); return 0;