From 4d9d8d22e3666076988c30afb4e7c6fe365c19aa Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期二, 06 一月 2026 18:53:04 +0800
Subject: [PATCH] 1.修复一个回复错误的问题;
---
SourceCode/Bond/Servo/HsmsPassive.h | 30 ++++++++++++++++++++++++++----
1 files changed, 26 insertions(+), 4 deletions(-)
diff --git a/SourceCode/Bond/Servo/HsmsPassive.h b/SourceCode/Bond/Servo/HsmsPassive.h
index 91b03a4..995aa66 100644
--- a/SourceCode/Bond/Servo/HsmsPassive.h
+++ b/SourceCode/Bond/Servo/HsmsPassive.h
@@ -138,7 +138,7 @@
int deleteReport(int rptid);
int addReport(int rptid, const std::vector<unsigned int>& vids);
int updateReport(int rptid, const std::vector<unsigned int>& vids);
- void clearAllReport();
+ void clearAllReport(BOOL bSave = FALSE);
// 浠庢枃浠朵腑鍔犺浇CVariable鍒楄〃
int loadVarialbles(const char* pszFilepath);
@@ -171,9 +171,13 @@
// 鍙栧緱CCollectionEvent鍒楄〃
std::vector<SERVO::CCollectionEvent*>& getCollectionEvents();
+ unsigned int getMaxCollectionEventId() const;
// 鍙栨秷/鍒犻櫎鎵�鏈塁ollectionEvent
void clearAllCollectionEvent();
+ int deleteCollectionEvent(unsigned short CEID);
+ int addCollectionEvent(unsigned int CEID, const char* name, const char* desc, const std::vector<unsigned int>& rptids);
+ int updateCollectionEvent(unsigned int CEID, const char* name, const char* desc, const std::vector<unsigned int>& rptids);
// 鍙栧緱CCollectionEvent
SERVO::CCollectionEvent* getEvent(unsigned short CEID);
@@ -199,8 +203,12 @@
int requestEventReportSend(unsigned int CEID);
int requestEventReportSend(const char* pszEventName);
int requestEventReportSend_CarrierID_Readed();
+ int requestEventReportSend_CheckSlotMap();
+ int requestEventReportSend_SlotMapVerificationOK();
+ int requestEventReportSend_SlotMapVerificationNG();
int requestEventReportSend_Port_Unload_Ready();
int requestEventReportSend_Port_Load_Ready();
+ int requestEventReportSend_Port_Ready_To_Release();
int requestEventReportSend_Port_Blocked();
int requestEventReportSend_PJ_Queued();
int requestEventReportSend_PJ_Start();
@@ -210,6 +218,10 @@
int requestEventReportSend_Panel_Start();
int requestEventReportSend_Panel_End();
int requestEventReportSend_OCR_PanelID_Read_OK();
+ int requestEventReportSend_LoadPortNotAssoc();
+ int requestEventReportSend_ProcessDataReport();
+ int requestEventReportSend_SubEqpStart();
+ int requestEventReportSend_SubEqpEnd();
private:
void replyAck(int s, int f, unsigned int systemBytes, BYTE ack, const char* pszAckName);
@@ -244,6 +256,7 @@
std::vector<unsigned int> parseVidList(CString& strNums);
int writeVariablesToFile(const std::string& filepath);
int writeReportsToFile(const std::string& filepath);
+ int writeCollectionEventsToFile(const std::string& filepath);
private:
CModel* m_pModel;
@@ -267,6 +280,9 @@
std::string m_strReportFilepath;
bool m_bReportUtf8{ false };
bool m_bReportUtf8Bom{ false };
+ std::string m_strCollectionEventFilepath;
+ bool m_bCollectionUtf8{ false };
+ bool m_bCollectionUtf8Bom{ false };
BOOL m_bCimWorking;
HANDLE m_hCimWorkEvent;
HANDLE m_hCimWorkThreadHandle;
@@ -284,7 +300,13 @@
// CollectionEvent vector
std::vector<SERVO::CCollectionEvent*> m_collectionEvents;
- // Spooling Config
- std::map<uint16_t, std::set<uint16_t>> m_spoolingConfig;
-};
+ // Spooling blacklist: StreamId -> {FunctionId...}
+ // In this map means DO NOT spool/cache.
+ // Special case: stream 1 is not spooled regardless of config.
+ // If a stream key exists with empty set => blacklist ALL functions in that stream.
+ std::map<uint16_t, std::set<uint16_t>> m_spoolBlacklistByStream;
+ bool m_spoolingEnabled{ true };
+private:
+ bool shouldSpool(uint8_t streamId, uint8_t functionId) const;
+};
--
Gitblit v1.9.3