You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
1.1 KiB
C++

// MotionController_ADLINK_APS.h: interface for the CMotionController_ADLINK_APS class.
//
//////////////////////////////////////////////////////////////////////
#pragma once
#include <vector>
#include "MotionControllerBase.h"
#include "APS_Define.h"
class CMotionController_ADLINK_APS : public CMotionControllerBase
{
private:
std::vector<int> m_cardIds;
const std::vector<int> m_vec7856Type{ DEVICE_NAME_PCI_7856, DEVICE_NAME_PCIE_7856 }; // 7856 card types
const std::vector<int> m_vecECATType{ DEVICE_NAME_PCIE_8338, DEVICE_NAME_PCIE_8334, DEVICE_NAME_PCIE_8332, DEVICE_NAME_EM_FA00, DEVICE_NAME_EM_0P00 }; // ECAT card types
public:
CMotionController_ADLINK_APS(int index);
virtual ~CMotionController_ADLINK_APS();
BOOL Init(int& nNoOfMtr) override;
void Close() override;
private:
std::vector<int> BitsToCardIds(int cardIDBits);
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);
};