/*-------------------------------------------------------------------------------------- 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