From f6cd6b95c9aa2ad17b199c32553c0b5e06b60bea Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期四, 08 一月 2026 16:06:29 +0800
Subject: [PATCH] 1.部分实现状态变量设置
---
SourceCode/Bond/Servo/HsmsPassive.h | 35 ++++++++++++++++++++++++++++++-----
1 files changed, 30 insertions(+), 5 deletions(-)
diff --git a/SourceCode/Bond/Servo/HsmsPassive.h b/SourceCode/Bond/Servo/HsmsPassive.h
index aeb5bde..995aa66 100644
--- a/SourceCode/Bond/Servo/HsmsPassive.h
+++ b/SourceCode/Bond/Servo/HsmsPassive.h
@@ -135,7 +135,10 @@
// 鍙栨秷 define report
bool removeReport(int rptid);
- void clearAllReport();
+ 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(BOOL bSave = FALSE);
// 浠庢枃浠朵腑鍔犺浇CVariable鍒楄〃
int loadVarialbles(const char* pszFilepath);
@@ -161,22 +164,26 @@
// 鍙栧緱Report鍒楄〃
std::vector<SERVO::CReport*>& getReports();
+ unsigned int getMaxReportId() const;
// 浠庢枃浠朵腑鍔犺浇CCollectionEvent鍒楄〃
int loadCollectionEvents(const char* pszFilepath);
// 鍙栧緱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);
// 鍙栧緱Report
SERVO::CReport* getReport(int rptid);
- int deleteReport(int rptid);
void setListener(SECSListener listener);
unsigned OnCimWork();
@@ -196,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();
@@ -207,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);
@@ -241,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;
@@ -264,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;
@@ -281,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