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.
mitlib.pub/MITLIB/IODll/OutputBase.h

60 lines
1.5 KiB
C++

// OutputBase.h: interface for the COutputBase class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_OUTPUTBASE_H__DA22D42D_0E6E_434A_8114_1E357FF92EAB__INCLUDED_)
#define AFX_OUTPUTBASE_H__DA22D42D_0E6E_434A_8114_1E357FF92EAB__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "hardwareini.h"
class COutputSetting;
class COutputBase : public CCard
{
public:
COutputBase(CString csMutexName, const COutputSetting &Setting);
virtual ~COutputBase();
// virtual method to set analog output voltage
virtual BOOL SetVoltage(double dVoltage, double dRange);
virtual BOOL SetState(bool bState) = 0;
// virtual method to set output to OFF
BOOL Off();
// virtual method to set output to ON
BOOL On();
BOOL IsOn();
BOOL IsOff();
// Gary 28MAr12, V1.29.06, exposed this variable as public so that when destroying the object,
// Parent Class (COutput) can access and use it to off the output based on the ON logic.
BOOL m_bOnState;
protected:
CMutex m_mutexOutput;
BOOL m_bCurrentState;
int m_nPt;
int m_nSlaveID;
int m_nPtrNo;
CString m_csName;
int m_nBoardType;
int m_nCardNo;
int m_nCardID;
bool IsDigitalOutput(int nPt);
bool IsAnalogOutput(int nPt);
};
#endif // !defined(AFX_OUTPUTBASE_H__DA22D42D_0E6E_434A_8114_1E357FF92EAB__INCLUDED_)