/***************************************************************************
|
(C) Copyright DELTA TAU DATA SYSTEMS Inc., 1992
|
|
Title: UtilDT.h
|
|
Version: 1.00
|
|
Date: 11/18/1992
|
|
Author(s): Dennis Smith
|
|
Header file for Utility functions.
|
|
Note(s):
|
|
----------------------------------------------------------------------------
|
|
Change log:
|
|
Date Rev Who Description
|
--------- ----- ----- --------------------------------------------
|
17Aug99 JET added PmacNetActualPosition()
|
19Nov97 JET added PmacLMH()
|
**************************************************************************/
|
|
#ifndef _UTILDT_H
|
#define _UTILDT_H
|
|
#include <stdio.h>
|
#include "pmacsock.h"
|
|
///////////////////////////////////////////////////////////////////////////
|
// Status structures
|
|
typedef struct {
|
BOOL plc_enabled;
|
UINT plc_start_addr;
|
UINT plc_end_addr;
|
UINT plc_size;
|
} PLC_STATUS_STRUCT;
|
|
typedef struct {
|
BOOL plcc_loaded;
|
BOOL plcc_enabled;
|
UINT plcc_start_addr;
|
UINT plcc_end_addr;
|
UINT plcc_size;
|
} PLCC_STATUS_STRUCT;
|
|
typedef struct {
|
UINT num_plc;
|
UINT num_plcc;
|
UINT I5;
|
PLC_STATUS_STRUCT plc[32];
|
PLCC_STATUS_STRUCT plcc[32];
|
} TOTAL_PLC_STATUS_STRUCT;
|
|
///////////////////////////////////////////////////////////////////////////
|
// Functions
|
#ifdef __cplusplus
|
extern "C" {
|
#endif
|
|
// Internal functions
|
BOOL GetFileName( HWND hWindow, BOOL save, LPTSTR title, LPTSTR fileName, LPTSTR filter );
|
FILE *getFilePointer( const char *full_path, const char *mode );
|
BOOL SetPmacType( DWORD dwDevice );
|
DWORD SetMaxMotors( DWORD dwDevice );
|
BOOL SetRomDate( DWORD dwDevice );
|
BOOL SetRomVersion( DWORD dwDevice );
|
BOOL SetLinkList( DWORD dwDevice );
|
BOOL CALLBACK BackupLinkList( DWORD dwDevice );
|
BOOL CALLBACK RestoreLinkList( char *szFirmwareVersion );
|
BOOL SetScales( DWORD dwDevice );
|
void ReportSystemError( PCHAR name );
|
BOOL CalibrateTimeout( DWORD timeoutMsec, DWORD * timeoutCount );
|
int CALLBACK PmacGetEnumeration(DWORD dwDevice);
|
LOCATIONTYPE CALLBACK PmacGetLocation(DWORD dwDevice);
|
|
// Exported functions
|
BOOL CALLBACK OpenPmacDevice( DWORD dwDevice );
|
BOOL CALLBACK ClosePmacDevice( DWORD dwDevice );
|
BOOL CALLBACK VMETestOpenPmacDevice( DWORD dwDevice, BOOL bMailboxOnly );
|
BOOL CALLBACK VMETestClosePmacDevice( DWORD dwDevice );
|
BOOL CALLBACK bPMACIsTurbo( DWORD dwDevice );
|
|
BOOL CALLBACK StoreUSResponse(DWORD dwDevice,CHAR * buf, DWORD size);
|
BOOL CALLBACK GetUSResponse(DWORD dwDevice, PCHAR buf, UINT maxchar);
|
BOOL CALLBACK USReadReady(DWORD dwDevice);
|
BOOL CALLBACK ChangeStore(DWORD dwDevice,CHAR * buf);
|
BOOL CALLBACK ChangeGet(DWORD dwDevice, PCHAR buf, UINT maxchar);
|
BOOL CALLBACK ChangeReadReady(DWORD dwDevice);
|
DWORD CALLBACK MapDeviceNumToEnumAndLocation(LOCATIONTYPE loc,DWORD dwEnum);
|
DWORD CALLBACK MapLocAndEnumFromDeviceNum(DWORD dwDevNum, LOCATIONTYPE *loc,DWORD *dwEnum);
|
BOOL CALLBACK ShutdownPmacDevice(DWORD dwDevice,BOOL bForceShutdown);
|
|
BOOL CALLBACK PmacNcAvailable( void );
|
BOOL CALLBACK PmacSetLanguage( const DWORD dwDevice, char *locale );
|
void CALLBACK PmacLMH( HANDLE * hndl );
|
BOOL CALLBACK SetLanguageModule( const char *locale, const HMODULE hProcess, HMODULE * h );
|
void CALLBACK PmacSetWindow( DWORD dwDevice, HWND hWnd );
|
LPSTR CALLBACK szLoadStringA( HMODULE hInst, int iID );
|
PCHAR CALLBACK szStripControlCharA( PCHAR str );
|
PCHAR CALLBACK szStripWhiteSpaceA( PCHAR str );
|
BOOL CALLBACK PmacReadReady( DWORD dwDevice );
|
DWORD CALLBACK PmacReadReadyEx( DWORD dwDevice );
|
int CALLBACK PmacGetError( DWORD dwDevice );
|
ASCIIMODE CALLBACK PmacGetAsciiComm( DWORD dwDevice );
|
BOOL CALLBACK PmacSetAsciiComm( DWORD dwDevice, ASCIIMODE m );
|
BOOL CALLBACK PmacMotionBufOpen( DWORD dwDevice );
|
BOOL CALLBACK PmacRotBufOpen( DWORD dwDevice );
|
BYTE CALLBACK PmacGetIntStatusReg( DWORD dwDevice );
|
|
BOOL CALLBACK PmacLoadNTDriver( DWORD dwDevice );
|
BOOL CALLBACK PmacUnloadNTDriver( DWORD dwDevice );
|
BOOL CALLBACK PmacNTDriverLoaded( DWORD dwDevice );
|
BOOL CALLBACK PmacRemoveNTDriver( DWORD dwDevice );
|
void CALLBACK LockPmac( DWORD dwDevice );
|
void CALLBACK ReleasePmac( DWORD dwDevice );
|
|
BOOL CALLBACK PmacSetCriticalIVars(DWORD dwDevice);
|
|
BOOL CALLBACK PmacGetVariableStrA( DWORD dwDevice, CHAR ch, LPSTR str, UINT num );
|
short int CALLBACK PmacGetVariable( DWORD dwDevice, CHAR ch, UINT num, short int def );
|
short int CALLBACK PmacGetIVariable( DWORD dwDevice, UINT num, short int def );
|
long CALLBACK PmacGetVariableLong( DWORD dwDevice, TCHAR ch, UINT num, long def );
|
double CALLBACK PmacGetVariableDouble( DWORD dwDevice, TCHAR ch, UINT num, double def );
|
long CALLBACK PmacGetIVariableLong( DWORD dwDevice, UINT num, long def );
|
double CALLBACK PmacGetIVariableDouble( DWORD dwDevice, UINT num, double def );
|
|
void CALLBACK PmacSetVariable( DWORD dwDevice, CHAR ch, UINT num, short int val );
|
void CALLBACK PmacSetIVariable( DWORD dwDevice, UINT num, short int val );
|
void CALLBACK PmacSetVariableLong( DWORD dwDevice, TCHAR ch, UINT num, long val );
|
void CALLBACK PmacSetVariableDouble( DWORD dwDevice, TCHAR ch, UINT num, double val );
|
void CALLBACK PmacSetIVariableLong( DWORD dwDevice, UINT num, long val );
|
void CALLBACK PmacSetIVariableDouble( DWORD dwDevice, UINT num, double val );
|
int CALLBACK PmacGetProgramInfo( DWORD dwDevice, BOOL plc, int num, UINT * sadr, UINT * fadr );
|
PUSER_HANDLE CALLBACK PmacGetUserHandle( DWORD dwDevice );
|
BOOL CALLBACK PmacConfigure( HWND hwnd, DWORD dwDevice );
|
double CALLBACK PmacGetDrvVersion( DWORD dwDevice );
|
BOOL CALLBACK PmacGetDpramAvailable( DWORD dwDevice );
|
BOOL CALLBACK PmacInBootStrapMode( DWORD dwDevice );
|
|
// ASCII string exported functions
|
BOOL CALLBACK PmacDoChecksums( DWORD dwDevice, BOOL bVal );
|
PCHAR CALLBACK PmacGetRomDateA( DWORD dwDevice, PCHAR s, int maxchar );
|
PCHAR CALLBACK PmacGetRomVersionA( DWORD dwDevice, PCHAR s, int maxchar );
|
|
int CALLBACK PmacGetResponseA( DWORD dwDevice, PCHAR s, UINT maxchar, PCHAR outstr );
|
int CALLBACK PmacGetResponseExA( DWORD dwDevice, PCHAR s, UINT maxchar, PCHAR outstr );
|
int CALLBACK PmacGetControlResponseA( DWORD dwDevice, PCHAR s, UINT maxchar, CHAR outchar );
|
int CALLBACK PmacGetControlResponseExA( DWORD dwDevice, PCHAR s, UINT maxchar, CHAR outchar );
|
|
BOOL CALLBACK PmacSendCharA( DWORD dwDevice, CHAR outchar );
|
int CALLBACK PmacSendLineA( DWORD dwDevice, PCHAR outchar );
|
int CALLBACK PmacGetLineA( DWORD dwDevice, PCHAR linebuf, UINT maxCHAR );
|
int CALLBACK PmacGetLineExA(DWORD dwDevice,PCHAR linebuf,UINT maxchar);
|
int CALLBACK PmacGetBufferA( DWORD dwDevice, PCHAR linebuf, UINT maxchar );
|
void CALLBACK PmacSendCommandA( DWORD dwDevice, PCHAR outCHAR );
|
void CALLBACK PmacFlush( DWORD dwDevice );
|
int CALLBACK PmacGetPmacType( DWORD dwDevice );
|
BOOL CALLBACK PmacGetIVariableStrA( DWORD dwDevice, LPSTR str, UINT num );
|
int CALLBACK PmacMultiDownloadA( DWORD dwDevice, DOWNLOADMSGPROC msgp, PCHAR outfile,
|
PCHAR inifile, PCHAR szUserId, BOOL macro, BOOL map, BOOL log, BOOL dnld );
|
int CALLBACK PmacAddDownloadFileA( DWORD dwDevice, PCHAR inifile, PCHAR szUserId, PCHAR szDLFile );
|
int CALLBACK PmacRemoveDownloadFileA( DWORD dwDevice, PCHAR inifile, PCHAR szUserId, PCHAR szDLFile );
|
void CALLBACK PmacRenumberFilesA( DWORD dwDevice, int file_num, PCHAR szIniFile );
|
int CALLBACK PmacGetErrorStrA( DWORD dwDevice, PCHAR str, int maxchar );
|
|
// Unicode string exported functions
|
int CALLBACK PmacGetResponseW( DWORD dwDevice, PWCHAR s, UINT maxchar, PWCHAR outstr );
|
int CALLBACK PmacGetResponseExW( DWORD dwDevice, PWCHAR s, UINT maxchar, PWCHAR outstr );
|
int CALLBACK PmacGetControlResponseW( DWORD dwDevice, PWCHAR s, UINT maxchar, WCHAR outchar );
|
int CALLBACK PmacGetControlResponseExW( DWORD dwDevice, PWCHAR s, UINT maxchar, WCHAR outchar );
|
BOOL CALLBACK PmacSendCharW( DWORD dwDevice, WCHAR outchar );
|
int CALLBACK PmacSendLineW( DWORD dwDevice, PWCHAR outchar );
|
int CALLBACK PmacGetLineW( DWORD dwDevice, PWCHAR linebuf, UINT maxCHAR );
|
int CALLBACK PmacGetLineExW(DWORD dwDevice,PWCHAR linebuf,UINT maxchar);
|
int CALLBACK PmacGetBufferW( DWORD dwDevice, PWCHAR linebuf, UINT maxchar );
|
void CALLBACK PmacSendCommandW( DWORD dwDevice, PWCHAR outchar );
|
BOOL CALLBACK PmacGetIVariableStrW( DWORD dwDevice, LPWSTR str, UINT num );
|
WORD CALLBACK PmacGetPlcStatus( DWORD dwDevice, TOTAL_PLC_STATUS_STRUCT * plc_stat );
|
BOOL CALLBACK PmacIsAnyPLCRunning(DWORD dwDevice);
|
int CALLBACK PmacMultiDownloadW( DWORD dwDevice, DOWNLOADMSGPROC msgp, PWCHAR outfile,
|
PWCHAR inifile, PWCHAR szUserId, BOOL macro, BOOL map, BOOL log, BOOL dnld );
|
int CALLBACK PmacAddDownloadFileW( DWORD dwDevice, PWCHAR inifile, PWCHAR szUserId, PWCHAR szDLFile );
|
int CALLBACK PmacRemoveDownloadFileW( DWORD dwDevice, PWCHAR inifile, PWCHAR szUserId, PWCHAR szDLFile );
|
void CALLBACK PmacRenumberFilesW( DWORD dwDevice, int file_num, PWCHAR szIniFile );
|
int CALLBACK PmacGetErrorStrW( DWORD dwDevice, PWCHAR str, int maxchar );
|
|
// Functions pertaining to status
|
BOOL CALLBACK PmacGetGlobalStatus( DWORD dwDevice, DWORD * status );
|
BOOL CALLBACK PmacGetCoordStatus( DWORD dwDevice, UINT csn, DWORD * status );
|
BOOL CALLBACK PmacGetMotorStatus( DWORD dwDevice, UINT mtr, DWORD * status );
|
|
// Functions pertaining to global
|
BOOL CALLBACK PmacSysServoError( DWORD dwDevice );
|
BOOL CALLBACK PmacSysReEntryError( DWORD dwDevice );
|
BOOL CALLBACK PmacSysMemChecksumError( DWORD dwDevice );
|
BOOL CALLBACK PmacSysPromChecksumError( DWORD dwDevice );
|
|
// Functions pertaining to position
|
double CALLBACK PmacGetCommandedPos( DWORD dwDevice, int mtr, double units );
|
double CALLBACK PmacPosition( DWORD dwDevice, int mtr, double units );
|
double CALLBACK PmacNetActualPosition(DWORD dwDevice,int mtr,double units);
|
double CALLBACK PmacFollowError( DWORD dwDevice, int mtr, double units );
|
double CALLBACK PmacGetVel( DWORD dwDevice, int mtr, double units );
|
void CALLBACK PmacGetMasterPos( DWORD dwDevice, int mtr, double units, double *the_double );
|
void CALLBACK PmacGetCompensationPos( DWORD dwDevice, int mtr, double units, double *the_double );
|
|
|
// Functions pertaining to coord systems
|
long CALLBACK PmacPe( DWORD dwDevice, int cs );
|
BOOL CALLBACK PmacRotBufFull( DWORD dwDevice, int crd );
|
BOOL CALLBACK PmacSysInposition( DWORD dwDevice, int crd );
|
BOOL CALLBACK PmacSysWarnFError( DWORD dwDevice, int crd );
|
BOOL CALLBACK PmacSysFatalFError( DWORD dwDevice, int crd );
|
BOOL CALLBACK PmacSysRunTimeError( DWORD dwDevice, int crd );
|
BOOL CALLBACK PmacSysCircleRadError( DWORD dwDevice, int crd );
|
BOOL CALLBACK PmacSysAmpFaultError( DWORD dwDevice, int crd );
|
BOOL CALLBACK PmacProgRunning( DWORD dwDevice, int crd );
|
BOOL CALLBACK PmacProgStepping( DWORD dwDevice, int crd );
|
BOOL CALLBACK PmacProgContMotion( DWORD dwDevice, int crd );
|
BOOL CALLBACK PmacProgContRequest( DWORD dwDevice, int crd );
|
int CALLBACK PmacProgRemaining( DWORD dwDevice, int crd );
|
BOOL CALLBACK PmacMotionBufOpen( DWORD dwDevice );
|
BOOL CALLBACK PmacRotBufOpen( DWORD dwDevice );
|
double CALLBACK PmacGetFeedRateMode( DWORD dwDevice, int csn, int * mode );
|
double CALLBACK PmacGetAxisTargetPos( DWORD dwDevice, int crd, char axchar );
|
|
// Functions pertaining to individual motors
|
BOOL CALLBACK PmacAmpEnabled( DWORD dwDevice, int mtr );
|
BOOL CALLBACK PmacWarnFError( DWORD dwDevice, int mtr );
|
BOOL CALLBACK PmacFatalFError( DWORD dwDevice, int mtr );
|
BOOL CALLBACK PmacAmpFault( DWORD dwDevice, int mtr );
|
BOOL CALLBACK PmacOnPositionLimit( DWORD dwDevice, int mtr );
|
BOOL CALLBACK PmacHomeComplete( DWORD dwDevice, int mtr );
|
BOOL CALLBACK PmacInposition( DWORD dwDevice, int mtr );
|
double CALLBACK PmacGetTargetPos( DWORD dwDevice, int motor, double posscale );
|
double CALLBACK PmacGetBiasPos( DWORD dwDevice, int motor, double posscale );
|
long CALLBACK PmacTimeRemInMove( DWORD dwDevice, int cs );
|
long CALLBACK PmacTimeRemInTATS( DWORD dwDevice, int cs );
|
BOOL CALLBACK PmacDataBlock( DWORD dwDevice, int mtr );
|
BOOL CALLBACK PmacPhasedMotor( DWORD dwDevice, int mtr );
|
BOOL CALLBACK PmacMotorEnabled( DWORD dwDevice, int mtr );
|
BOOL CALLBACK PmacHandwheelEnabled( DWORD dwDevice, int mtr );
|
BOOL CALLBACK PmacOpenLoop( DWORD dwDevice, int mtr );
|
BOOL CALLBACK PmacOnNegativeLimit( DWORD dwDevice, int mtr );
|
BOOL CALLBACK PmacOnPositiveLimit( DWORD dwDevice, int mtr );
|
void CALLBACK PmacSetJogReturn( DWORD dwDevice, int mtr );
|
|
// Command Logging
|
BOOL CALLBACK CommandLogging( DWORD dwDevice, PCHAR str, BOOL dirn );
|
BOOL CALLBACK CommandLoggingW( DWORD dwDevice, PWCHAR outstr, BOOL dirn );
|
|
// Logical query functions
|
PROGRAM CALLBACK PmacGetProgramMode( DWORD dwDevice, int csn );
|
MOTIONMODE CALLBACK PmacGetMotionMode( DWORD dwDevice, int csn );
|
MOTION CALLBACK PmacGetMotorMotion( DWORD dwDevice, int mtr );
|
|
#ifdef __cplusplus
|
}
|
#endif
|
|
#ifdef UNICODE
|
#define PmacGetResponse PmacGetResponseW
|
#define PmacGetControlResponse PmacGetControlResponseW
|
#define PmacGetControlResponseEx PmacGetControlResponseExW
|
#define PmacSendChar PmacSendCharW
|
#define PmacSendLine PmacSendLineW
|
#define PmacGetLine PmacGetLineW
|
#define PmacGetLineEx PmacGetLineExW
|
#define PmacGetBuffer PmacGetBufferW
|
#define PmacSendCommand PmacSendCommandW
|
#define PmacMultiDownload PmacMultiDownloadW
|
#define PmacAddDownloadFile PmacAddDownloadFileW
|
#define PmacRemoveDownloadFile PmacRemoveDownloadFileW
|
#define PmacRenumberFiles PmacRenumberFilesW
|
#define PmacGetErrorStr PmacGetErrorStrW
|
#else
|
#define PmacGetResponse PmacGetResponseA
|
#define PmacGetControlResponse PmacGetControlResponseA
|
#define PmacGetControlResponseEx PmacGetControlResponseExA
|
#define PmacSendChar PmacSendCharA
|
#define PmacSendLine PmacSendLineA
|
#define PmacGetLine PmacGetLineA
|
#define PmacGetLineEx PmacGetLineExA
|
#define PmacGetBuffer PmacGetBufferA
|
#define PmacSendCommand PmacSendCommandA
|
#define PmacMultiDownload PmacMultiDownloadA
|
#define PmacAddDownloadFile PmacAddDownloadFileA
|
#define PmacRemoveDownloadFile PmacRemoveDownloadFileA
|
#define PmacRenumberFiles PmacRenumberFilesA
|
#define PmacGetErrorStr PmacGetErrorStrA
|
#endif // !UNICODE
|
|
#endif
|