Treat Tcl procs prefixed with imot_, hdb_ and get_ specially.
hdb_, Parameter will be added to hdb tree. imot_, Motor interface function, eg run, status. get_, Tcl code will be evaluated when "mot list" is called. Add debug info.
This commit is contained in:
43
site_ansto/ansto_tclmotdriv.h
Normal file
43
site_ansto/ansto_tclmotdriv.h
Normal file
@@ -0,0 +1,43 @@
|
||||
/*---------------------------------------------------------------------------
|
||||
This is a motor driver which is implemented in Tcl. This means
|
||||
this code is only a wrapper which calls Tcl functions to do the
|
||||
actual work.
|
||||
|
||||
copyright: see file COPYRIGHT
|
||||
|
||||
Mark Koennecke, December 2005
|
||||
--------------------------------------------------------------------------*/
|
||||
#ifndef TCLMOTDRIV
|
||||
#define TCLMOTDRIV
|
||||
#include "stringdict.h"
|
||||
|
||||
typedef struct ___TclDriv {
|
||||
/* general motor driver interface
|
||||
fields. REQUIRED!
|
||||
*/
|
||||
float fUpper; /* upper limit */
|
||||
float fLower; /* lower limit */
|
||||
char *name;
|
||||
int (*GetPosition) (void *self, float *fPos);
|
||||
int (*RunTo) (void *self, float fNewVal);
|
||||
int (*GetStatus) (void *self);
|
||||
void (*GetError) (void *self, int *iCode, char *buffer, int iBufLen);
|
||||
int (*TryAndFixIt) (void *self, int iError, float fNew);
|
||||
int (*Halt) (void *self);
|
||||
int (*GetDriverPar) (void *self, char *name, float *value);
|
||||
int (*SetDriverPar) (void *self, SConnection * pCon,
|
||||
char *name, float newValue);
|
||||
void (*ListDriverPar) (void *self, char *motorName, SConnection * pCon);
|
||||
void (*KillPrivate) (void *self);
|
||||
|
||||
/* Tcl specific fields */
|
||||
pStringDict mappings;
|
||||
int debug;
|
||||
int errorCode;
|
||||
char tclError[1024];
|
||||
char motName[132];
|
||||
} TCLDriv;
|
||||
|
||||
MotorDriver *CreateTclMotDriv(SConnection * pCon, int argc, char *argv[]);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user