#pragma once

class CAdlinkCommon_HSL
{
public:
    CAdlinkCommon_HSL(int nPhysicalCardID, int nSlaveID, int nPointNo);
    ~CAdlinkCommon_HSL(void);

public:
    int InitCard(int nHardwareIniTypeCardNo);

    int CloseCard(int nPhysicalCardID);

    bool ReadVoltage(double *pVoltage);

    bool ReadInput(unsigned short *pState);

    bool SetLastAnalogChannel(int nLastChannel);

    bool SetAnalogRange(int nRange);

    bool WriteOutputBit(bool bState);

    bool WriteVoltage(double dVoltage);

private:
    short m_sPhysicalCardID; // only used for CInput class
    short m_sSlaveID;        // only used for CInput class
    short m_sPointNo;        // only used for CInput class
};
