From ce371d683721e8f29da3d094293cbf0fbbe527a9 Mon Sep 17 00:00:00 2001 From: Mark Koennecke Date: Tue, 15 Jul 2014 16:47:32 +0200 Subject: [PATCH] - Changes to the old TAS initialisation system to have ss and sa to be processed properly. Requires a script scatfix to exist --- psi.c | 3 --- tasinit.c | 15 ++++++++++++++- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/psi.c b/psi.c index 725109a..880d751 100644 --- a/psi.c +++ b/psi.c @@ -34,7 +34,6 @@ #include "el755driv.h" #include #include "serial.h" -#include "sinq.h" #include "sinqhttp.h" /*--------------------------------------------------------------------------*/ @@ -119,8 +118,6 @@ static void AddPsiCommands(SicsInterp * pInter) PCMD("MakeRuenBuffer", InitBufferSys); SCMD("MakeSansliRebin", MakeSansliRebin); SCMD("MakeSANSWave", MakeSANSWave); - SCMD("MakeSinq", SinqFactory); - SCMD("MakeSinqRedirect", SinqRedirectFactory); SCMD("MakeSPS", SPSFactory); SCMD("MakeSPSS7", MakeSPSS7); PCMD("MakeSWHPMotor", MakeSWHPMotor); diff --git a/tasinit.c b/tasinit.c index 26f7a3e..8748a13 100644 --- a/tasinit.c +++ b/tasinit.c @@ -226,10 +226,11 @@ char *tasVariableOrder[MAXPAR + 1] = { ------------------------------------------------------------------------*/ static int TasSaveStatus(void *self, char *name, FILE * fd) { - int i = 0; + int i = 0, iscat; pMotor pMot; float value; SConnection *pCon = NULL; + pSicsVariable pScat = NULL; pCon = SCCreateDummyConnection(pServ->pSics); if (!pCon) { @@ -252,9 +253,21 @@ static int TasSaveStatus(void *self, char *name, FILE * fd) MotorGetSoftPosition(pMot,pCon,&value); fprintf(fd,"run %s %f\n",tasMotorOrder[i], value); */ + } i++; } + pScat = (pSicsVariable)FindCommandData(pServ->pSics,"SS","SicsVariable"); + if(pScat != NULL){ + VarGetInt(pScat,&iscat); + fprintf(fd,"catch {scatfix ss %d}\n", iscat); + } + pScat = (pSicsVariable)FindCommandData(pServ->pSics,"SA","SicsVariable"); + if(pScat != NULL){ + VarGetInt(pScat,&iscat); + fprintf(fd,"catch {scatfix sa %d}\n", iscat); + } + SCDeleteConnection(pCon); /* fprintf(fd,"success\n");