- Adapted indenation to new agreed upon system
- Added support for second generation scriptcontext based counter
This commit is contained in:
96
countdriv.h
96
countdriv.h
@@ -22,76 +22,74 @@
|
||||
#define COTERM 0
|
||||
#define COREDO 1
|
||||
|
||||
#define MAXCOUNT 9 /* No of monitors + actual counter */
|
||||
|
||||
#define MAXCOUNT 9 /* No of monitors + actual counter */
|
||||
|
||||
/* Parameter codes for the Set/Get pair of routines */
|
||||
|
||||
/* Parameter codes for the Set/Get pair of routines */
|
||||
/*-------- threshold */
|
||||
#define PARTHRESHOLD 1
|
||||
#define PARTHRESHOLD 1
|
||||
|
||||
/* counter driver additional error codes*/
|
||||
#define UNKNOWNPAR -5000
|
||||
#define BADCOUNTER -5001
|
||||
|
||||
typedef struct __COUNTER {
|
||||
/* variables */
|
||||
char *name;
|
||||
char *type;
|
||||
CounterMode eMode;
|
||||
float fPreset;
|
||||
float fLastCurrent;
|
||||
float fTime;
|
||||
int iNoOfMonitors;
|
||||
long lCounts[MAXCOUNT];
|
||||
int iPause;
|
||||
int iErrorCode;
|
||||
/* functions */
|
||||
int (*GetStatus)(struct __COUNTER *self, float *fControl);
|
||||
int (*Start)(struct __COUNTER *self);
|
||||
int (*Pause)(struct __COUNTER *self);
|
||||
int (*Continue)(struct __COUNTER *self);
|
||||
int (*Halt)(struct __COUNTER *self);
|
||||
int (*ReadValues)(struct __COUNTER *self);
|
||||
int (*GetError)(struct __COUNTER *self, int *iCode,
|
||||
char *error, int iErrLen);
|
||||
int (*TryAndFixIt)(struct __COUNTER *self, int iCode);
|
||||
int (*Set)(struct __COUNTER *self,char *name,
|
||||
int iCter, float fVal);
|
||||
int (*Get)(struct __COUNTER *self,char *name,
|
||||
int iCter, float *fVal);
|
||||
int (*Send)(struct __COUNTER *self, char *pText,
|
||||
char *pReply, int iReplyLen);
|
||||
void (*KillPrivate)(struct __COUNTER *self);
|
||||
void *pData; /* counter specific data goes here, ONLY for
|
||||
internal driver use!
|
||||
typedef struct __COUNTER {
|
||||
/* variables */
|
||||
char *name;
|
||||
char *type;
|
||||
CounterMode eMode;
|
||||
float fPreset;
|
||||
float fLastCurrent;
|
||||
float fTime;
|
||||
int iNoOfMonitors;
|
||||
long lCounts[MAXCOUNT];
|
||||
int iPause;
|
||||
int iErrorCode;
|
||||
/* functions */
|
||||
int (*GetStatus) (struct __COUNTER * self, float *fControl);
|
||||
int (*Start) (struct __COUNTER * self);
|
||||
int (*Pause) (struct __COUNTER * self);
|
||||
int (*Continue) (struct __COUNTER * self);
|
||||
int (*Halt) (struct __COUNTER * self);
|
||||
int (*ReadValues) (struct __COUNTER * self);
|
||||
int (*GetError) (struct __COUNTER * self, int *iCode,
|
||||
char *error, int iErrLen);
|
||||
int (*TryAndFixIt) (struct __COUNTER * self, int iCode);
|
||||
int (*Set) (struct __COUNTER * self, char *name, int iCter, float fVal);
|
||||
int (*Get) (struct __COUNTER * self, char *name, int iCter, float *fVal);
|
||||
int (*Send) (struct __COUNTER * self, char *pText,
|
||||
char *pReply, int iReplyLen);
|
||||
void (*KillPrivate) (struct __COUNTER * self);
|
||||
void *pData; /* counter specific data goes here, ONLY for
|
||||
internal driver use!
|
||||
*/
|
||||
} CounterDriver, *pCounterDriver;
|
||||
|
||||
} CounterDriver, *pCounterDriver;
|
||||
|
||||
/*------------------------------------------------------------------------*/
|
||||
|
||||
/* countdriv.c */
|
||||
pCounterDriver CreateCounterDriver(char *name, char *type);
|
||||
void DeleteCounterDriver(pCounterDriver self);
|
||||
|
||||
pCounterDriver CreateCounterDriver(char *name, char *type);
|
||||
void DeleteCounterDriver(pCounterDriver self);
|
||||
|
||||
/* PSI EL737 Counter */
|
||||
pCounterDriver NewEL737Counter(char *name, char *host, int iPort,
|
||||
int iChannel);
|
||||
void KillEL737Counter(pCounterDriver self);
|
||||
|
||||
pCounterDriver NewEL737Counter(char *name, char *host, int iPort,
|
||||
int iChannel);
|
||||
void KillEL737Counter(pCounterDriver self);
|
||||
|
||||
/* PSI Simulation counter, if you have no hardware */
|
||||
/* simcter.c */
|
||||
pCounterDriver NewSIMCounter(char *name, float fVal);
|
||||
void KillSIMCounter(pCounterDriver self);
|
||||
|
||||
pCounterDriver NewSIMCounter(char *name, float fVal);
|
||||
void KillSIMCounter(pCounterDriver self);
|
||||
|
||||
/*
|
||||
* McStas simulation counter driver
|
||||
* file: mcstascounter.c
|
||||
*/
|
||||
pCounterDriver NewMcStasCounter(char *name);
|
||||
pCounterDriver NewMcStasCounter(char *name);
|
||||
|
||||
/*
|
||||
* for regression testing
|
||||
* file: regresscter.c
|
||||
*/
|
||||
pCounterDriver NewRegressCounter(char *name);
|
||||
pCounterDriver NewRegressCounter(char *name);
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user