Machine Interface Utility:VER1.0
This commit is contained in:
@@ -0,0 +1,104 @@
|
||||
// Proto_Util.h: interface for the CDataLink class.
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
#if !defined(AFX_Proto_Util_H__B422904C_2CEB_495B_B7BD_B45AB30286DD__INCLUDED_)
|
||||
#define AFX_Proto_Util_H__B422904C_2CEB_495B_B7BD_B45AB30286DD__INCLUDED_
|
||||
|
||||
#define MV_TRACE if ( g_pLogger && g_pLogger->m_lLogMask & LOGACTIONS ) g_pLogger->SendAndFlushPerMode
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER > 1000
|
||||
|
||||
#include "logger.h"
|
||||
#include "SsiStatus.h"
|
||||
|
||||
enum SETTLE_STATUS
|
||||
{
|
||||
NOTSETTLED = 0,
|
||||
SETTLED,
|
||||
TIMEDOUT
|
||||
};
|
||||
|
||||
// CSettleStageParams and CSettleStage are copied from QVI, but QVI is based on millionths of and inch
|
||||
// and we will use microns for MV
|
||||
class CSettleStageParams
|
||||
{
|
||||
public:
|
||||
CSettleStageParams()
|
||||
{
|
||||
EDGE_RETRY_TIMEOUT_X = 800;
|
||||
EDGE_RETRY_TIMEOUT_Y = 800;
|
||||
EDGE_RETRY_TIMEOUT_Z = 800;
|
||||
EDGE_RETRY_TIMEOUT_MAG = 800;
|
||||
EDGE_RETRY_BANDWIDTH_X = 1;
|
||||
EDGE_RETRY_BANDWIDTH_Y = 1;
|
||||
EDGE_RETRY_BANDWIDTH_Z = 1;
|
||||
EDGE_RETRY_BANDWIDTH_MAG = 1;
|
||||
EDGE_RETRY_COUNT_X = 1;
|
||||
EDGE_RETRY_COUNT_Y = 1;
|
||||
EDGE_RETRY_COUNT_Z = 1;
|
||||
EDGE_RETRY_COUNT_MAG = 1;
|
||||
};
|
||||
|
||||
long EDGE_RETRY_TIMEOUT_X; //300
|
||||
long EDGE_RETRY_TIMEOUT_Y; //300
|
||||
long EDGE_RETRY_TIMEOUT_Z; //300
|
||||
long EDGE_RETRY_TIMEOUT_MAG; //300
|
||||
long EDGE_RETRY_BANDWIDTH_X; //50
|
||||
long EDGE_RETRY_BANDWIDTH_Y; //50
|
||||
long EDGE_RETRY_BANDWIDTH_Z; //50
|
||||
long EDGE_RETRY_BANDWIDTH_MAG; //50
|
||||
long EDGE_RETRY_COUNT_X; //1
|
||||
long EDGE_RETRY_COUNT_Y; //1
|
||||
long EDGE_RETRY_COUNT_Z; //1
|
||||
long EDGE_RETRY_COUNT_MAG; //1
|
||||
};
|
||||
|
||||
class CSettleStage
|
||||
{
|
||||
public:
|
||||
CSettleStage(long lAxis, double dStartTime, long lStart, long lDeadband, double dTestIncrSec, double dMaxTimeSec);
|
||||
enum SETTLE_STATUS Test(double dCurTime, long lCurPos);
|
||||
|
||||
private:
|
||||
double m_dStartTime;
|
||||
long m_lStartPos;
|
||||
long m_lDeadband;
|
||||
double m_dTestIncrSec;
|
||||
double m_dMaxTimeSec;
|
||||
double m_dIncrStartTimeSec;
|
||||
long m_lAxis;
|
||||
};
|
||||
|
||||
//======================================================================================
|
||||
class CProto_Util
|
||||
{
|
||||
public:
|
||||
|
||||
double ScaleToMM(long lCount, double dResolution);
|
||||
long MMtoScale(double lDistanceMM, double dResolution);
|
||||
|
||||
//
|
||||
CProto_Util();
|
||||
virtual ~CProto_Util();
|
||||
SSI_STATUS Initialize();
|
||||
SSI_STATUS Terminate();
|
||||
SSI_STATUS GetAppPath(CString &Path);
|
||||
SSI_STATUS ExtractAppPath(CString &Path);
|
||||
|
||||
double TimeInSecs(void);
|
||||
CLogger* g_pLogger;
|
||||
void _swap_byte(unsigned short &Val);
|
||||
void _reverse_dword(DWORD *);
|
||||
void _scale2inch(unsigned long scale, double &inch);
|
||||
void _inch2scale(unsigned long &scale, double inch);
|
||||
long _4char2long(unsigned char *cBuff);
|
||||
void _char2bin(unsigned char *cBuff, BYTE *cBytes, int len);
|
||||
void _clear_blanks(char *cBuff);
|
||||
void _ascii2bin(char *cBuff);
|
||||
SSI_STATUS WaitForSettleXYZZM();
|
||||
};
|
||||
|
||||
#endif
|
||||
// !defined(AFX_Proto_Util_H__B422904C_2CEB_495B_B7BD_B45AB30286DD__INCLUDED_)
|
||||
Reference in New Issue
Block a user