// MotionController_8164.h: interface for the CMotionController_8164 class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_MOTIONCONTROLLER_8164_H__61361DEA_CC47_417B_987E_134B0ECE1E0C__INCLUDED_)
#define AFX_MOTIONCONTROLLER_8164_H__61361DEA_CC47_417B_987E_134B0ECE1E0C__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "Pci_8164.h"
#include "MotionControllerBase.h"

class CMotionController_8164 : public CMotionControllerBase
{
public:
    CMotionController_8164(int index);
    virtual ~CMotionController_8164();

    BOOL Init(int &nNoOfMtr) override;
    void Close() override;

// get the IOs status of the motor
    unsigned short GetMotionIOStatus(const CMtrProfile &mtrProfile) override;

//  get Motion status of motor
    int GetMotionStatus(const CMtrProfile &mtrProfile) override;

//  get Motor Pos value
    double GetMtrPos(const CMtrProfile &mtrProfile) override;

//  get position error value
    double GetPosErr(const CMtrProfile &mtrProfile) override;

//  check if motor is ready
    BOOL IsMotorReady(const CMtrProfile &mtrProfile) override;

//  check if motor is on
    BOOL IsMtrOn(const CMtrProfile &mtrProfile) override;
};

#endif // !defined(AFX_MOTIONCONTROLLER_8164_H__61361DEA_CC47_417B_987E_134B0ECE1E0C__INCLUDED_)
