- obsolete files
This commit is contained in:
146
eve.h
146
eve.h
@ -1,146 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------
|
|
||||||
eve.h
|
|
||||||
|
|
||||||
extended environment controller utilities
|
|
||||||
|
|
||||||
Markus Zolliker, Sept 2004
|
|
||||||
----------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#ifndef EVE_H
|
|
||||||
#define EVE_H
|
|
||||||
|
|
||||||
#include "fsm.h"
|
|
||||||
#include "evcontroller.h"
|
|
||||||
#include "rs232controller.h"
|
|
||||||
|
|
||||||
typedef enum { idleState, readState, expectState, lostState } EveState;
|
|
||||||
|
|
||||||
typedef struct EveParArg EveParArg;
|
|
||||||
typedef struct EvePar EvePar;
|
|
||||||
|
|
||||||
/* the parameter definition function may call any parameter function (see below) */
|
|
||||||
typedef void (*EveParDef)(void *private, EveParArg *arg);
|
|
||||||
|
|
||||||
typedef int (*EveSubCmd)(SConnection *pCon, pEVControl evc, int argc, char *argv[]);
|
|
||||||
|
|
||||||
/* Eve must always be the first member of the EVCs private struct */
|
|
||||||
|
|
||||||
typedef struct Eve {
|
|
||||||
EveParDef pardef;
|
|
||||||
rs232 *ser;
|
|
||||||
Fsm *task; /* a pointer to the task */
|
|
||||||
FsmFunc todo;
|
|
||||||
FsmFunc run;
|
|
||||||
FsmFunc read;
|
|
||||||
int hwstate;
|
|
||||||
pEVControl evc;
|
|
||||||
int errCode; /* error code of last operation. not changed on success */
|
|
||||||
int verbose;
|
|
||||||
EveState state;
|
|
||||||
time_t cmdtime;
|
|
||||||
float value;
|
|
||||||
int lost;
|
|
||||||
int syntax; /* not used in Eve, may be used by the driver. used by OiConn */
|
|
||||||
char cmd[32];
|
|
||||||
char ans[64];
|
|
||||||
char version[64];
|
|
||||||
int (*checkStatus)(void *self, SConnection *pCon); /* original CheckStatus function */
|
|
||||||
EvePar *par;
|
|
||||||
int npar;
|
|
||||||
time_t logtime;
|
|
||||||
int period;
|
|
||||||
char errMsg[128];
|
|
||||||
} Eve;
|
|
||||||
|
|
||||||
#define EVE_ACTPAR 1
|
|
||||||
#define EVE_LOGPAR 2
|
|
||||||
#define EVE_SAVEPAR 4
|
|
||||||
|
|
||||||
/* parameter functions (pfs)
|
|
||||||
* -------------------------
|
|
||||||
* there are some restrictions:
|
|
||||||
*
|
|
||||||
* - pfs may only be called from within the pardef function
|
|
||||||
* - the order and number of pfs must not change at runtime
|
|
||||||
*
|
|
||||||
* Arguments:
|
|
||||||
*
|
|
||||||
* arg: just the arg Argument in pardef
|
|
||||||
* name: parameter name, must be static and never changed
|
|
||||||
* (usually a string literal)
|
|
||||||
* value: a pointer to the corr. member of the drivers private struct
|
|
||||||
* fmt: a format. if it contains a blank, the content after the blank is
|
|
||||||
* skipped when not listing
|
|
||||||
* access: a SICS access mode (usInternal, usMugger, usUser, usSpy)
|
|
||||||
* flags: the sum of some flags values:
|
|
||||||
* EVE_ACTPAR: parameter is active
|
|
||||||
* EVE_LOGPAR: parameter is logged by default
|
|
||||||
* EVE_SAVEPAR: parameter is saved on sics exit
|
|
||||||
* maxsize: the maximum size of a fixed size string, or 0 for a dynamic string
|
|
||||||
* index: the ObPar index
|
|
||||||
* list: a NULL terminated list of value names
|
|
||||||
* subcmd: a function for handling the subcommand
|
|
||||||
* fsmFunc: a fsm function to handle a subcommand
|
|
||||||
*/
|
|
||||||
void EveFloatPar(EveParArg *arg, char *name, float *value, char *fmt,
|
|
||||||
int access, int flags);
|
|
||||||
void EveIntPar(EveParArg *arg, char *name, int *value,
|
|
||||||
int access, int flags);
|
|
||||||
void EveStrPar(EveParArg *arg, char *name, char **value, int maxsize,
|
|
||||||
int access, int flags);
|
|
||||||
void EveObPar(EveParArg *arg, int index, char *fmt, int flags);
|
|
||||||
void EveObParEnum(EveParArg *arg, int index, char *list[], int flags);
|
|
||||||
void EveEnumPar(EveParArg *arg, char *name, int *value, char *list[],
|
|
||||||
int access, int flags);
|
|
||||||
void EveCmd(EveParArg *arg, char *name, EveSubCmd subcmd, int access);
|
|
||||||
void EveFloatCmd(EveParArg *arg, char *name, float *value, char *fmt,
|
|
||||||
FsmFunc fsmFunc, int access, int flags);
|
|
||||||
|
|
||||||
/* a collection of parameters from the standard EVController
|
|
||||||
* (limits, tolerance, drive handling, out of tolerance handling)
|
|
||||||
* normally appearing at the top
|
|
||||||
*/
|
|
||||||
void EveStdPar(EveParArg *arg);
|
|
||||||
|
|
||||||
/* some even more standard values (should always be used)
|
|
||||||
* appearing at the end of the list
|
|
||||||
*/
|
|
||||||
void EveStdParEnd(EveParArg *arg, char *fmt, int targetFlag);
|
|
||||||
|
|
||||||
/* return the connection related to the parameter request */
|
|
||||||
SConnection *EveArgConn(EveParArg *arg);
|
|
||||||
|
|
||||||
/* check if it is a user action (parameter list, set or read) */
|
|
||||||
int EveUserAction(EveParArg *arg);
|
|
||||||
|
|
||||||
/* write to the actual (last driving) connection */
|
|
||||||
int EvePrintf(Eve *eve, int iOut, char *fmt, ...);
|
|
||||||
|
|
||||||
/* evelog has to be called after all read operations */
|
|
||||||
void EveLog(Eve *eve);
|
|
||||||
|
|
||||||
void EveWriteError(Eve *eve);
|
|
||||||
void EveWrite(Eve *eve, char *cmd);
|
|
||||||
void EveWaitRead(Eve *eve);
|
|
||||||
int EveHandler(Eve *eve);
|
|
||||||
int EveIdle(long pc, Eve *eve);
|
|
||||||
int EveRun(pEVDriver driver, float fVal);
|
|
||||||
int EveSend(pEVDriver driver, char *pCommand, char *pReply, int iLen);
|
|
||||||
int EveCheckStatus(void *evcVoid, SConnection *pCon);
|
|
||||||
EVMode EveGetMode(void *data);
|
|
||||||
int EveClose(pEVDriver driver);
|
|
||||||
int EveAlwaysOk(void *data);
|
|
||||||
int EveDontFix(pEVDriver driver, int iError);
|
|
||||||
void EveKill(void *pData);
|
|
||||||
int EveGetError(pEVDriver driver, int *iCode, char *error, int iErrLen);
|
|
||||||
int EveInit(pEVDriver driver);
|
|
||||||
pEVDriver MakeEveDriver(int argc, char *argv[], Eve *eve, SConnection *pCon);
|
|
||||||
int EveWrapper(SConnection *pCon, SicsInterp *pSics, void *pData,
|
|
||||||
int argc, char *argv[]);
|
|
||||||
pEVControl MakeEveEVC(int argc, char *argv[], Eve *eve, SConnection *pCon);
|
|
||||||
|
|
||||||
#define EVE_ILL_ANS -3000
|
|
||||||
#define EVE_FAULT -3001
|
|
||||||
#define EVE_DEV_CHANGED -3002
|
|
||||||
|
|
||||||
#endif
|
|
Reference in New Issue
Block a user