Merge branch 'maverick' into develop
Compile under OSX
This commit is contained in:
@ -91,9 +91,10 @@ int main(int argc, char *argv[])
|
|||||||
printf("Unrecoverable error on server startup, exiting.........\n");
|
printf("Unrecoverable error on server startup, exiting.........\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
if (daemonize == 1)
|
if (daemonize == 1)
|
||||||
daemon(1, 1);
|
daemon(1, 1);
|
||||||
|
*/
|
||||||
|
|
||||||
RunServer(pServ);
|
RunServer(pServ);
|
||||||
|
|
||||||
|
4
ascon.c
4
ascon.c
@ -40,7 +40,7 @@ static int CreateSocketAdress(struct sockaddr_in *sockaddrPtr, /* Socket addres
|
|||||||
(char *) hostent->h_addr_list[0], (size_t) hostent->h_length);
|
(char *) hostent->h_addr_list[0], (size_t) hostent->h_length);
|
||||||
} else {
|
} else {
|
||||||
addr.s_addr = inet_addr(host);
|
addr.s_addr = inet_addr(host);
|
||||||
if (addr.s_addr == (unsigned long) -1) {
|
if (addr.s_addr == (unsigned int) -1) {
|
||||||
return 0; /* error */
|
return 0; /* error */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -73,7 +73,7 @@ void AsconError(Ascon *a, char *msg, int errorno)
|
|||||||
char *state;
|
char *state;
|
||||||
char num[8];
|
char num[8];
|
||||||
|
|
||||||
if (a->state < 0 || a->state >= AsconMaxState) {
|
if ( a->state >= AsconMaxState) {
|
||||||
state = "bad state";
|
state = "bad state";
|
||||||
} else {
|
} else {
|
||||||
state = stateText[a->state];
|
state = stateText[a->state];
|
||||||
|
@ -137,7 +137,7 @@ static int CreateSocketAdress(struct sockaddr_in *sockaddrPtr, /* Socket addres
|
|||||||
(char *) hostent->h_addr_list[0], (size_t) hostent->h_length);
|
(char *) hostent->h_addr_list[0], (size_t) hostent->h_length);
|
||||||
} else {
|
} else {
|
||||||
addr.s_addr = inet_addr(host);
|
addr.s_addr = inet_addr(host);
|
||||||
if (addr.s_addr == (unsigned long) -1) {
|
if (addr.s_addr == (unsigned int) -1) {
|
||||||
return 0; /* error */
|
return 0; /* error */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -238,7 +238,7 @@ int ANETconnect(char *name, int iPort)
|
|||||||
} else {
|
} else {
|
||||||
/* check for aaa.bbbb.ccc.dddd */
|
/* check for aaa.bbbb.ccc.dddd */
|
||||||
addr.s_addr = inet_addr(name);
|
addr.s_addr = inet_addr(name);
|
||||||
if(addr.s_addr == (unsigned long) -1) {
|
if(addr.s_addr == (unsigned int) -1) {
|
||||||
anetLog(ANETERROR, "Failed to locate host: %s", name);
|
anetLog(ANETERROR, "Failed to locate host: %s", name);
|
||||||
return ANETOPENFAIL;
|
return ANETOPENFAIL;
|
||||||
}
|
}
|
||||||
|
11
chadapter.c
11
chadapter.c
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
This is a drivable adapter for the ChopperController object (or also generic
|
This is a drivable adapter for the ChopperController object (or also generic
|
||||||
controller object). It allows to modify one of the variables supported by
|
controller object). It allows to modify one of the variables supported by
|
||||||
the controller through the normal SICS drive command. For more information
|
the controller through the normal SICS drive command. For more information
|
||||||
see file choco.w or choco.tex.
|
see file choco.w or choco.tex.
|
||||||
|
|
||||||
|
|
||||||
@ -174,8 +174,9 @@ static void KillAdapter(void *pData)
|
|||||||
if (self->pInt)
|
if (self->pInt)
|
||||||
free(self->pInt);
|
free(self->pInt);
|
||||||
|
|
||||||
if (self->pParName)
|
if (self->pParName){
|
||||||
free(self->pParName);
|
free(self->pParName);
|
||||||
|
}
|
||||||
|
|
||||||
free(self);
|
free(self);
|
||||||
}
|
}
|
||||||
@ -302,7 +303,7 @@ int CHAdapterAction(SConnection * pCon, SicsInterp * pSics, void *pData,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*=========================================================================
|
/*=========================================================================
|
||||||
An environment driver based on top of a controller object.
|
An environment driver based on top of a controller object.
|
||||||
-------------------------------------------------------------------------*/
|
-------------------------------------------------------------------------*/
|
||||||
static int AVEVSetValue(pEVDriver self, float fNew)
|
static int AVEVSetValue(pEVDriver self, float fNew)
|
||||||
{
|
{
|
||||||
@ -429,7 +430,7 @@ pEVDriver MakeControllerEnvironmentDriver(int argc, char *argv[])
|
|||||||
pDummy pDum = NULL;
|
pDummy pDum = NULL;
|
||||||
pChoco pChop;
|
pChoco pChop;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Two arguments are needed: the name of the controller and the
|
Two arguments are needed: the name of the controller and the
|
||||||
name of the parameter
|
name of the parameter
|
||||||
*/
|
*/
|
||||||
@ -449,7 +450,7 @@ pEVDriver MakeControllerEnvironmentDriver(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* alright: I think we got a controller now, let us create our
|
/* alright: I think we got a controller now, let us create our
|
||||||
act
|
act
|
||||||
*/
|
*/
|
||||||
pNew = CreateEVDriver(argc, argv);
|
pNew = CreateEVDriver(argc, argv);
|
||||||
if (!pNew) {
|
if (!pNew) {
|
||||||
|
@ -709,7 +709,7 @@ int ConfigurableVirtualMotorAction(SConnection * pCon, SicsInterp * pSics,
|
|||||||
SCSendOK(pCon);
|
SCSendOK(pCon);
|
||||||
return 1;
|
return 1;
|
||||||
} else {
|
} else {
|
||||||
snprintf(pBueffel, 5120, "ERROR: subcommand %s to %s unknown",
|
snprintf(pBueffel, sizeof(pBueffel), "ERROR: subcommand %s to %s unknown",
|
||||||
argv[1], argv[0]);
|
argv[1], argv[0]);
|
||||||
SCWrite(pCon, pBueffel, eError);
|
SCWrite(pCon, pBueffel, eError);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -497,7 +497,7 @@ int StopExe(pExeList self, char *name)
|
|||||||
assert(self);
|
assert(self);
|
||||||
|
|
||||||
/* if not active, nothing to do */
|
/* if not active, nothing to do */
|
||||||
if ((self->pOwner == NULL) ) {
|
if (self->pOwner == NULL ) {
|
||||||
self->iRun = 0;
|
self->iRun = 0;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -393,7 +393,7 @@ static int FourMessStoreIntern(pSICSOBJ self, SConnection * pCon,
|
|||||||
double fHkl[3], double fPosition[4], char *extra)
|
double fHkl[3], double fPosition[4], char *extra)
|
||||||
{
|
{
|
||||||
pFourMess priv = self->pPrivate;
|
pFourMess priv = self->pPrivate;
|
||||||
float fSum, fSigma, fTemp, fStep, fPreset;
|
float fSum, fSigma, fTemp, fStep = .0, fPreset =.0;
|
||||||
int i, iLF, iRet, iNP, ii;
|
int i, iLF, iRet, iNP, ii;
|
||||||
long *lCounts = NULL;
|
long *lCounts = NULL;
|
||||||
pEVControl pEva = NULL;
|
pEVControl pEva = NULL;
|
||||||
|
4
frame.c
4
frame.c
@ -19,8 +19,8 @@
|
|||||||
#include "HistMem.h"
|
#include "HistMem.h"
|
||||||
#include "HistMem.i"
|
#include "HistMem.i"
|
||||||
#include "HistDriv.i"
|
#include "HistDriv.i"
|
||||||
#include "sicspsi/hardsup/sinqhm.h"
|
#include <hardsup/sinqhm.h>
|
||||||
#include "sicspsi/sinqhmdriv.i"
|
#include <sinqhmdriv.i>
|
||||||
#include "nxdict.h"
|
#include "nxdict.h"
|
||||||
#include "frame.h"
|
#include "frame.h"
|
||||||
|
|
||||||
|
@ -1129,7 +1129,7 @@ void HMListOption(pHistMem self, SConnection * pCon)
|
|||||||
static pDynString formatTOF(pHistMem self)
|
static pDynString formatTOF(pHistMem self)
|
||||||
{
|
{
|
||||||
const float *timebin;
|
const float *timebin;
|
||||||
int iLength, i, delay, delta;
|
int iLength, i, delay, delta = .0;
|
||||||
char number[20];
|
char number[20];
|
||||||
pDynString result = NULL;
|
pDynString result = NULL;
|
||||||
|
|
||||||
|
3
hmdata.c
3
hmdata.c
@ -469,9 +469,6 @@ long sumHMDataRectangle(pHistMem hist, SConnection * pCon,
|
|||||||
return -1;
|
return -1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (lSum < 0) {
|
|
||||||
lSum = -lSum;
|
|
||||||
}
|
|
||||||
return lSum;
|
return lSum;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -162,7 +162,7 @@ static int RemoveObject(SConnection * con, SicsInterp * sics,
|
|||||||
p = strchr(className, ' ');
|
p = strchr(className, ' ');
|
||||||
if (p) {
|
if (p) {
|
||||||
snprintf(shortClassName, sizeof shortClassName, "%.*s",
|
snprintf(shortClassName, sizeof shortClassName, "%.*s",
|
||||||
p - className, className);
|
(int)(p - className), className);
|
||||||
cmdin = (CmdInitializer) GetInitializer("Object", shortClassName);
|
cmdin = (CmdInitializer) GetInitializer("Object", shortClassName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -211,7 +211,7 @@ static int FindLimit(pIntegData self, int iStart, int iSign)
|
|||||||
--------------------------------------------------------------------------*/
|
--------------------------------------------------------------------------*/
|
||||||
static int DoIntegrate(pIntegData self, float *fSum, float *fVariance)
|
static int DoIntegrate(pIntegData self, float *fSum, float *fVariance)
|
||||||
{
|
{
|
||||||
long lLeftBack, lRightBack, lBackMean;
|
long lLeftBack = 0, lRightBack, lBackMean;
|
||||||
int i, iRes = 1;
|
int i, iRes = 1;
|
||||||
float fScan, fBackVar, fLeft, fRight, fN, fNP, fNB, fSumm;
|
float fScan, fBackVar, fLeft, fRight, fN, fNP, fNB, fSumm;
|
||||||
float fMLeft, fMRight;
|
float fMLeft, fMRight;
|
||||||
@ -224,13 +224,11 @@ static int DoIntegrate(pIntegData self, float *fSum, float *fVariance)
|
|||||||
for (i = 0, lLeftBack = 0; i < self->iLeft; i++) {
|
for (i = 0, lLeftBack = 0; i < self->iLeft; i++) {
|
||||||
lLeftBack += self->lCounts[i];
|
lLeftBack += self->lCounts[i];
|
||||||
}
|
}
|
||||||
lLeftBack = lLeftBack;
|
|
||||||
|
|
||||||
/* sum the right background */
|
/* sum the right background */
|
||||||
for (i = self->iRight, lRightBack = 0; i < self->iCounts; i++) {
|
for (i = self->iRight, lRightBack = 0; i < self->iCounts; i++) {
|
||||||
lRightBack += self->lCounts[i];
|
lRightBack += self->lCounts[i];
|
||||||
}
|
}
|
||||||
lRightBack = lRightBack;
|
|
||||||
|
|
||||||
|
|
||||||
/* sum all of it */
|
/* sum all of it */
|
||||||
|
@ -10,4 +10,5 @@
|
|||||||
MFLAGS=-f makefile_linux$(DUMMY)
|
MFLAGS=-f makefile_linux$(DUMMY)
|
||||||
|
|
||||||
HDFROOT=/usr/local
|
HDFROOT=/usr/local
|
||||||
TCLINC=/usr/include/tcl
|
TCLINC=/usr/include/tcl
|
||||||
|
EPICS=/usr/local/epics
|
@ -8,6 +8,9 @@
|
|||||||
#FORTIFYOBJ= fortify.o strdup.o
|
#FORTIFYOBJ= fortify.o strdup.o
|
||||||
#DFORTIFY= -pg
|
#DFORTIFY= -pg
|
||||||
|
|
||||||
MFLAGS=-f makefile_linux$(DUMMY)
|
MFLAGS=-f makefile_macosx
|
||||||
|
|
||||||
|
HDFROOT=/usr/pkg
|
||||||
|
EPICS=/usr/local/epics
|
||||||
|
EPICSLIBS=-L$(EPICS)/lib/darwin-x86 -lca -lCom
|
||||||
|
|
||||||
HDFROOT=/Users/Shared
|
|
||||||
|
6
make_gen
6
make_gen
@ -5,8 +5,8 @@
|
|||||||
# Markus Zolliker March 2003
|
# Markus Zolliker March 2003
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
|
|
||||||
EPICSOBJ=epicsmotor.o
|
#EPICSOBJ=epicsmotor.o
|
||||||
#EPICSOBJ=
|
EPICSOBJ=
|
||||||
|
|
||||||
COBJ = Sclient.o network.o ifile.o intcli.o $(FORTIFYOBJ)
|
COBJ = Sclient.o network.o ifile.o intcli.o $(FORTIFYOBJ)
|
||||||
SOBJ = network.o ifile.o conman.o SCinter.o splitter.o passwd.o \
|
SOBJ = network.o ifile.o conman.o SCinter.o splitter.o passwd.o \
|
||||||
@ -70,7 +70,7 @@ all: libmat libhlib libpsi SICServer
|
|||||||
full: purge all
|
full: purge all
|
||||||
|
|
||||||
SICServer: $(OBJ) $(SUBLIBS)
|
SICServer: $(OBJ) $(SUBLIBS)
|
||||||
g++ $(DBG) -o SICServer $(OBJ) $(LIBS)
|
$(CC) $(DBG) -o SICServer $(OBJ) $(LIBS)
|
||||||
|
|
||||||
matrix/libmatrix.a: libmat
|
matrix/libmatrix.a: libmat
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ NI=
|
|||||||
#NIOBJ= nigpib.o
|
#NIOBJ= nigpib.o
|
||||||
#NILIB=$(SINQDIR)/lib/cib.o
|
#NILIB=$(SINQDIR)/lib/cib.o
|
||||||
|
|
||||||
include linux_def
|
include $(SICSROOT)/sics/linux_def
|
||||||
|
|
||||||
CC = gcc
|
CC = gcc
|
||||||
CFLAGS = -I$(HDFROOT)/include -I/usr/include/hdf -I$(TCLINC) -DHDF4 -DHDF5 \
|
CFLAGS = -I$(HDFROOT)/include -I/usr/include/hdf -I$(TCLINC) -DHDF4 -DHDF5 \
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
# Mark Koennecke 1996-2001
|
# Mark Koennecke 1996-2001
|
||||||
# Markus Zolliker, March 2003
|
# Markus Zolliker, March 2003
|
||||||
# Mark Koennecke, July 2008
|
# Mark Koennecke, July 2008
|
||||||
|
# Mark Koennecke, March 2014 for Maverick
|
||||||
#==========================================================================
|
#==========================================================================
|
||||||
# assign if the National Instrument GPIB driver is available
|
# assign if the National Instrument GPIB driver is available
|
||||||
SINQDIR=/Users/Shared
|
SINQDIR=/Users/Shared
|
||||||
@ -12,22 +13,21 @@ SINQDIR=/Users/Shared
|
|||||||
#NIOBJ= nigpib.o
|
#NIOBJ= nigpib.o
|
||||||
#NILIB=$(SINQDIR)/sl5/lib/cib.o
|
#NILIB=$(SINQDIR)/sl5/lib/cib.o
|
||||||
|
|
||||||
|
SICSROOT=/Users/konnecke/src
|
||||||
include macosx_def
|
include macosx_def
|
||||||
|
|
||||||
CC = gcc
|
CC = clang
|
||||||
CFLAGS = -I$(HDFROOT)/include -I/sw/include -DNXXML -DHDF5 -DHDF4 $(NI) -DMACOSX \
|
CFLAGS = -I$(HDFROOT)/include -I/usr/local/include -DNXXML -DHDF5 $(NI) -DMACOSX \
|
||||||
-Ipsi/hardsup -I. \
|
-I$(SICSROOT)/psi/hardsup -I$(SICSROOT)/sicspsi -I. -I/usr/pkg/include \
|
||||||
-Werror -DNONINTF -g $(DFORTIFY) \
|
-Werror -DNONINTF -g $(DFORTIFY) \
|
||||||
-Wall -Wno-unused -Wno-comment -Wno-switch
|
-Wall -Wno-unused -Wno-comment -Wno-switch
|
||||||
|
|
||||||
BINTARGET = bin
|
BINTARGET = bin
|
||||||
EXTRA=nintf.o
|
EXTRA=nintf.o
|
||||||
SUBLIBS = psi/libpsi.a psi/hardsup/libhlib.a matrix/libmatrix.a
|
SUBLIBS = $(SICSROOT)/sicspsi/libpsi.a $(SICSROOT)/sicspsi/hardsup/libhlib.a matrix/libmatrix.a \
|
||||||
LIBS = -L$(HDFROOT)/lib -L/sw/lib $(SUBLIBS) $(NILIB)\
|
$(SICSROOT)/sicspsi/tecs/libtecsl.a
|
||||||
-ltcl $(HDFROOT)/lib/libhdf5.a -lmfhdf -ldf \
|
LIBS = -L$(HDFROOT)/lib -L/usr/local/lib $(SUBLIBS) $(NILIB) -L$(EPICS)/lib/darwin-x86 \
|
||||||
$(HDFROOT)/lib/libsz.a \
|
-ltcl -lhdf5 -lNeXus -ljson -lghttp $(EPICSLIBS) -ldl -lz -lmxml -lm -lc
|
||||||
$(HDFROOT)/lib/libjson.a -ljpeg \
|
|
||||||
-ldl -lz -lmxml $(HDFROOT)/lib/libghttp.a -lm -lc
|
|
||||||
|
|
||||||
include make_gen
|
include make_gen
|
||||||
|
|
||||||
|
@ -1,34 +0,0 @@
|
|||||||
#---------------------------------------------------------------------------
|
|
||||||
# Makefile for the Matrix library
|
|
||||||
#
|
|
||||||
# Mark Koennecke, November 1996
|
|
||||||
#--------------------------------------------------------------------------
|
|
||||||
OBJ= matadd.o matcreat.o matdet.o matdump.o matdurbn.o materr.o \
|
|
||||||
matinv.o matmul.o matsolve.o matsub.o matsubx.o mattoepz.o \
|
|
||||||
mattran.o
|
|
||||||
|
|
||||||
#---------- for Redhat linux
|
|
||||||
#CC= gcc
|
|
||||||
#CFLAGS= -I/usr/local/include -I. -I../ -DLINUX -g -c
|
|
||||||
|
|
||||||
#------------ for DigitalUnix
|
|
||||||
CC=cc
|
|
||||||
CFLAGS= -I/data/koenneck/include -I. -I../ -std1 -g -c
|
|
||||||
#------------ for DigitalUnix with Fortify
|
|
||||||
#CFLAGS= -I/data/koenneck/include -DFORTIFY -I. -I../ -std1 -g -c
|
|
||||||
|
|
||||||
#------------ for CYGNUS toolchain on Win32
|
|
||||||
#CC=gcc
|
|
||||||
#CFLAGS= -I. -I../ -DCYGNUS -g -c
|
|
||||||
|
|
||||||
.c.o:
|
|
||||||
$(CC) $(CFLAGS) $*.c
|
|
||||||
|
|
||||||
matrix: $(OBJ)
|
|
||||||
- rm -f libmatrix.a
|
|
||||||
ar cr libmatrix.a $(OBJ)
|
|
||||||
ranlib libmatrix.a
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f *.o
|
|
||||||
rm -f *.a
|
|
@ -1,21 +1,34 @@
|
|||||||
# M. Zolliker 03.2005
|
#---------------------------------------------------------------------------
|
||||||
|
# Makefile for the Matrix library
|
||||||
|
#
|
||||||
|
# Mark Koennecke, November 1996
|
||||||
|
#--------------------------------------------------------------------------
|
||||||
|
OBJ= matadd.o matcreat.o matdet.o matdump.o matdurbn.o materr.o \
|
||||||
|
matinv.o matmul.o matsolve.o matsub.o matsubx.o mattoepz.o \
|
||||||
|
mattran.o
|
||||||
|
|
||||||
%: usage
|
#---------- for Redhat linux
|
||||||
@echo
|
#CC= gcc
|
||||||
|
#CFLAGS= -I/usr/local/include -I. -I../ -DLINUX -g -c
|
||||||
|
|
||||||
%.o: usage
|
#------------ for DigitalUnix
|
||||||
@echo
|
CC=cc
|
||||||
|
CFLAGS= -I/data/koenneck/include -I. -I../ -std1 -g -c
|
||||||
|
#------------ for DigitalUnix with Fortify
|
||||||
|
#CFLAGS= -I/data/koenneck/include -DFORTIFY -I. -I../ -std1 -g -c
|
||||||
|
|
||||||
default: usage
|
#------------ for CYGNUS toolchain on Win32
|
||||||
|
#CC=gcc
|
||||||
|
#CFLAGS= -I. -I../ -DCYGNUS -g -c
|
||||||
|
|
||||||
usage:
|
.c.o:
|
||||||
@ echo ""
|
$(CC) $(CFLAGS) $*.c
|
||||||
@ echo "Usage:"
|
|
||||||
@ echo ""
|
|
||||||
@ echo " make -f makefile_xxx [target]"
|
|
||||||
@ echo ""
|
|
||||||
@ echo ' where makefile_xxx is one of'
|
|
||||||
@ echo ""
|
|
||||||
@ ls -1 makefile_* | pr -t -o 4
|
|
||||||
|
|
||||||
|
matrix: $(OBJ)
|
||||||
|
- rm -f libmatrix.a
|
||||||
|
ar cr libmatrix.a $(OBJ)
|
||||||
|
ranlib libmatrix.a
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *.o
|
||||||
|
rm -f *.a
|
||||||
|
16
matrix/makefile_macosx
Normal file
16
matrix/makefile_macosx
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
#---------------------------------------------------------------------------
|
||||||
|
# Makefile for the Matrix library
|
||||||
|
#
|
||||||
|
# Mark Koennecke, November 1996
|
||||||
|
# Markus Zolliker, March 2003
|
||||||
|
#--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
include ../linux_def
|
||||||
|
|
||||||
|
CC = clang
|
||||||
|
CFLAGS = -g $(DFORTIFY) -MMD
|
||||||
|
|
||||||
|
include make_gen
|
||||||
|
|
||||||
|
-include $(OBJ:.o=.d)
|
||||||
|
|
16
motor.c
16
motor.c
@ -1076,22 +1076,6 @@ int MotorCreate(SConnection * pCon, SicsInterp * pSics, void *pData,
|
|||||||
SCWrite(pCon, pBueffel, eLogError);
|
SCWrite(pCon, pBueffel, eLogError);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
} else if (strcmp(argv[2], "epics") == 0) {
|
|
||||||
if(argc > 3){
|
|
||||||
pDriver = epicsMakeMotorDriver(argv[3]);
|
|
||||||
if (!pDriver) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
pNew = MotorInit("epics", argv[1], pDriver);
|
|
||||||
if (!pNew) {
|
|
||||||
snprintf(pBueffel,sizeof(pBueffel)-1, "Failure to create motor %s", argv[1]);
|
|
||||||
SCWrite(pCon, pBueffel, eLogError);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
SCWrite(pCon,"ERROR: missing basename argument to create EPICS motor",eError);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
site = getSite();
|
site = getSite();
|
||||||
if (site != NULL) {
|
if (site != NULL) {
|
||||||
|
@ -123,7 +123,7 @@ static int MMCCStart(void *pData, SConnection * pCon)
|
|||||||
|
|
||||||
static int MMCCStatus(void *pData, SConnection * pCon)
|
static int MMCCStatus(void *pData, SConnection * pCon)
|
||||||
{
|
{
|
||||||
int status, i;
|
int status = HWIdle, i;
|
||||||
pCounter pCount = NULL, pMaster = NULL;;
|
pCounter pCount = NULL, pMaster = NULL;;
|
||||||
pMultiCounter self = NULL;
|
pMultiCounter self = NULL;
|
||||||
pDummy pDum = NULL;
|
pDummy pDum = NULL;
|
||||||
|
2
mumo.c
2
mumo.c
@ -396,7 +396,7 @@ static int ParseAlias(psParser pParse, SConnection * pCon, pMulMot self)
|
|||||||
return 1;
|
return 1;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
snprintf(pBueffel,1024, "ERROR: Unexpected symbol %s", pParse->Token);
|
snprintf(pBueffel,sizeof(pBueffel), "ERROR: Unexpected symbol %s", pParse->Token);
|
||||||
SCWrite(pCon, pBueffel, eError);
|
SCWrite(pCon, pBueffel, eError);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -98,7 +98,7 @@ static int CreateSocketAdress(struct sockaddr_in *sockaddrPtr, /* Socket addres
|
|||||||
(char *) hostent->h_addr_list[0], (size_t) hostent->h_length);
|
(char *) hostent->h_addr_list[0], (size_t) hostent->h_length);
|
||||||
} else {
|
} else {
|
||||||
addr.s_addr = inet_addr(host);
|
addr.s_addr = inet_addr(host);
|
||||||
if (addr.s_addr == (unsigned long) -1) {
|
if (addr.s_addr == (unsigned int) -1) {
|
||||||
return 0; /* error */
|
return 0; /* error */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
2
nread.c
2
nread.c
@ -1355,7 +1355,7 @@ static int TelnetAcceptCB(int handle, void *userData)
|
|||||||
/*------------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------------*/
|
||||||
static void NREADlog(int level, char *txt, void *userData)
|
static void NREADlog(int level, char *txt, void *userData)
|
||||||
{
|
{
|
||||||
traceSys("anet",txt);
|
traceSys("anet","%s",txt);
|
||||||
SICSLogWrite(txt, (level == ANETERROR) ? eLogError : eLog);
|
SICSLogWrite(txt, (level == ANETERROR) ? eLogError : eLog);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3829,7 +3829,6 @@ SWIGRUNTIME void SWIG_InitializeModule(void *clientdata)
|
|||||||
swig_module_info *module_head, *iter;
|
swig_module_info *module_head, *iter;
|
||||||
int found;
|
int found;
|
||||||
|
|
||||||
clientdata = clientdata;
|
|
||||||
|
|
||||||
/* check to see if the circular list has been setup, if not, set it up */
|
/* check to see if the circular list has been setup, if not, set it up */
|
||||||
if (swig_module.next == 0) {
|
if (swig_module.next == 0) {
|
||||||
|
@ -149,13 +149,12 @@ void DeleteProtocol(void *self)
|
|||||||
if (pOld->version) {
|
if (pOld->version) {
|
||||||
free(pOld->version);
|
free(pOld->version);
|
||||||
}
|
}
|
||||||
if (pOld->pProList) {
|
i = 0;
|
||||||
i = 0;
|
while (NULL != pOld->pProList[i]) {
|
||||||
while (NULL != pOld->pProList[i]) {
|
|
||||||
free(pOld->pProList[i]);
|
free(pOld->pProList[i]);
|
||||||
i++;
|
i++;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
free(pOld);
|
free(pOld);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
2
remob.c
2
remob.c
@ -1019,7 +1019,7 @@ int RemobCreate(SConnection * pCon, SicsInterp * pSics, void *pData,
|
|||||||
SCPrintf(pCon, eError, "ERROR: illegal host:port");
|
SCPrintf(pCon, eError, "ERROR: illegal host:port");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
snprintf(host, sizeof host, "%.*s", p - argv[3], argv[3]);
|
snprintf(host, sizeof host, "%.*s", (int)(p - argv[3]), argv[3]);
|
||||||
remserver = RemServerInit(argv[2], host, atoi(p + 1));
|
remserver = RemServerInit(argv[2], host, atoi(p + 1));
|
||||||
}
|
}
|
||||||
if (!remserver) {
|
if (!remserver) {
|
||||||
|
2
sansbc.c
2
sansbc.c
@ -188,7 +188,7 @@ static int StatCmd(pSICSOBJ self, SConnection *pCon, pHdb commandNode,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
max = -9999;
|
max = -9999;
|
||||||
min = 99999.99;
|
min = 99999;
|
||||||
length = dim[0]*dim[1];
|
length = dim[0]*dim[1];
|
||||||
for(i = 0, sum = 0; i < length; i++){
|
for(i = 0, sum = 0; i < length; i++){
|
||||||
sum += data[i];
|
sum += data[i];
|
||||||
|
8
scan.c
8
scan.c
@ -152,6 +152,8 @@ pScanData CreateScanObject(char *pRecover, char *pHeader, pCounter pCount,
|
|||||||
/* assign various things */
|
/* assign various things */
|
||||||
if (pRecover) {
|
if (pRecover) {
|
||||||
strlcpy(pNew->pRecover, pRecover,1024);
|
strlcpy(pNew->pRecover, pRecover,1024);
|
||||||
|
} else {
|
||||||
|
memset(pNew->pRecover,0,sizeof(pNew->pRecover));
|
||||||
}
|
}
|
||||||
if (pHeader) {
|
if (pHeader) {
|
||||||
strlcpy(pNew->pHeaderFile, pHeader,1024);
|
strlcpy(pNew->pHeaderFile, pHeader,1024);
|
||||||
@ -597,7 +599,7 @@ static int ScanLoop(pScanData self)
|
|||||||
InvokeCallBack(self->pCall, SCANPOINT, self);
|
InvokeCallBack(self->pCall, SCANPOINT, self);
|
||||||
|
|
||||||
self->WriteScanPoints(self, i);
|
self->WriteScanPoints(self, i);
|
||||||
if (self->pRecover) {
|
if (strlen(self->pRecover) > 10) {
|
||||||
WriteRecover(self);
|
WriteRecover(self);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1281,7 +1283,7 @@ static int ScanDynInterest(int iEvent, void *pEventData, void *pUser)
|
|||||||
if (pCount != NULL) {
|
if (pCount != NULL) {
|
||||||
lVal = pCount->lCount;
|
lVal = pCount->lCount;
|
||||||
} else {
|
} else {
|
||||||
lVal = -9999.99;
|
lVal = -9999;
|
||||||
}
|
}
|
||||||
snprintf(pBueffel, 255, "%s.scanpoint = {%d %f %ld}",
|
snprintf(pBueffel, 255, "%s.scanpoint = {%d %f %ld}",
|
||||||
self->objectName, i, fVal, lVal);
|
self->objectName, i, fVal, lVal);
|
||||||
@ -1628,7 +1630,7 @@ int ScanWrapper(SConnection * pCon, SicsInterp * pSics, void *pData,
|
|||||||
float *fData = NULL;
|
float *fData = NULL;
|
||||||
int lNP;
|
int lNP;
|
||||||
int iChannel;
|
int iChannel;
|
||||||
int iRet, iMode, i;
|
int iRet = 0, iMode, i;
|
||||||
char *pPtr = NULL, pItem[20];
|
char *pPtr = NULL, pItem[20];
|
||||||
long *lData = NULL, lID;
|
long *lData = NULL, lID;
|
||||||
int *iData;
|
int *iData;
|
||||||
|
@ -146,7 +146,7 @@ static void SetProp(Hdb * node, Hdb * cNode, char *key, char *value)
|
|||||||
{
|
{
|
||||||
Hdb *propNode;
|
Hdb *propNode;
|
||||||
char *val;
|
char *val;
|
||||||
|
|
||||||
val = GetPropAndNode(node, cNode, key, &propNode);
|
val = GetPropAndNode(node, cNode, key, &propNode);
|
||||||
if (value == NULL) {
|
if (value == NULL) {
|
||||||
if (val != NULL) {
|
if (val != NULL) {
|
||||||
@ -176,7 +176,7 @@ int SctCommand(SConnection * con, SicsInterp * sics, void *object,
|
|||||||
Hdb *cNode = NULL;
|
Hdb *cNode = NULL;
|
||||||
hdbValue v;
|
hdbValue v;
|
||||||
SctController *controller;
|
SctController *controller;
|
||||||
|
|
||||||
assert(sct == object);
|
assert(sct == object);
|
||||||
if (sct->nodes != NULL) {
|
if (sct->nodes != NULL) {
|
||||||
node = sct->nodes->node;
|
node = sct->nodes->node;
|
||||||
@ -187,7 +187,7 @@ int SctCommand(SConnection * con, SicsInterp * sics, void *object,
|
|||||||
argv[0]);
|
argv[0]);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* get path (pure sct command)
|
* get path (pure sct command)
|
||||||
*/
|
*/
|
||||||
@ -339,7 +339,7 @@ int SctCallInContext(SConnection * con, char *script, Hdb * node,
|
|||||||
char *result = NULL;
|
char *result = NULL;
|
||||||
int iRet = 1;
|
int iRet = 1;
|
||||||
int verbose = controller->verbose;
|
int verbose = controller->verbose;
|
||||||
|
|
||||||
PushContext(node, controller);
|
PushContext(node, controller);
|
||||||
if (verbose) {
|
if (verbose) {
|
||||||
SCPrintf(con, eLog, "%6.3f script: %s", secondsOfMinute(), script);
|
SCPrintf(con, eLog, "%6.3f script: %s", secondsOfMinute(), script);
|
||||||
@ -417,7 +417,7 @@ static char *SctActionHandler(void *actionData, char *lastReply,
|
|||||||
int ret;
|
int ret;
|
||||||
char timeKey[50], timeVal[50];
|
char timeKey[50], timeVal[50];
|
||||||
int iMacro;
|
int iMacro;
|
||||||
|
|
||||||
assert(data->name);
|
assert(data->name);
|
||||||
if (queueData != NULL && queueData->conCtx != NULL) {
|
if (queueData != NULL && queueData->conCtx != NULL) {
|
||||||
con = queueData->conCtx;
|
con = queueData->conCtx;
|
||||||
@ -427,9 +427,9 @@ static char *SctActionHandler(void *actionData, char *lastReply,
|
|||||||
data->busy = 1;
|
data->busy = 1;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Check if this is a followup call.
|
* Check if this is a followup call.
|
||||||
* If this is a followup call, the I/O system will have set the
|
* If this is a followup call, the I/O system will have set the
|
||||||
* property result to the data from the device. Read this now and
|
* property result to the data from the device. Read this now and
|
||||||
* print it if diagnostics is required.
|
* print it if diagnostics is required.
|
||||||
*/
|
*/
|
||||||
script = NULL;
|
script = NULL;
|
||||||
@ -451,11 +451,11 @@ static char *SctActionHandler(void *actionData, char *lastReply,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Make sure that the state property is set to the name of the property
|
* Make sure that the state property is set to the name of the property
|
||||||
* which holds the name of the script to run at this stage.
|
* which holds the name of the script to run at this stage.
|
||||||
* When this is a followup, we use the content of the
|
* When this is a followup, we use the content of the
|
||||||
* state field as the property storing the next script to
|
* state field as the property storing the next script to
|
||||||
* run. If this is the start of a chain this is set to the
|
* run. If this is the start of a chain this is set to the
|
||||||
* data->name which is mostly either read or write
|
* data->name which is mostly either read or write
|
||||||
*/
|
*/
|
||||||
state = GetProp(node, controller->node, "state");
|
state = GetProp(node, controller->node, "state");
|
||||||
@ -463,16 +463,16 @@ static char *SctActionHandler(void *actionData, char *lastReply,
|
|||||||
state = data->name;
|
state = data->name;
|
||||||
SetProp(node, controller->node, "state", state);
|
SetProp(node, controller->node, "state", state);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Sometimes one wishes to call multiple scripts in succession
|
* Sometimes one wishes to call multiple scripts in succession
|
||||||
* before returning into I/O. Such scripts then do not set the
|
* before returning into I/O. Such scripts then do not set the
|
||||||
* send property. The loop is taking care of this. Not more
|
* send property. The loop is taking care of this. Not more
|
||||||
* then 10 scripts can be chained in this way.
|
* then 10 scripts can be chained in this way.
|
||||||
*/
|
*/
|
||||||
for (i = 0; i < 10; i++) {
|
for (i = 0; i < 10; i++) {
|
||||||
/*
|
/*
|
||||||
* read the script to invoke from the property living
|
* read the script to invoke from the property living
|
||||||
* in state
|
* in state
|
||||||
*/
|
*/
|
||||||
script = GetProp(node, controller->node, state);
|
script = GetProp(node, controller->node, state);
|
||||||
@ -552,8 +552,8 @@ static char *SctActionHandler(void *actionData, char *lastReply,
|
|||||||
l = blank - origScript;
|
l = blank - origScript;
|
||||||
} else {
|
} else {
|
||||||
l = strlen(origScript);
|
l = strlen(origScript);
|
||||||
}
|
}
|
||||||
snprintf(eprop, sizeof eprop, "error_in_%s", origScript);
|
snprintf(eprop, sizeof eprop, "error_in_%.*s", (int)l, origScript);
|
||||||
emsg = GetHdbProp(node, eprop);
|
emsg = GetHdbProp(node, eprop);
|
||||||
cnt = 0;
|
cnt = 0;
|
||||||
if (emsg != NULL) {
|
if (emsg != NULL) {
|
||||||
@ -582,12 +582,12 @@ static char *SctActionHandler(void *actionData, char *lastReply,
|
|||||||
goto finish;
|
goto finish;
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* The script executed OK.
|
* The script executed OK.
|
||||||
* The next state is the result
|
* The next state is the result
|
||||||
*/
|
*/
|
||||||
state = result;
|
state = result;
|
||||||
/*
|
/*
|
||||||
* if the new state is idle, clean everything up
|
* if the new state is idle, clean everything up
|
||||||
* and terminate the script chain
|
* and terminate the script chain
|
||||||
*/
|
*/
|
||||||
if (strcasecmp(state, "idle") == 0 || strcasecmp(state, "unpoll") == 0) {
|
if (strcasecmp(state, "idle") == 0 || strcasecmp(state, "unpoll") == 0) {
|
||||||
@ -595,7 +595,7 @@ static char *SctActionHandler(void *actionData, char *lastReply,
|
|||||||
SetHdbProperty(node, "requested", NULL);
|
SetHdbProperty(node, "requested", NULL);
|
||||||
if (!data->answered) {
|
if (!data->answered) {
|
||||||
if (queueData->inMacro == 0) {
|
if (queueData->inMacro == 0) {
|
||||||
/*
|
/*
|
||||||
* send an O.k. if there was no other reply on write's
|
* send an O.k. if there was no other reply on write's
|
||||||
*/
|
*/
|
||||||
iMacro = SCinMacro(con);
|
iMacro = SCinMacro(con);
|
||||||
@ -629,8 +629,8 @@ static char *SctActionHandler(void *actionData, char *lastReply,
|
|||||||
free(script);
|
free(script);
|
||||||
script = NULL;
|
script = NULL;
|
||||||
/*
|
/*
|
||||||
* If there is data to send, check it and do so. This also exits the
|
* If there is data to send, check it and do so. This also exits the
|
||||||
* quick script loop by returning the data to send to Devser.
|
* quick script loop by returning the data to send to Devser.
|
||||||
*/
|
*/
|
||||||
if (sct->sendCalled) {
|
if (sct->sendCalled) {
|
||||||
send = GetProp(node, controller->node, "send");
|
send = GetProp(node, controller->node, "send");
|
||||||
@ -653,8 +653,8 @@ static char *SctActionHandler(void *actionData, char *lastReply,
|
|||||||
SCPrintf(con, eLogError, "ERROR: too many quick scripts chained");
|
SCPrintf(con, eLogError, "ERROR: too many quick scripts chained");
|
||||||
finish:
|
finish:
|
||||||
/*
|
/*
|
||||||
* This section is always called when the script chain ends: either due to
|
* This section is always called when the script chain ends: either due to
|
||||||
* error or by successfull termination.
|
* error or by successfull termination.
|
||||||
*/
|
*/
|
||||||
if (strcmp(data->name, "write") == 0) {
|
if (strcmp(data->name, "write") == 0) {
|
||||||
if (GetHdbProp(node, "writestatus") != NULL) {
|
if (GetHdbProp(node, "writestatus") != NULL) {
|
||||||
@ -712,7 +712,7 @@ static void SctEndData(void *d)
|
|||||||
{
|
{
|
||||||
/* no kill, only decrement sync counter */
|
/* no kill, only decrement sync counter */
|
||||||
SctData *data = d;
|
SctData *data = d;
|
||||||
|
|
||||||
if (data->syncid > 0) {
|
if (data->syncid > 0) {
|
||||||
SyncedDecr(data->syncid);
|
SyncedDecr(data->syncid);
|
||||||
data->syncid = SYNCED_NO_ID;
|
data->syncid = SYNCED_NO_ID;
|
||||||
@ -720,7 +720,7 @@ static void SctEndData(void *d)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This is the callback for all nodes participating in the
|
* This is the callback for all nodes participating in the
|
||||||
* scriptcontext system
|
* scriptcontext system
|
||||||
*/
|
*/
|
||||||
static hdbCallbackReturn SctMainCallback(Hdb * node, void *userData,
|
static hdbCallbackReturn SctMainCallback(Hdb * node, void *userData,
|
||||||
@ -767,7 +767,7 @@ static hdbCallbackReturn SctMainCallback(Hdb * node, void *userData,
|
|||||||
con = mm->callData;
|
con = mm->callData;
|
||||||
geterror = GetHdbProp(node, "geterror");
|
geterror = GetHdbProp(node, "geterror");
|
||||||
if (geterror != NULL) {
|
if (geterror != NULL) {
|
||||||
snprintf(error,255,"ERROR: %s", geterror);
|
snprintf(error,255,"ERROR: %s", geterror);
|
||||||
SCWrite(con, error, eError);
|
SCWrite(con, error, eError);
|
||||||
if (mm->v->dataType == HIPTEXT) {
|
if (mm->v->dataType == HIPTEXT) {
|
||||||
if (mm->v->v.text != NULL) {
|
if (mm->v->v.text != NULL) {
|
||||||
@ -783,9 +783,9 @@ static hdbCallbackReturn SctMainCallback(Hdb * node, void *userData,
|
|||||||
return hdbContinue;
|
return hdbContinue;
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* This is the callback registered for nodes which
|
* This is the callback registered for nodes which
|
||||||
* are written too.
|
* are written too.
|
||||||
*/
|
*/
|
||||||
static hdbCallbackReturn SctActionCallback(Hdb * node, void *userData,
|
static hdbCallbackReturn SctActionCallback(Hdb * node, void *userData,
|
||||||
hdbMessage * msg)
|
hdbMessage * msg)
|
||||||
{
|
{
|
||||||
@ -805,7 +805,7 @@ static hdbCallbackReturn SctActionCallback(Hdb * node, void *userData,
|
|||||||
char path[MAX_HDB_PATH];
|
char path[MAX_HDB_PATH];
|
||||||
char *sicsCommand;
|
char *sicsCommand;
|
||||||
int iMacro;
|
int iMacro;
|
||||||
|
|
||||||
pm = GetKillPtrMessage(msg);
|
pm = GetKillPtrMessage(msg);
|
||||||
if (pm != NULL) {
|
if (pm != NULL) {
|
||||||
if (data->controller == pm->pPtr) {
|
if (data->controller == pm->pPtr) {
|
||||||
@ -859,7 +859,7 @@ static hdbCallbackReturn SctActionCallback(Hdb * node, void *userData,
|
|||||||
prio = WritePRIO;
|
prio = WritePRIO;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* check for duplicate sets on a node.
|
* check for duplicate sets on a node.
|
||||||
*/
|
*/
|
||||||
if (data->conCtx != NULL) {
|
if (data->conCtx != NULL) {
|
||||||
@ -871,7 +871,7 @@ static hdbCallbackReturn SctActionCallback(Hdb * node, void *userData,
|
|||||||
GetCharArray(text));
|
GetCharArray(text));
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* the node has already been queued for execution. But as we never
|
* the node has already been queued for execution. But as we never
|
||||||
* know if the script chain is already running, the only clean
|
* know if the script chain is already running, the only clean
|
||||||
* solution is to requeue the node.
|
* solution is to requeue the node.
|
||||||
*/
|
*/
|
||||||
@ -958,7 +958,7 @@ static void SctKillData(void *d)
|
|||||||
SyncedDecr(data->syncid);
|
SyncedDecr(data->syncid);
|
||||||
data->syncid = SYNCED_NO_ID;
|
data->syncid = SYNCED_NO_ID;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data->name) {
|
if (data->name) {
|
||||||
free(data->name);
|
free(data->name);
|
||||||
data->name = NULL;
|
data->name = NULL;
|
||||||
@ -1198,7 +1198,7 @@ void SctQueueNode(SctController * controller, Hdb * node,
|
|||||||
data->name = strdup(action);
|
data->name = strdup(action);
|
||||||
data->conCtx = NULL;
|
data->conCtx = NULL;
|
||||||
data->answered = 1;
|
data->answered = 1;
|
||||||
|
|
||||||
data->syncid = SyncedIncr(0);
|
data->syncid = SyncedIncr(0);
|
||||||
data->busy = 1;
|
data->busy = 1;
|
||||||
if (DevQueue(data->controller->devser, data, prio,
|
if (DevQueue(data->controller->devser, data, prio,
|
||||||
@ -1258,7 +1258,7 @@ static void SctKillUpdatescript(void *d)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This is the callback for update scripts
|
* This is the callback for update scripts
|
||||||
*/
|
*/
|
||||||
static hdbCallbackReturn SctUpdatescriptCallback(Hdb * node,
|
static hdbCallbackReturn SctUpdatescriptCallback(Hdb * node,
|
||||||
void *userData,
|
void *userData,
|
||||||
@ -1274,7 +1274,7 @@ static hdbCallbackReturn SctUpdatescriptCallback(Hdb * node,
|
|||||||
char path[MAX_HDB_PATH];
|
char path[MAX_HDB_PATH];
|
||||||
pDynString text;
|
pDynString text;
|
||||||
char *arg;
|
char *arg;
|
||||||
|
|
||||||
pm = GetKillPtrMessage(msg);
|
pm = GetKillPtrMessage(msg);
|
||||||
if (pm != NULL) {
|
if (pm != NULL) {
|
||||||
if (us->controller == pm->pPtr) {
|
if (us->controller == pm->pPtr) {
|
||||||
@ -1304,7 +1304,7 @@ static hdbCallbackReturn SctUpdatescriptCallback(Hdb * node,
|
|||||||
|
|
||||||
script = GetProp(node, us->controller->node, us->name);
|
script = GetProp(node, us->controller->node, us->name);
|
||||||
if (script == NULL) script = us->name;
|
if (script == NULL) script = us->name;
|
||||||
|
|
||||||
text = formatValue(*(mm->v), node);
|
text = formatValue(*(mm->v), node);
|
||||||
arg = GetCharArray(text);
|
arg = GetCharArray(text);
|
||||||
arg = Arg2Tcl(1, &arg, NULL, 0);
|
arg = Arg2Tcl(1, &arg, NULL, 0);
|
||||||
@ -1536,7 +1536,7 @@ static int SctTransactCmd(pSICSOBJ ccmd, SConnection * con,
|
|||||||
st->controller = c;
|
st->controller = c;
|
||||||
st->sent = 0;
|
st->sent = 0;
|
||||||
st->reply = NULL;
|
st->reply = NULL;
|
||||||
|
|
||||||
DevQueue(c->devser, st, WritePRIO,
|
DevQueue(c->devser, st, WritePRIO,
|
||||||
TransactionHandler, SctTransactMatch, NULL, SctTransactInfo);
|
TransactionHandler, SctTransactMatch, NULL, SctTransactInfo);
|
||||||
while (st->sent != 2) {
|
while (st->sent != 2) {
|
||||||
@ -1616,7 +1616,7 @@ static int SctProcessCmd(pSICSOBJ ccmd, SConnection * con,
|
|||||||
data->conCtx = SCCopyConnection(con);
|
data->conCtx = SCCopyConnection(con);
|
||||||
data->busy = 1;
|
data->busy = 1;
|
||||||
data->inMacro = SCinMacro(con);
|
data->inMacro = SCinMacro(con);
|
||||||
|
|
||||||
startTime = time(NULL);
|
startTime = time(NULL);
|
||||||
DevQueue(c->devser, data, WritePRIO,
|
DevQueue(c->devser, data, WritePRIO,
|
||||||
SctWriteHandler, SctTransactMatch, NULL, SctDataInfo);
|
SctWriteHandler, SctTransactMatch, NULL, SctDataInfo);
|
||||||
@ -1717,7 +1717,7 @@ static int SctTimeout(pSICSOBJ ccmd, SConnection * con,
|
|||||||
SctController *c;
|
SctController *c;
|
||||||
char *result;
|
char *result;
|
||||||
hdbValue *v = &cmdNode->child->value;
|
hdbValue *v = &cmdNode->child->value;
|
||||||
|
|
||||||
c = (SctController *) ccmd->pPrivate;
|
c = (SctController *) ccmd->pPrivate;
|
||||||
v->v.doubleValue = DevGetSetTimeout(c->devser, v->v.doubleValue, nPar);
|
v->v.doubleValue = DevGetSetTimeout(c->devser, v->v.doubleValue, nPar);
|
||||||
SCPrintf(con, eValue, "%.6g", v->v.doubleValue);
|
SCPrintf(con, eValue, "%.6g", v->v.doubleValue);
|
||||||
@ -1731,7 +1731,7 @@ static int SctReconnectInterval(pSICSOBJ ccmd, SConnection * con,
|
|||||||
char *result;
|
char *result;
|
||||||
hdbValue *v = &cmdNode->child->value;
|
hdbValue *v = &cmdNode->child->value;
|
||||||
int interval;
|
int interval;
|
||||||
|
|
||||||
c = (SctController *) ccmd->pPrivate;
|
c = (SctController *) ccmd->pPrivate;
|
||||||
if (nPar == 0) {
|
if (nPar == 0) {
|
||||||
interval = -1; /* read only */
|
interval = -1; /* read only */
|
||||||
@ -1895,11 +1895,11 @@ static int SctMakeController(SConnection * con, SicsInterp * sics,
|
|||||||
controller->devser = DevMake(con, argc - 2, argv + 2);
|
controller->devser = DevMake(con, argc - 2, argv + 2);
|
||||||
if (!controller->devser)
|
if (!controller->devser)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
|
||||||
SetHdbProperty(controller->node, "controllerName", objName);
|
SetHdbProperty(controller->node, "controllerName", objName);
|
||||||
SetHdbProperty(controller->node, "sicsdev", objName);
|
SetHdbProperty(controller->node, "sicsdev", objName);
|
||||||
|
|
||||||
AddCommand(pServ->pSics, objName, InterInvokeSICSOBJ, KillSICSOBJ, ccmd);
|
AddCommand(pServ->pSics, objName, InterInvokeSICSOBJ, KillSICSOBJ, ccmd);
|
||||||
RegisterSICSOBJKillCmd(ccmd, objName);
|
RegisterSICSOBJKillCmd(ccmd, objName);
|
||||||
SetDescriptorKey(ccmd->pDes, "creationCommand", "0");
|
SetDescriptorKey(ccmd->pDes, "creationCommand", "0");
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
#include "sicsutil.h"
|
#include "sicsutil.h"
|
||||||
#include "sicshipadaba.h"
|
#include "sicshipadaba.h"
|
||||||
|
|
||||||
static unsigned int mamaID = 0L;
|
static int mamaID = 0L;
|
||||||
|
|
||||||
extern char *ParText(Hdb * cmdNode, char *name,
|
extern char *ParText(Hdb * cmdNode, char *name,
|
||||||
int nPar, char *defaultValue);
|
int nPar, char *defaultValue);
|
||||||
|
@ -376,7 +376,7 @@ int MonoAction(SConnection * pCon, SicsInterp * pSics, void *pData,
|
|||||||
pSicsSelector pSelf = NULL;
|
pSicsSelector pSelf = NULL;
|
||||||
TokenList *pList = NULL;
|
TokenList *pList = NULL;
|
||||||
TokenList *pCurrent;
|
TokenList *pCurrent;
|
||||||
int iRet;
|
int iRet = 0;
|
||||||
char pBueffel[132];
|
char pBueffel[132];
|
||||||
char pName[132];
|
char pName[132];
|
||||||
float fVal;
|
float fVal;
|
||||||
|
@ -90,7 +90,7 @@ static int SICSGetCommand(SConnection * pCon, SicsInterp * pSics, void *pData,
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if(v.dataType == HIPTEXT && strstr(v.v.text,"ERROR") != NULL){
|
if(v.dataType == HIPTEXT && strstr(v.v.text,"ERROR") != NULL){
|
||||||
SCPrintf(pCon,eError,v.v.text);
|
SCPrintf(pCon,eError,"%s",v.v.text);
|
||||||
} else {
|
} else {
|
||||||
SCPrintf(pCon,eError,"ERROR: value for %s not found", argv[1]);
|
SCPrintf(pCon,eError,"ERROR: value for %s not found", argv[1]);
|
||||||
}
|
}
|
||||||
|
@ -108,7 +108,7 @@ static int MakePlainNode(pHdb parent, char *name, SConnection * pCon,
|
|||||||
static int MakeScriptNode(pHdb parent, char *name, SConnection * pCon,
|
static int MakeScriptNode(pHdb parent, char *name, SConnection * pCon,
|
||||||
int argc, char *argv[])
|
int argc, char *argv[])
|
||||||
{
|
{
|
||||||
int type, length;
|
int type, length = 0;
|
||||||
pHdb child = NULL;
|
pHdb child = NULL;
|
||||||
hdbValue v;
|
hdbValue v;
|
||||||
|
|
||||||
|
@ -2603,7 +2603,7 @@ static int ZipGetHdbNode(SConnection * pCon, SicsInterp * pSics,
|
|||||||
{
|
{
|
||||||
pHdb targetNode = NULL;
|
pHdb targetNode = NULL;
|
||||||
char error[512], oriPath[512];
|
char error[512], oriPath[512];
|
||||||
int status;
|
int status = 0;
|
||||||
hdbValue newValue;
|
hdbValue newValue;
|
||||||
pDynString parData = NULL, result= NULL;
|
pDynString parData = NULL, result= NULL;
|
||||||
Protocol protocol = normal_protocol;
|
Protocol protocol = normal_protocol;
|
||||||
@ -2651,7 +2651,7 @@ static int ZipReadHdbNode(SConnection * pCon, SicsInterp * pSics,
|
|||||||
{
|
{
|
||||||
pHdb targetNode = NULL;
|
pHdb targetNode = NULL;
|
||||||
char error[512], oriPath[512];
|
char error[512], oriPath[512];
|
||||||
int status;
|
int status = 0;
|
||||||
pDynString parData = NULL, result= NULL;
|
pDynString parData = NULL, result= NULL;
|
||||||
Protocol protocol = normal_protocol;
|
Protocol protocol = normal_protocol;
|
||||||
OutCode outCode;
|
OutCode outCode;
|
||||||
|
10
singlex.c
10
singlex.c
@ -70,7 +70,7 @@ static MotorFunction TextToFunc(char *txt)
|
|||||||
}
|
}
|
||||||
count++;
|
count++;
|
||||||
}
|
}
|
||||||
return -1;
|
return None;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
@ -112,7 +112,7 @@ static int ConfigureCmd(pSICSOBJ self, SConnection * pCon,
|
|||||||
}
|
}
|
||||||
|
|
||||||
mf = TextToFunc(v.v.text);
|
mf = TextToFunc(v.v.text);
|
||||||
if (mf < 0) {
|
if (mf == None) {
|
||||||
SCPrintf(pCon, eError,
|
SCPrintf(pCon, eError,
|
||||||
"ERROR: failed to map %s to configuration parameter",
|
"ERROR: failed to map %s to configuration parameter",
|
||||||
v.v.text);
|
v.v.text);
|
||||||
@ -167,7 +167,7 @@ static int MotorCmd(pSICSOBJ self, SConnection * pCon, pHdb commandNode,
|
|||||||
}
|
}
|
||||||
|
|
||||||
mf = TextToFunc(par[0]->value.v.text);
|
mf = TextToFunc(par[0]->value.v.text);
|
||||||
if (mf < 0) {
|
if (mf == None) {
|
||||||
SCPrintf(pCon, eError, "ERROR: %s is not a four circle motor",
|
SCPrintf(pCon, eError, "ERROR: %s is not a four circle motor",
|
||||||
par[0]->value.v.text);
|
par[0]->value.v.text);
|
||||||
return 0;
|
return 0;
|
||||||
@ -198,7 +198,7 @@ static int MotorNamCmd(pSICSOBJ self, SConnection * pCon, pHdb commandNode,
|
|||||||
}
|
}
|
||||||
|
|
||||||
mf = TextToFunc(par[0]->value.v.text);
|
mf = TextToFunc(par[0]->value.v.text);
|
||||||
if (mf < 0) {
|
if (mf == None) {
|
||||||
SCPrintf(pCon, eError, "ERROR: %s is not a four circle motor",
|
SCPrintf(pCon, eError, "ERROR: %s is not a four circle motor",
|
||||||
par[0]->value.v.text);
|
par[0]->value.v.text);
|
||||||
return 0;
|
return 0;
|
||||||
@ -450,7 +450,7 @@ static int SymRefCmd(pSICSOBJ self, SConnection * pCon, pHdb commandNode,
|
|||||||
hkl[2] = equiv.l[i];
|
hkl[2] = equiv.l[i];
|
||||||
if (priv->diffractometer->
|
if (priv->diffractometer->
|
||||||
calculateSettings(priv->diffractometer, hkl, settings) == 1) {
|
calculateSettings(priv->diffractometer, hkl, settings) == 1) {
|
||||||
snprintf(buffer, 512, "%d,%d,%d", equiv.h[i], equiv.k[i],
|
snprintf(buffer, sizeof(buffer), "%d,%d,%d", equiv.h[i], equiv.k[i],
|
||||||
equiv.l[i]);
|
equiv.l[i]);
|
||||||
SCWrite(pCon, buffer, eValue);
|
SCWrite(pCon, buffer, eValue);
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
#include "singlediff.h"
|
#include "singlediff.h"
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
TwoTheta, Omega, Chi, Phi, Nu, Sgu, Sgl
|
TwoTheta, Omega, Chi, Phi, Nu, Sgu, Sgl, None
|
||||||
} MotorFunction;
|
} MotorFunction;
|
||||||
pMotor SXGetMotor(MotorFunction m);
|
pMotor SXGetMotor(MotorFunction m);
|
||||||
const char *SXGetMotorName(MotorFunction m);
|
const char *SXGetMotorName(MotorFunction m);
|
||||||
|
@ -56,7 +56,7 @@ static TokenList *CreateToken(TokenList * pN, TokenList * pP)
|
|||||||
|
|
||||||
static CharType CheckSpecial(char *pWord)
|
static CharType CheckSpecial(char *pWord)
|
||||||
{
|
{
|
||||||
CharType eRes = eText;
|
CharType eRes = eeText;
|
||||||
int iFlag = 0;
|
int iFlag = 0;
|
||||||
|
|
||||||
if (isspace(pWord[0]))
|
if (isspace(pWord[0]))
|
||||||
|
22
stdscan.c
22
stdscan.c
@ -498,11 +498,11 @@ int WriteScanPoints(pScanData self, int iPoint)
|
|||||||
strlcat(pSteps, pItem,255);
|
strlcat(pSteps, pItem,255);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
strlcat(pLine, " Counts ",1024);
|
strlcat(pLine, " Counts ",sizeof(pLine));
|
||||||
strlcat(pLine, "Monitor1 ",1024);
|
strlcat(pLine, "Monitor1 ",sizeof(pLine));
|
||||||
strlcat(pLine, "Monitor2 ",1024);
|
strlcat(pLine, "Monitor2 ",sizeof(pLine));
|
||||||
strlcat(pLine, "Monitor3 ",1024);
|
strlcat(pLine, "Monitor3 ",sizeof(pLine));
|
||||||
strlcat(pLine, "Time ",1024);
|
strlcat(pLine, "Time ",sizeof(pLine));
|
||||||
strlcat(pInfo, pSteps,1024);
|
strlcat(pInfo, pSteps,1024);
|
||||||
snprintf(pItem,sizeof(pItem)-1, "\n%d Points,", self->iNP);
|
snprintf(pItem,sizeof(pItem)-1, "\n%d Points,", self->iNP);
|
||||||
strlcat(pInfo, pItem,1024);
|
strlcat(pInfo, pItem,1024);
|
||||||
@ -525,7 +525,7 @@ int WriteScanPoints(pScanData self, int iPoint)
|
|||||||
pVar = (pVarEntry) pPtr;
|
pVar = (pVarEntry) pPtr;
|
||||||
if (pVar) {
|
if (pVar) {
|
||||||
snprintf(pItem,sizeof(pItem)-1, "%-9.4f ", GetScanVarPos(pVar, i));
|
snprintf(pItem,sizeof(pItem)-1, "%-9.4f ", GetScanVarPos(pVar, i));
|
||||||
strlcat(pLine, pItem,1024);
|
strlcat(pLine, pItem,sizeof(pLine));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* print Counts & Monitor */
|
/* print Counts & Monitor */
|
||||||
@ -533,15 +533,15 @@ int WriteScanPoints(pScanData self, int iPoint)
|
|||||||
pData = (pCountEntry) pPtr;
|
pData = (pCountEntry) pPtr;
|
||||||
if (pData) {
|
if (pData) {
|
||||||
snprintf(pItem,sizeof(pItem)-1, " %-11ld ", pData->lCount);
|
snprintf(pItem,sizeof(pItem)-1, " %-11ld ", pData->lCount);
|
||||||
strlcat(pLine, pItem,1024);
|
strlcat(pLine, pItem,sizeof(pLine));
|
||||||
snprintf(pItem,sizeof(pItem)-1, "%-11ld ", pData->Monitors[0]);
|
snprintf(pItem,sizeof(pItem)-1, "%-11ld ", pData->Monitors[0]);
|
||||||
strlcat(pLine, pItem,1024);
|
strlcat(pLine, pItem,sizeof(pLine));
|
||||||
snprintf(pItem,sizeof(pItem)-1, "%-11ld ", pData->Monitors[1]);
|
snprintf(pItem,sizeof(pItem)-1, "%-11ld ", pData->Monitors[1]);
|
||||||
strlcat(pLine, pItem,1024);
|
strlcat(pLine, pItem,sizeof(pLine));
|
||||||
snprintf(pItem,sizeof(pItem)-1, "%-11ld ", pData->Monitors[2]);
|
snprintf(pItem,sizeof(pItem)-1, "%-11ld ", pData->Monitors[2]);
|
||||||
strlcat(pLine, pItem,1024);
|
strlcat(pLine, pItem,sizeof(pLine));
|
||||||
snprintf(pItem,sizeof(pItem)-1, "%-8.3f ", pData->fTime);
|
snprintf(pItem,sizeof(pItem)-1, "%-8.3f ", pData->fTime);
|
||||||
strlcat(pLine, pItem,1024);
|
strlcat(pLine, pItem,sizeof(pLine));
|
||||||
}
|
}
|
||||||
fprintf(self->fd, "%s\n", pLine);
|
fprintf(self->fd, "%s\n", pLine);
|
||||||
}
|
}
|
||||||
|
@ -184,7 +184,7 @@ static float GetVarFloat(char *name)
|
|||||||
static int TASUBHeader(pScanData self)
|
static int TASUBHeader(pScanData self)
|
||||||
{
|
{
|
||||||
pTASdata pTAS = (pTASdata) self->pSpecial;
|
pTASdata pTAS = (pTASdata) self->pSpecial;
|
||||||
int i, iCount, status, iFileNO;
|
int i, iCount, status, iFileNO = 0;
|
||||||
char pBueffel[1024], pHeader[1024], pWork[132], pWork2[60], pTen[12],
|
char pBueffel[1024], pHeader[1024], pWork[132], pWork2[60], pTen[12],
|
||||||
*pcPtr;
|
*pcPtr;
|
||||||
time_t iDate;
|
time_t iDate;
|
||||||
@ -201,7 +201,7 @@ static int TASUBHeader(pScanData self)
|
|||||||
tasReflection r;
|
tasReflection r;
|
||||||
double kfix;
|
double kfix;
|
||||||
pSicsVariable sVar = NULL;
|
pSicsVariable sVar = NULL;
|
||||||
float f1, f2, f3, f4;
|
float f1=.0, f2=.0, f3=.0, f4=.0;
|
||||||
|
|
||||||
assert(self);
|
assert(self);
|
||||||
assert(pTAS);
|
assert(pTAS);
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
Mark Koennecke, May 2005, using code from an earlier TASAMAD emulation
|
Mark Koennecke, May 2005, using code from an earlier TASAMAD emulation
|
||||||
core.
|
core.
|
||||||
------------------------------------------------------------------------*/
|
------------------------------------------------------------------------*/
|
||||||
#ifndef SICUBSTAS
|
#ifndef SICSUBTAS
|
||||||
#define SICSUBTAS
|
#define SICSUBTAS
|
||||||
#include <sicsvar.h>
|
#include <sicsvar.h>
|
||||||
#include "tasub.h"
|
#include "tasub.h"
|
||||||
|
@ -163,7 +163,7 @@ double tasAngleBetweenReflections(MATRIX B, tasReflection r1,
|
|||||||
tasReflection r2)
|
tasReflection r2)
|
||||||
{
|
{
|
||||||
MATRIX chi1, chi2, h1, h2;
|
MATRIX chi1, chi2, h1, h2;
|
||||||
double angle;
|
double angle = .0;
|
||||||
|
|
||||||
h1 = makeVector();
|
h1 = makeVector();
|
||||||
if (h1 == NULL) {
|
if (h1 == NULL) {
|
||||||
|
2
trace.c
2
trace.c
@ -421,7 +421,7 @@ static int TraceLogTask(void *data)
|
|||||||
memset(pBuffer, 0, sizeof(pBuffer));
|
memset(pBuffer, 0, sizeof(pBuffer));
|
||||||
strftime(pBuffer, sizeof(pBuffer)-1, "%Y-%m-%d@%H-%M-%S", psTime);
|
strftime(pBuffer, sizeof(pBuffer)-1, "%Y-%m-%d@%H-%M-%S", psTime);
|
||||||
lastTen = tenmin;
|
lastTen = tenmin;
|
||||||
traceSys("TIMESTAMP",pBuffer);
|
traceSys("TIMESTAMP","%s",pBuffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
|
2
ubfour.c
2
ubfour.c
@ -588,7 +588,7 @@ int searchIndex(lattice direct, double lambda, double two_theta,
|
|||||||
double angleBetweenReflections(MATRIX B, reflection r1, reflection r2)
|
double angleBetweenReflections(MATRIX B, reflection r1, reflection r2)
|
||||||
{
|
{
|
||||||
MATRIX chi1, chi2, h1, h2;
|
MATRIX chi1, chi2, h1, h2;
|
||||||
double angle;
|
double angle = .0;
|
||||||
|
|
||||||
h1 = makeVector();
|
h1 = makeVector();
|
||||||
if (h1 == NULL) {
|
if (h1 == NULL) {
|
||||||
|
Reference in New Issue
Block a user