12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #pragma once
- #include "CRightPick.h"
- #include "CLeftPick.h"
- #include "CDieBond.h"
- #include "CDispath.h"
- class __declspec(dllexport) CDieBondFsm
- {
- enum FSM {
- LeftPick_thread = 0,
- RightPick_thread,
- DieBond_thread,
- Dispath_thread,
- MAX_FSM
- };
- private:
- CFsmBase* pFsmArray[MAX_FSM];
- static std::mutex m_Mutex;
- static CDieBondFsm* m_pDieBondFsm;
- static DWORD WINAPI threadRun(LPVOID pThreadPara);
- bool m_bIsLoopRunting; //正在循环运行中
- public:
- CDieBondFsm();
- static LONG GetInstance(CDieBondFsm** pDieBondFsm);
- bool GetRunting();
- void ExitFsm();
- void RunFsm();
- void StopFsm();
- void pause(bool b);
- #pragma region 状态机对外接口
- //无参数通用接口事件
- void send_event(DISPATH_STEP_TYPE msg);
- //设置当前固晶点为最后一颗固晶点
- void SetCurrentPointToEnd();
- //设置本次自动固晶总数,0为不限制
- void Step_SetBondDieTotal(UINT nBondDieTotal);
-
- #pragma endregion
-
-
- };
|