update APS initial

main
Yik Teng Hie 3 months ago
parent 76bef81c18
commit 0355c1bdb3

Binary file not shown.

Binary file not shown.

@ -14,7 +14,7 @@ class CInputBase;
class CInputControllerBase : public CCard class CInputControllerBase : public CCard
{ {
public: public:
CInputControllerBase(std::string csMutexName); CInputControllerBase(const std::string& csMutexName);
virtual ~CInputControllerBase(); virtual ~CInputControllerBase();
void RegisterInput(const CInputSetting& inputSetting, CInputBase* pInput); void RegisterInput(const CInputSetting& inputSetting, CInputBase* pInput);

@ -17,7 +17,9 @@ protected:
int m_CardType{ -1 }; int m_CardType{ -1 };
int m_nNoOfCard{ 0 }; int m_nNoOfCard{ 0 };
int m_index{ 0 }; int m_index{ 0 };
std::string m_szCardName{ "" }; std::string m_strCardName{ "" };
std::vector<int> m_vecInitializedCards; // keep track of initialized card ids handled by APS library
public: public:
CMotionControllerBase(int index, const std::string& pMutexName); CMotionControllerBase(int index, const std::string& pMutexName);
@ -25,7 +27,9 @@ public:
void SetCardInfo(int nCardType, const std::string& cardName); void SetCardInfo(int nCardType, const std::string& cardName);
int GetCardType() const; int GetCardType() const;
std::string GetCardName() const; const std::string& GetCardName() const;
std::vector<int> GetInitializedCards() const;
virtual BOOL Init(int& nNoOfMtr) = 0; virtual BOOL Init(int& nNoOfMtr) = 0;
virtual void Close(); virtual void Close();

@ -11,14 +11,15 @@ class CMtrProfile;
class IODLLCLASS CAbstractMotionControllerFactory class IODLLCLASS CAbstractMotionControllerFactory
{ {
private: private:
int m_cardType; int m_cardType{ -1 };
char *m_cardName; std::string m_cardName;
public: public:
CAbstractMotionControllerFactory(int cardType, char* m_cardName); CAbstractMotionControllerFactory(int cardType, const std::string& m_cardName);
virtual ~CAbstractMotionControllerFactory(); virtual ~CAbstractMotionControllerFactory();
virtual CMotionControllerBase *CreateMotionController(int index) = 0; virtual CMotionControllerBase* CreateMotionController(int index) = 0;
int GetCardType(); int GetCardType() const;
char * GetCardName(); const std::string& GetCardName() const;
}; };
/** /**
@ -32,14 +33,15 @@ class IODLLCLASS CMotionControllerFactory
{ {
private: private:
CMotionControllerFactory(void); CMotionControllerFactory(void);
public: public:
virtual ~CMotionControllerFactory(void); virtual ~CMotionControllerFactory(void);
static CMotionControllerFactory &Instance(); static CMotionControllerFactory& Instance();
void AddFactory(CAbstractMotionControllerFactory *pFactory); void AddFactory(CAbstractMotionControllerFactory* pFactory);
void RemoveFactory(CAbstractMotionControllerFactory *pFactory); void RemoveFactory(CAbstractMotionControllerFactory* pFactory);
CMotionControllerBase *CreateMotionController(int index, const char* cardName); CMotionControllerBase* CreateMotionController(int index, const std::string& cardName);
CMotionControllerBase *CreateMotionController(int index, int cardType); CMotionControllerBase* CreateMotionController(int index, int cardType);
int GetCardType(const char* cardName); int GetCardType(const std::string& cardName);
}; };
/** /**
@ -61,16 +63,16 @@ public:
*/ */
#define REGISTER_MOTIONCONTROLLER_FACTORY(mType, name, MotionController_class) \ #define REGISTER_MOTIONCONTROLLER_FACTORY(mType, name, MotionController_class) \
class Factory ## MotionController_class : public CAbstractMotionControllerFactory \ class Factory##MotionController_class : public CAbstractMotionControllerFactory \
{ \ { \
public: \ public: \
Factory ## MotionController_class() : CAbstractMotionControllerFactory(mType, name){} \ Factory##MotionController_class() : CAbstractMotionControllerFactory(mType, name) {} \
CMotionControllerBase *CreateMotionController(int index) \ CMotionControllerBase* CreateMotionController(int index) \
{ \ { \
CMotionControllerBase *ptr = new MotionController_class(index); \ CMotionControllerBase* ptr = new MotionController_class(index); \
ptr->SetCardInfo(mType, name); \ ptr->SetCardInfo(mType, name); \
return ptr; \ return ptr; \
} \ } \
}; \ }; \
static Factory ## MotionController_class StaticFactory ## MotionController_class; \ static Factory##MotionController_class StaticFactory##MotionController_class; \
CAbstractMotionControllerFactory* GetFactory ## MotionController_class() { return &StaticFactory ## MotionController_class; } CAbstractMotionControllerFactory* GetFactory##MotionController_class() { return &StaticFactory##MotionController_class; }

@ -25,6 +25,9 @@ public:
void Close() override; void Close() override;
private: private:
std::vector<int> BitsToCardIds(int cardIDBits);
BOOL Init_7856(int nCardID, CHardwareCfgFactory& cfgFty, int nCfgMotionNumber, int nCfgCardNumber, int& nNoOfMtr); BOOL Init_7856(int nCardID, CHardwareCfgFactory& cfgFty, int nCfgMotionNumber, int nCfgCardNumber, int& nNoOfMtr);
BOOL Init_ECAT(int nCardID, CHardwareCfgFactory& cfgFty, int nCfgMotionNumber, int nCfgCardNumber, int& nNoOfMtr); BOOL Init_ECAT(int nCardID, CHardwareCfgFactory& cfgFty, int nCfgMotionNumber, int nCfgCardNumber, int& nNoOfMtr);
}; };

@ -13,7 +13,7 @@ class COutputBase;
class COutputControllerBase : public CCard class COutputControllerBase : public CCard
{ {
public: public:
COutputControllerBase(std::string csMutexName); COutputControllerBase(const std::string& csMutexName);
virtual ~COutputControllerBase(); virtual ~COutputControllerBase();
void RegisterOutput(const COutputSetting& outputSetting, COutputBase* pOutput); void RegisterOutput(const COutputSetting& outputSetting, COutputBase* pOutput);

Binary file not shown.
Loading…
Cancel
Save