Main Page   Class Hierarchy   Alphabetical List   Data Structures   File List   Data Fields   Globals  

sim.h

Go to the documentation of this file.
00001 #ifndef SIM_H
00002 #define SIM_H
00003 
00004 /*
00005   sim.h
00006 
00007   Decls for external interface simulation
00008 
00009   Modification history:
00010 
00011    7-Nov-2000 WPS added simPos to store a simulated position to test against for better probe simulation.
00012   20-Mar-2000 WPS added unused attribute to sim_h to avoid 'defined but not used' compiler warning.
00013   20-Mar-2000 WPS added (void) to functions with no arguments to avoid the
00014   "function declaration isn't a prototype" compiler warning.
00015   10-Aug-1998  FMP fixed decls for simAioXXX (they were extAioXX by mistake)
00016   7-Aug-1998  FMP changed to simDio/Aio/MotInit/Quit()
00017   18-Mar-1998  FMP took out simInit(), simQuit() and replaced with
00018   simMotInit(), simIoInit(), etc.
00019   16-Oct-1997  FMP created
00020   */
00021 
00022 /* ident tag */
00023 #ifndef __GNUC__
00024 #ifndef __attribute__
00025 #define __attribute__(x)
00026 #endif
00027 #endif
00028 
00029 static char __attribute__((unused)) sim_h[] = "$Id: sim.h,v 1.3 2000/11/08 18:45:54 wshackle Exp $";
00030 
00031 #ifdef __cplusplus
00032 extern "C" {
00033 #endif
00034 
00035 /* motion part */
00036 extern int simMotInit(const char * stuff);
00037 extern int simMotQuit(void);
00038 extern int simDacNum(void);
00039 extern int simDacWrite(int dac, double volts);
00040 extern int simDacWriteAll(int max, double * volts);
00041 extern int simEncoderSetIndexModel(unsigned int model);
00042 extern int simEncoderNum(void);
00043 extern int simEncoderRead(int encoder, double * counts);
00044 extern int simEncoderReadAll(int max, double * counts);
00045 extern int simEncoderResetIndex(int encoder);
00046 extern int simEncoderReadLatch(int encoder, int * flag);
00047 extern int simEncoderReadLevel(int encoder, int * flag);
00048 extern int simMaxLimitSwitchRead(int axis, int * flag);
00049 extern int simMinLimitSwitchRead(int axis, int * flag);
00050 extern int simHomeSwitchRead(int axis, int * flag);
00051 extern int simAmpEnable(int axis, int enable);
00052 extern int simAmpFault(int axis, int * fault);
00053 
00054 /* digital IO part */
00055 extern int simDioInit(const char * stuff);
00056 extern int simDioQuit(void);
00057 extern int simDioMaxInputs(void);       /* index < this for simDioRead() */
00058 extern int simDioMaxOutputs(void);      /* index < this for simDioWrite(),Check() */
00059 extern int simDioRead(int index, int *value);
00060 extern int simDioWrite(int index, int value);
00061 extern int simDioCheck(int index, int *value);
00062 extern int simDioByteRead(int index, unsigned char *byte);
00063 extern int simDioShortRead(int index, unsigned short *sh);
00064 extern int simDioWordRead(int index, unsigned int *word);
00065 extern int simDioByteWrite(int index, unsigned char byte);
00066 extern int simDioShortWrite(int index, unsigned short sh);
00067 extern int simDioWordWrite(int index, unsigned int word);
00068 extern int simDioByteCheck(int index, unsigned char *byte);
00069 extern int simDioShortCheck(int index, unsigned short *sh);
00070 extern int simDioWordCheck(int index, unsigned int *word);
00071 
00072 /* analog IO part */
00073 extern int simAioInit(const char * stuff);
00074 extern int simAioQuit(void);
00075 extern int simAioMaxInputs(void);
00076 extern int simAioMaxOutputs(void);
00077 extern int simAioRead(int index, double *volts);
00078 extern int simAioWrite(int index, double volts);
00079 extern int simAioCheck(int index, double *volts);
00080 
00081 
00082 extern double simPos[];
00083 
00084 #ifdef __cplusplus
00085 }
00086 #endif
00087 
00088 #endif

Generated on Sun Dec 2 15:27:43 2001 for EMC by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001