mrDarker
2025-08-09 a8fb417ef1fb696723c8b8d5a340e8ca2e0312ae
SourceCode/Bond/Servo/CMaster.h
@@ -15,6 +15,9 @@
#include "CRobotTask.h"
#define CTStep_begin        0
#define CTStep_end          99
namespace SERVO {
    enum class MASTERSTATE {
        READY = 0,
@@ -33,6 +36,7 @@
    typedef std::function<void(void* pMaster, CEquipment* pEquipment, int code)> ONEQDATACHANGED;
    typedef std::function<void(void* pMaster, CRobotTask* pTask, int code)> ONROBOTTASKEVENT;
    typedef std::function<void(void* pMaster, CEquipment* pEquipment, short status, __int64 data)> ONLOADPORTSTATUSCHANGED;
    typedef std::function<void(void* pMaster, int round)> ONCTROUNDEND;
    typedef struct _MasterListener
    {
        ONMASTERSTATECHANGED    onMasterStateChanged;
@@ -43,6 +47,7 @@
        ONEQDATACHANGED         onEqDataChanged;
        ONROBOTTASKEVENT        onRobotTaskEvent;
        ONLOADPORTSTATUSCHANGED   onLoadPortStatusChanged;
        ONCTROUNDEND            onCTRoundEnd;
    } MasterListener;
    class CMaster
@@ -81,6 +86,10 @@
        void enableEventReport(bool bEnable);
        void enableAlarmReport(bool bEnable);
        bool isAlarmReportEnable();
        int proceedWithCarrier(unsigned int port);
        int carrierRelease(unsigned int port);
        int getContinuousTransferCount();
        void setContinuousTransferCount(int round);
    private:
        inline void lock() { EnterCriticalSection(&m_criticalSection); }
@@ -148,6 +157,11 @@
        // 在开始工艺前是否先需要先比较map
        BOOL m_isCompareMapsBeforeProceeding;
        // 千传圈数计数
        int m_nContinuousTransferCount;
        int m_nContinuousTransferStep;
    private:
        bool m_bEnableEventReport;
        bool m_bEnableAlarmReport;