// InputController.h: interface for the CInputController class. // ////////////////////////////////////////////////////////////////////// #pragma once #include "hardwareini.h" #include "InputControllerBase.h" #include #ifdef BUILD_IODLL #define IODLLCLASS __declspec(dllexport) #else #define IODLLCLASS __declspec(dllimport) #endif class CInputSetting; class IODLLCLASS CIpStatus { public: char m_cPtName[100]; bool m_bOn; }; class IODLLCLASS CInputController : public CCard { public: friend UINT InputControllerThreadFn(LPVOID pParam); CInputController(); virtual ~CInputController(); BOOL GetVoltage(const CInputSetting& InputSetting, double& dVoltage, int nRange); BOOL InitController(); BOOL IsOff(const CInputSetting& InputSetting); BOOL IsOn(const CInputSetting& InputSetting); /***********************************************************************/ /*********************currently for 9222 ONLY***************************/ // method to setup general counter BOOL SetupCounter(const CInputSetting& InputSetting, int nMode); // method to clear counter BOOL ClearCounter(const CInputSetting& InputSetting); // method to enable counter counting BOOL EnableCounter(const CInputSetting& InputSetting); // method to disable counter counting BOOL DisableCounter(const CInputSetting& InputSetting); // method read the counter unsigned long ReadCounter(const CInputSetting& InputSetting); static CInputController* GetInstance(); CInputControllerBase* GetController(int nCardType); void StartUpdateThread(); void TerminateThread(); void StartUpdate(bool bStartUpdate); void SetSimulateIo(bool simIo) { m_bsimIo = simIo; } bool GetSimulateIo(void) { return m_bsimIo; } bool m_bsimIo; // m_bsimIo - simIo private: CInputControllerBase* m_inputControllerBase[MAX_INPUT_CARD_TYPE]; int m_nNoOfCardType; CHardwareIni m_iniHardware; std::vector m_vecCard; static CInputController* instance; CWinThread* m_pThread; CEvt m_evtTerminate; CEvt m_evtStartUpdate; };