Files
sics/mccontrol.h
2012-11-15 12:39:51 +11:00

50 lines
1.6 KiB
C

/*--------------------------------------------------------------------------------------
McSas simulation to SICS controller module header file. For more details see
mcstas.tex.
copyright: see file COPYRIGHT
Mark Koennecke, June 2005
----------------------------------------------------------------------------------------*/
#ifndef MCSTASCONTROL
#define MCSTASCONTROL
#include "sics.h"
#include "countdriv.h"
#include "stringdict.h"
/*--------------------- data structure -------------------------------------------------*/
typedef struct {
pObjectDescriptor pDes;
pStringDict scripts;
int updateIntervall;
int pid;
float monitorScale;
int lastError;
char errorText[256];
CounterMode mode;
float fPreset;
time_t lastUpdate;
time_t startTime;
time_t stopTime;
time_t lastMonitorRead;
float lastMon;
} McStasController, *pMcStasController;
/*---------------------- function prototypes -------------------------------------------*/
int McStasControllerFactory(SConnection * pCon, SicsInterp * pSics,
void *pData, int argc, char *argv[]);
int McStasControllerWrapper(SConnection * pCon, SicsInterp * pSics,
void *pData, int argc, char *argv[]);
int McStasStart(pMcStasController self, CounterMode mode, float fPreset);
int McStasStatus(pMcStasController self, float *fControl);
int McStasStop(pMcStasController self);
int McStasTransferData(pMcStasController self);
int McStasGetError(pMcStasController self, char *error, int errLen);
int McStasFix(pMcStasController self);
float McStasGetTime(pMcStasController self);
#endif