init
r3787 | jgn | 2012-11-09 14:12:31 +1100 (Fri, 09 Nov 2012) | 1 line
This commit is contained in:

committed by
Douglas Clowes

parent
48b811506c
commit
d02634ff13
50
site_ansto/jgn-tclmotdriv.h
Normal file
50
site_ansto/jgn-tclmotdriv.h
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
/*---------------------------------------------------------------------------
|
||||||
|
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 errorCode;
|
||||||
|
char tclError[1024];
|
||||||
|
char motName[132];
|
||||||
|
float speed; /**< physical units per second */
|
||||||
|
float accel; /**< physical units per second^2 */
|
||||||
|
float decel; /**< physical units per second^2 */
|
||||||
|
char long_name[256]; /**< long name of motor */
|
||||||
|
char units[256]; /**< physical units for axis */
|
||||||
|
|
||||||
|
} TCLDriv;
|
||||||
|
|
||||||
|
MotorDriver *CreateTclMotDriv(SConnection *pCon, int argc, char *argv[]);
|
||||||
|
|
||||||
|
#endif
|
Reference in New Issue
Block a user