- Removed automatic loading of status file on startup
- make soft motor values the default all over - Introduced nxscript putSlab - Fixed a bug in polldriv
This commit is contained in:
22
.project
22
.project
@ -11,7 +11,7 @@
|
|||||||
<arguments>
|
<arguments>
|
||||||
<dictionary>
|
<dictionary>
|
||||||
<key>org.eclipse.cdt.make.core.build.arguments</key>
|
<key>org.eclipse.cdt.make.core.build.arguments</key>
|
||||||
<value>-f makefile_linux</value>
|
<value>-f makefile_slinux</value>
|
||||||
</dictionary>
|
</dictionary>
|
||||||
<dictionary>
|
<dictionary>
|
||||||
<key>org.eclipse.cdt.core.errorOutputParser</key>
|
<key>org.eclipse.cdt.core.errorOutputParser</key>
|
||||||
@ -26,7 +26,7 @@
|
|||||||
<value>all</value>
|
<value>all</value>
|
||||||
</dictionary>
|
</dictionary>
|
||||||
<dictionary>
|
<dictionary>
|
||||||
<key>org.eclipse.cdt.make.core.buildLocation</key>
|
<key>org.eclipse.cdt.make.core.environment</key>
|
||||||
<value></value>
|
<value></value>
|
||||||
</dictionary>
|
</dictionary>
|
||||||
<dictionary>
|
<dictionary>
|
||||||
@ -34,17 +34,17 @@
|
|||||||
<value>false</value>
|
<value>false</value>
|
||||||
</dictionary>
|
</dictionary>
|
||||||
<dictionary>
|
<dictionary>
|
||||||
<key>org.eclipse.cdt.make.core.environment</key>
|
<key>org.eclipse.cdt.make.core.buildLocation</key>
|
||||||
<value></value>
|
<value></value>
|
||||||
</dictionary>
|
</dictionary>
|
||||||
<dictionary>
|
|
||||||
<key>org.eclipse.cdt.make.core.enableFullBuild</key>
|
|
||||||
<value>true</value>
|
|
||||||
</dictionary>
|
|
||||||
<dictionary>
|
<dictionary>
|
||||||
<key>org.eclipse.cdt.make.core.build.target.inc</key>
|
<key>org.eclipse.cdt.make.core.build.target.inc</key>
|
||||||
<value>all</value>
|
<value>all</value>
|
||||||
</dictionary>
|
</dictionary>
|
||||||
|
<dictionary>
|
||||||
|
<key>org.eclipse.cdt.make.core.enableFullBuild</key>
|
||||||
|
<value>true</value>
|
||||||
|
</dictionary>
|
||||||
<dictionary>
|
<dictionary>
|
||||||
<key>org.eclipse.cdt.make.core.enabledIncrementalBuild</key>
|
<key>org.eclipse.cdt.make.core.enabledIncrementalBuild</key>
|
||||||
<value>true</value>
|
<value>true</value>
|
||||||
@ -53,14 +53,14 @@
|
|||||||
<key>org.eclipse.cdt.make.core.build.location</key>
|
<key>org.eclipse.cdt.make.core.build.location</key>
|
||||||
<value></value>
|
<value></value>
|
||||||
</dictionary>
|
</dictionary>
|
||||||
<dictionary>
|
|
||||||
<key>org.eclipse.cdt.make.core.build.command</key>
|
|
||||||
<value>make</value>
|
|
||||||
</dictionary>
|
|
||||||
<dictionary>
|
<dictionary>
|
||||||
<key>org.eclipse.cdt.make.core.build.target.clean</key>
|
<key>org.eclipse.cdt.make.core.build.target.clean</key>
|
||||||
<value>clean</value>
|
<value>clean</value>
|
||||||
</dictionary>
|
</dictionary>
|
||||||
|
<dictionary>
|
||||||
|
<key>org.eclipse.cdt.make.core.build.command</key>
|
||||||
|
<value>make</value>
|
||||||
|
</dictionary>
|
||||||
<dictionary>
|
<dictionary>
|
||||||
<key>org.eclipse.cdt.make.core.enableCleanBuild</key>
|
<key>org.eclipse.cdt.make.core.enableCleanBuild</key>
|
||||||
<value>true</value>
|
<value>true</value>
|
||||||
|
@ -134,7 +134,11 @@ typedef struct __SINTER
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
char *FindAlias(SicsInterp *pSics, void *pData);
|
char *FindAlias(SicsInterp *pSics, void *pData);
|
||||||
|
/*----------------------------------------------------------------------
|
||||||
|
FindAliases locates alle aliases related to a gibe name. The result
|
||||||
|
is returned as a komma separated list.
|
||||||
|
*/
|
||||||
|
char *FindAliases(SicsInterp *pSics, char *name);
|
||||||
/*-------------------------------------------------------------------------
|
/*-------------------------------------------------------------------------
|
||||||
FindCommandData finds a command with the name given. It tests the name in the
|
FindCommandData finds a command with the name given. It tests the name in the
|
||||||
ObjectDescriptor to be of name class. If all this succeeds a pointer
|
ObjectDescriptor to be of name class. If all this succeeds a pointer
|
||||||
|
15
fitcenter.c
15
fitcenter.c
@ -101,21 +101,6 @@
|
|||||||
GetScanVar(self->pScan,0,self->fAxis,self->iNP);
|
GetScanVar(self->pScan,0,self->fAxis,self->iNP);
|
||||||
GetScanVarName(self->pScan,0,self->pName,131);
|
GetScanVarName(self->pScan,0,self->pName,131);
|
||||||
|
|
||||||
/* correct fAxis for softzero points and sign
|
|
||||||
when the scan variable is a motor
|
|
||||||
*/
|
|
||||||
if(!isScanVarSoft(self->pScan))
|
|
||||||
{
|
|
||||||
pMot = FindMotor(pServ->pSics,self->pName);
|
|
||||||
if(pMot)
|
|
||||||
{
|
|
||||||
for(i = 0; i < self->iNP; i++)
|
|
||||||
{
|
|
||||||
self->fAxis[i] = MotorHardToSoftPosition(pMot,self->fAxis[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
/*-------------------------------------------------------------------------*/
|
/*-------------------------------------------------------------------------*/
|
||||||
|
@ -145,14 +145,7 @@
|
|||||||
|
|
||||||
pDriv = GetDrivableInterface(pVar);
|
pDriv = GetDrivableInterface(pVar);
|
||||||
assert(pDriv != NULL);
|
assert(pDriv != NULL);
|
||||||
if(strcmp(pDum->pDescriptor->name,"Motor") == 0)
|
|
||||||
{
|
|
||||||
MotorGetSoftPosition((pMotor)pVar,pCon,&value);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
value = pDriv->GetValue(pVar,pCon);
|
value = pDriv->GetValue(pVar,pCon);
|
||||||
}
|
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
2
motor.c
2
motor.c
@ -135,7 +135,7 @@
|
|||||||
float fVal = 0.;
|
float fVal = 0.;
|
||||||
|
|
||||||
assert(pData);
|
assert(pData);
|
||||||
iRet = MotorGetHardPosition((pMotor)pData,pCon,&fVal);
|
iRet = MotorGetSoftPosition((pMotor)pData,pCon,&fVal);
|
||||||
if(iRet != OKOK)
|
if(iRet != OKOK)
|
||||||
{
|
{
|
||||||
fVal = -9999999.99;
|
fVal = -9999999.99;
|
||||||
|
25
nserver.c
25
nserver.c
@ -132,6 +132,7 @@
|
|||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
self->dummyCon = SCCreateDummyConnection(self->pSics);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
check for option RedirectFile and redirect stout/sterr to it
|
check for option RedirectFile and redirect stout/sterr to it
|
||||||
@ -258,30 +259,6 @@
|
|||||||
NULL,
|
NULL,
|
||||||
self->pMonitor,1);
|
self->pMonitor,1);
|
||||||
|
|
||||||
|
|
||||||
/* initialize the last saved status of the system */
|
|
||||||
strcpy(pBueffel,"Restore ");
|
|
||||||
pText = IFindOption(pSICSOptions,"statusfile");
|
|
||||||
if(pText)
|
|
||||||
{
|
|
||||||
strcat(pBueffel,pText);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
strcat(pBueffel,DEFAULTSTATUSFILE);
|
|
||||||
IFAddOption(pSICSOptions,"statusfile",
|
|
||||||
DEFAULTSTATUSFILE);
|
|
||||||
}
|
|
||||||
self->dummyCon = pCon = SCCreateDummyConnection(self->pSics);
|
|
||||||
if(pCon)
|
|
||||||
{
|
|
||||||
InterpExecute(self->pSics,pCon,pBueffel);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
printf("ERROR: Cannot allocate dummy connection, status NOT loaded");
|
|
||||||
}
|
|
||||||
|
|
||||||
/* install performance monitor */
|
/* install performance monitor */
|
||||||
pMon = CreatePerfMon(20);
|
pMon = CreatePerfMon(20);
|
||||||
AddCommand(self->pSics,"Performance",PerfMonWrapper,DeletePerfMon,pMon);
|
AddCommand(self->pSics,"Performance",PerfMonWrapper,DeletePerfMon,pMon);
|
||||||
|
11
nxdict.c
11
nxdict.c
@ -1350,17 +1350,6 @@
|
|||||||
return NX_ERROR;
|
return NX_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* try rewinding the hierarchy */
|
|
||||||
if(pParse.iTerminal == TERMSDS)
|
|
||||||
{
|
|
||||||
iStat = NXDIUnwind(hfil,pParse.iDepth);
|
|
||||||
if(iStat != NX_OK)
|
|
||||||
{
|
|
||||||
return NX_ERROR;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/* do not rewind on links */
|
|
||||||
return iRet;
|
return iRet;
|
||||||
}
|
}
|
||||||
/*------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------*/
|
||||||
|
96
nxscript.c
96
nxscript.c
@ -396,6 +396,7 @@ static void putAttribute(SConnection *pCon, SicsInterp *pSics,
|
|||||||
sprintf(buffer,"ERROR: failed to write attribute %s", argv[3]);
|
sprintf(buffer,"ERROR: failed to write attribute %s", argv[3]);
|
||||||
SCWrite(pCon,buffer,eError);
|
SCWrite(pCon,buffer,eError);
|
||||||
}
|
}
|
||||||
|
NXopenpath(self->fileHandle,"/");
|
||||||
}
|
}
|
||||||
/*----------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------*/
|
||||||
static void updateHMDim(NXScript *self, pHistMem mem){
|
static void updateHMDim(NXScript *self, pHistMem mem){
|
||||||
@ -595,9 +596,6 @@ static void putHistogramMemoryChunked(SConnection *pCon, SicsInterp *pSics,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
read HM
|
read HM
|
||||||
*/
|
*/
|
||||||
@ -647,6 +645,95 @@ static void putHistogramMemoryChunked(SConnection *pCon, SicsInterp *pSics,
|
|||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
static int listToArray(SicsInterp *pSics, char *list,
|
||||||
|
int intar[NX_MAXRANK]){
|
||||||
|
int argc, status, i, val;
|
||||||
|
CONST char **argv;
|
||||||
|
Tcl_Interp *pTcl = InterpGetTcl(pSics);
|
||||||
|
|
||||||
|
status = Tcl_SplitList(pTcl, list, &argc, &argv);
|
||||||
|
if(status != TCL_OK){
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
for(i = 0; i < argc; i++){
|
||||||
|
status = Tcl_GetInt(pTcl,argv[i],&val);
|
||||||
|
if(status != TCL_OK){
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
intar[i] = val;
|
||||||
|
}
|
||||||
|
Tcl_Free((char *)argv);
|
||||||
|
return TCL_OK;
|
||||||
|
}
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
static void putSlab(SConnection *pCon, SicsInterp *pSics, pNXScript self,
|
||||||
|
int argc, char *argv[]){
|
||||||
|
int start[NX_MAXRANK], size[NX_MAXRANK];
|
||||||
|
int status, written = 0;
|
||||||
|
pHistMem mem = NULL;
|
||||||
|
HistInt *histData = NULL;
|
||||||
|
pSICSData data = NULL;
|
||||||
|
|
||||||
|
if(argc < 6){
|
||||||
|
SCWrite(pCon,"ERROR: insufficient number of arguments to putslab",
|
||||||
|
eError);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
status = NXDopenalias(self->fileHandle, self->dictHandle,argv[2]);
|
||||||
|
if(status != NX_OK){
|
||||||
|
SCPrintf(pCon,eError,"ERROR: failed to open alias %s", argv[2]);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
status = listToArray(pSics,argv[3],start);
|
||||||
|
if(status != TCL_OK){
|
||||||
|
SCWrite(pCon,"ERROR: failed to convert start value list", eError);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
status = listToArray(pSics,argv[4],size);
|
||||||
|
if(status != TCL_OK){
|
||||||
|
SCWrite(pCon,"ERROR: failed to convert size value list", eError);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* try to write HM data
|
||||||
|
*/
|
||||||
|
mem = (pHistMem)FindCommandData(pSics,argv[5],"HistMem");
|
||||||
|
if(mem != NULL){
|
||||||
|
histData = GetHistogramPointer(mem,pCon);
|
||||||
|
if(histData){
|
||||||
|
status = NXputslab(self->fileHandle, histData, start, size);
|
||||||
|
if(status == NX_OK){
|
||||||
|
written = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* try to look for sicsdata
|
||||||
|
*/
|
||||||
|
data = (pSICSData)FindCommandData(pSics,argv[5],"SICSData");
|
||||||
|
if(data != NULL){
|
||||||
|
status = NXputslab(self->fileHandle,data->data,start,size);
|
||||||
|
if(status == NX_OK){
|
||||||
|
written = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
* drop out of hierarchy
|
||||||
|
*/
|
||||||
|
NXopenpath(self->fileHandle,"/");
|
||||||
|
|
||||||
|
if(written == 0){
|
||||||
|
SCWrite(pCon,"ERROR: failed to write data, data not recognised",
|
||||||
|
eError);
|
||||||
|
}
|
||||||
|
}
|
||||||
/*-------------------------------------------------------------------*/
|
/*-------------------------------------------------------------------*/
|
||||||
static void putTimeBinning(SConnection *pCon, SicsInterp *pSics,
|
static void putTimeBinning(SConnection *pCon, SicsInterp *pSics,
|
||||||
pNXScript self,
|
pNXScript self,
|
||||||
@ -1024,6 +1111,9 @@ static int handlePut(SConnection *pCon, SicsInterp *pSics, pNXScript self,
|
|||||||
}else if(strcmp(argv[1],"putattribute") == 0){
|
}else if(strcmp(argv[1],"putattribute") == 0){
|
||||||
/*===============*/
|
/*===============*/
|
||||||
putAttribute(pCon,pSics,self,argc,argv);
|
putAttribute(pCon,pSics,self,argc,argv);
|
||||||
|
}else if(strcmp(argv[1],"putslab") == 0){
|
||||||
|
/*===============*/
|
||||||
|
putSlab(pCon,pSics,self,argc,argv);
|
||||||
} else {
|
} else {
|
||||||
SCWrite(pCon,"ERROR: put command not recognised",eError);
|
SCWrite(pCon,"ERROR: put command not recognised",eError);
|
||||||
}
|
}
|
||||||
|
181
nxxml.c
181
nxxml.c
@ -2,7 +2,7 @@
|
|||||||
* This is the implementation file for the XML file driver
|
* This is the implementation file for the XML file driver
|
||||||
* for NeXus
|
* for NeXus
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004 Mark Koennecke
|
* Copyright (C) 2006 Mark Koennecke
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
@ -18,7 +18,7 @@
|
|||||||
* License along with this library; if not, write to the Free Software
|
* License along with this library; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*
|
*
|
||||||
* For further information, see <http://www.neutron.anl.gov/NeXus/>
|
* For further information, see <http://www.nexusformat.org>
|
||||||
*/
|
*/
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <napi.h>
|
#include <napi.h>
|
||||||
@ -243,6 +243,7 @@ static mxml_node_t *searchGroupLinks(pXMLNexus xmlHandle, CONSTCHAR *name,
|
|||||||
mxml_node_t *current;
|
mxml_node_t *current;
|
||||||
mxml_node_t *test = NULL;
|
mxml_node_t *test = NULL;
|
||||||
const char *linkTarget;
|
const char *linkTarget;
|
||||||
|
const char *linkName = NULL;
|
||||||
|
|
||||||
current = xmlHandle->stack[xmlHandle->stackPointer].current;
|
current = xmlHandle->stack[xmlHandle->stackPointer].current;
|
||||||
linkNode = current;
|
linkNode = current;
|
||||||
@ -257,6 +258,17 @@ static mxml_node_t *searchGroupLinks(pXMLNexus xmlHandle, CONSTCHAR *name,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
test for named links
|
||||||
|
*/
|
||||||
|
linkName = mxmlElementGetAttr(linkNode,"name");
|
||||||
|
if(test != NULL && linkName != NULL){
|
||||||
|
if(strcmp(test->value.element.name,nxclass) == 0){
|
||||||
|
if(strcmp(linkName, name) == 0){
|
||||||
|
return test;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@ -374,8 +386,10 @@ NXstatus NXXmakedata (NXhandle fid,
|
|||||||
return NX_ERROR;
|
return NX_ERROR;
|
||||||
}
|
}
|
||||||
if(dimensions[0] < 0){
|
if(dimensions[0] < 0){
|
||||||
NXIReportError(NXpData,
|
dimensions[0] = 1;
|
||||||
"NeXus XML-API does not support unlimited dimensions");
|
}
|
||||||
|
if ((datatype == NX_CHAR) && (rank > 1)) {
|
||||||
|
NXIReportError(NXpData,"NeXus XML-API does not yet support multi-dimensional character arrays");
|
||||||
return NX_ERROR;
|
return NX_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -419,6 +433,7 @@ static mxml_node_t *searchSDSLinks(pXMLNexus xmlHandle, CONSTCHAR *name){
|
|||||||
mxml_node_t *current;
|
mxml_node_t *current;
|
||||||
mxml_node_t *test = NULL;
|
mxml_node_t *test = NULL;
|
||||||
const char *linkTarget;
|
const char *linkTarget;
|
||||||
|
const char *linkName = NULL;
|
||||||
|
|
||||||
current = xmlHandle->stack[xmlHandle->stackPointer].current;
|
current = xmlHandle->stack[xmlHandle->stackPointer].current;
|
||||||
linkNode = current;
|
linkNode = current;
|
||||||
@ -431,6 +446,15 @@ static mxml_node_t *searchSDSLinks(pXMLNexus xmlHandle, CONSTCHAR *name){
|
|||||||
return test;
|
return test;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
test for named links
|
||||||
|
*/
|
||||||
|
linkName = mxmlElementGetAttr(linkNode,"name");
|
||||||
|
if(test != NULL && linkName != NULL){
|
||||||
|
if(strcmp(linkName,name) == 0){
|
||||||
|
return test;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@ -670,6 +694,38 @@ static void putSlabData(pNXDS dataset, pNXDS slabData, int dim,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/*----------------------------------------------------------------------
|
||||||
|
This is in order to support unlimited dimensions along the first axis
|
||||||
|
-----------------------------------------------------------------------*/
|
||||||
|
static int checkAndExtendDataset(mxml_node_t *node, pNXDS dataset,
|
||||||
|
int start[], int size[]){
|
||||||
|
int dim0, byteLength;
|
||||||
|
void *oldData = NULL;
|
||||||
|
char *typestring = NULL;
|
||||||
|
|
||||||
|
dim0 = start[0] + size[0];
|
||||||
|
if(dim0 > dataset->dim[0]){
|
||||||
|
byteLength = getNXDatasetByteLength(dataset);
|
||||||
|
oldData = dataset->u.ptr;
|
||||||
|
dataset->dim[0] = dim0;
|
||||||
|
dataset->u.ptr = malloc(getNXDatasetByteLength(dataset));
|
||||||
|
if(dataset->u.ptr == NULL){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
memset(dataset->u.ptr,0,getNXDatasetByteLength(dataset));
|
||||||
|
memcpy(dataset->u.ptr,oldData,byteLength);
|
||||||
|
free(oldData);
|
||||||
|
typestring = buildTypeString(dataset->type,dataset->rank,dataset->dim);
|
||||||
|
if(typestring != NULL){
|
||||||
|
mxmlElementSetAttr(node,TYPENAME,typestring);
|
||||||
|
free(typestring);
|
||||||
|
} else {
|
||||||
|
NXIReportError(NXpData,"Failed to allocate typestring");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
/*----------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------*/
|
||||||
NXstatus NXXputslab (NXhandle fid, void *data,
|
NXstatus NXXputslab (NXhandle fid, void *data,
|
||||||
int iStart[], int iSize[]){
|
int iStart[], int iSize[]){
|
||||||
@ -678,7 +734,7 @@ NXstatus NXXputslab (NXhandle fid, void *data,
|
|||||||
mxml_node_t *userData = NULL;
|
mxml_node_t *userData = NULL;
|
||||||
mxml_node_t *current = NULL;
|
mxml_node_t *current = NULL;
|
||||||
pNXDS dataset, slabData;
|
pNXDS dataset, slabData;
|
||||||
int sourcePos[NX_MAXRANK], targetPos[NX_MAXRANK];
|
int sourcePos[NX_MAXRANK], targetPos[NX_MAXRANK], status;
|
||||||
|
|
||||||
xmlHandle = (pXMLNexus)fid;
|
xmlHandle = (pXMLNexus)fid;
|
||||||
assert(xmlHandle);
|
assert(xmlHandle);
|
||||||
@ -697,11 +753,20 @@ NXstatus NXXputslab (NXhandle fid, void *data,
|
|||||||
}
|
}
|
||||||
dataset = (pNXDS)userData->value.custom.data;
|
dataset = (pNXDS)userData->value.custom.data;
|
||||||
assert(dataset);
|
assert(dataset);
|
||||||
|
|
||||||
|
status = checkAndExtendDataset(current,dataset,iStart,iSize);
|
||||||
|
if(status == 0){
|
||||||
|
NXIReportError(NXpData,"Out of memory extending dataset");
|
||||||
|
return NX_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
slabData = makeSlabData(dataset, data, iSize);
|
slabData = makeSlabData(dataset, data, iSize);
|
||||||
if(slabData == NULL){
|
if(slabData == NULL){
|
||||||
NXIReportError(NXpData,"Failed to allocate slab data");
|
NXIReportError(NXpData,"Failed to allocate slab data");
|
||||||
return NX_ERROR;
|
return NX_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
putSlabData(dataset,slabData,0,iStart,sourcePos,targetPos);
|
putSlabData(dataset,slabData,0,iStart,sourcePos,targetPos);
|
||||||
free(slabData->dim);
|
free(slabData->dim);
|
||||||
free(slabData);
|
free(slabData);
|
||||||
@ -882,16 +947,8 @@ NXstatus NXXputattr (NXhandle fid, CONSTCHAR *name, void *data,
|
|||||||
xmlHandle = (pXMLNexus)fid;
|
xmlHandle = (pXMLNexus)fid;
|
||||||
assert(xmlHandle);
|
assert(xmlHandle);
|
||||||
|
|
||||||
if(!isDataNode(xmlHandle->stack[xmlHandle->stackPointer].current)){
|
|
||||||
/*
|
|
||||||
global attribute
|
|
||||||
*/
|
|
||||||
current = xmlHandle->stack[0].current;
|
|
||||||
} else {
|
|
||||||
/*
|
|
||||||
dataset attribute
|
|
||||||
*/
|
|
||||||
current = xmlHandle->stack[xmlHandle->stackPointer].current;
|
current = xmlHandle->stack[xmlHandle->stackPointer].current;
|
||||||
|
if(isDataNode(xmlHandle->stack[xmlHandle->stackPointer].current)){
|
||||||
if(strcmp(name,TYPENAME) == 0){
|
if(strcmp(name,TYPENAME) == 0){
|
||||||
NXIReportError(NXpData,"type is a reserved attribute name, rejected");
|
NXIReportError(NXpData,"type is a reserved attribute name, rejected");
|
||||||
return NX_ERROR;
|
return NX_ERROR;
|
||||||
@ -922,17 +979,7 @@ NXstatus NXXgetattr (NXhandle fid, char *name,
|
|||||||
xmlHandle = (pXMLNexus)fid;
|
xmlHandle = (pXMLNexus)fid;
|
||||||
assert(xmlHandle);
|
assert(xmlHandle);
|
||||||
|
|
||||||
if(!isDataNode(xmlHandle->stack[xmlHandle->stackPointer].current)){
|
|
||||||
/*
|
|
||||||
global attribute
|
|
||||||
*/
|
|
||||||
current = xmlHandle->stack[0].current;
|
|
||||||
} else {
|
|
||||||
/*
|
|
||||||
dataset attribute
|
|
||||||
*/
|
|
||||||
current = xmlHandle->stack[xmlHandle->stackPointer].current;
|
current = xmlHandle->stack[xmlHandle->stackPointer].current;
|
||||||
}
|
|
||||||
|
|
||||||
attribute = mxmlElementGetAttr(current,name);
|
attribute = mxmlElementGetAttr(current,name);
|
||||||
if(!attribute){
|
if(!attribute){
|
||||||
@ -1014,6 +1061,7 @@ NXstatus NXXgetnextentry (NXhandle fid,NXname name,
|
|||||||
const char *target = NULL, *attname = NULL;
|
const char *target = NULL, *attname = NULL;
|
||||||
pNXDS dataset;
|
pNXDS dataset;
|
||||||
char pBueffel[256];
|
char pBueffel[256];
|
||||||
|
const char *linkName = NULL;
|
||||||
|
|
||||||
xmlHandle = (pXMLNexus)fid;
|
xmlHandle = (pXMLNexus)fid;
|
||||||
assert(xmlHandle);
|
assert(xmlHandle);
|
||||||
@ -1045,6 +1093,7 @@ NXstatus NXXgetnextentry (NXhandle fid,NXname name,
|
|||||||
}
|
}
|
||||||
if(strcmp(next->value.element.name,"NAPIlink") == 0){
|
if(strcmp(next->value.element.name,"NAPIlink") == 0){
|
||||||
target = mxmlElementGetAttr(next,"target");
|
target = mxmlElementGetAttr(next,"target");
|
||||||
|
linkName = mxmlElementGetAttr(next,"name");
|
||||||
if(target == NULL){
|
if(target == NULL){
|
||||||
NXIReportError(NXpData,"Corrupted file, NAPIlink without target");
|
NXIReportError(NXpData,"Corrupted file, NAPIlink without target");
|
||||||
return NX_ERROR;
|
return NX_ERROR;
|
||||||
@ -1078,6 +1127,12 @@ NXstatus NXXgetnextentry (NXhandle fid,NXname name,
|
|||||||
attname = mxmlElementGetAttr(next,"name");
|
attname = mxmlElementGetAttr(next,"name");
|
||||||
strcpy(name,attname);
|
strcpy(name,attname);
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
this is for named links
|
||||||
|
*/
|
||||||
|
if(linkName != NULL){
|
||||||
|
strcpy(name,linkName);
|
||||||
|
}
|
||||||
return NX_OK;
|
return NX_OK;
|
||||||
}
|
}
|
||||||
/*----------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------*/
|
||||||
@ -1108,17 +1163,7 @@ NXstatus NXXgetnextattr (NXhandle fid, NXname pName,
|
|||||||
xmlHandle = (pXMLNexus)fid;
|
xmlHandle = (pXMLNexus)fid;
|
||||||
assert(xmlHandle);
|
assert(xmlHandle);
|
||||||
|
|
||||||
if(isDataNode(xmlHandle->stack[xmlHandle->stackPointer].current)){
|
|
||||||
/*
|
|
||||||
dataset attribute
|
|
||||||
*/
|
|
||||||
stackPtr = xmlHandle->stackPointer;
|
stackPtr = xmlHandle->stackPointer;
|
||||||
} else {
|
|
||||||
/*
|
|
||||||
global attribute
|
|
||||||
*/
|
|
||||||
stackPtr = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
current = xmlHandle->stack[stackPtr].current;
|
current = xmlHandle->stack[stackPtr].current;
|
||||||
currentAtt = xmlHandle->stack[stackPtr].currentAttribute;
|
currentAtt = xmlHandle->stack[stackPtr].currentAttribute;
|
||||||
@ -1128,10 +1173,20 @@ NXstatus NXXgetnextattr (NXhandle fid, NXname pName,
|
|||||||
return NX_EOD;
|
return NX_EOD;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
hide group name attribute
|
||||||
|
*/
|
||||||
|
if(strcmp(current->value.element.attrs[currentAtt].name,"name") == 0
|
||||||
|
&& !isDataNode(current) ){
|
||||||
|
xmlHandle->stack[stackPtr].currentAttribute++;
|
||||||
|
return NXXgetnextattr(fid,pName,iLength,iType);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
hide type attribute
|
hide type attribute
|
||||||
*/
|
*/
|
||||||
if(strcmp(current->value.element.attrs[currentAtt].name,TYPENAME) == 0){
|
if(strcmp(current->value.element.attrs[currentAtt].name,TYPENAME) == 0
|
||||||
|
&& isDataNode(current)){
|
||||||
xmlHandle->stack[stackPtr].currentAttribute++;
|
xmlHandle->stack[stackPtr].currentAttribute++;
|
||||||
return NXXgetnextattr(fid,pName,iLength,iType);
|
return NXXgetnextattr(fid,pName,iLength,iType);
|
||||||
}
|
}
|
||||||
@ -1161,18 +1216,7 @@ extern NXstatus NXXinitattrdir(NXhandle fid){
|
|||||||
xmlHandle = (pXMLNexus)fid;
|
xmlHandle = (pXMLNexus)fid;
|
||||||
assert(xmlHandle);
|
assert(xmlHandle);
|
||||||
|
|
||||||
if(isDataNode(xmlHandle->stack[xmlHandle->stackPointer].current)){
|
|
||||||
/*
|
|
||||||
dataset attribute
|
|
||||||
*/
|
|
||||||
stackPtr = xmlHandle->stackPointer;
|
stackPtr = xmlHandle->stackPointer;
|
||||||
} else {
|
|
||||||
/*
|
|
||||||
global attribute
|
|
||||||
*/
|
|
||||||
stackPtr = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
xmlHandle->stack[stackPtr].currentAttribute = 0;
|
xmlHandle->stack[stackPtr].currentAttribute = 0;
|
||||||
return NX_OK;
|
return NX_OK;
|
||||||
}
|
}
|
||||||
@ -1218,22 +1262,17 @@ NXstatus NXXgetattrinfo (NXhandle fid, int *iN){
|
|||||||
xmlHandle = (pXMLNexus)fid;
|
xmlHandle = (pXMLNexus)fid;
|
||||||
assert(xmlHandle);
|
assert(xmlHandle);
|
||||||
|
|
||||||
if(isDataNode(xmlHandle->stack[xmlHandle->stackPointer].current)){
|
|
||||||
/*
|
|
||||||
dataset attribute
|
|
||||||
*/
|
|
||||||
stackPtr = xmlHandle->stackPointer;
|
stackPtr = xmlHandle->stackPointer;
|
||||||
} else {
|
|
||||||
/*
|
|
||||||
global attribute
|
|
||||||
*/
|
|
||||||
stackPtr = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
current = xmlHandle->stack[stackPtr].current;
|
current = xmlHandle->stack[stackPtr].current;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
hide type attribute
|
hide type and group name attributes
|
||||||
*/
|
*/
|
||||||
|
if(!isDataNode(current)) {
|
||||||
|
*iN = current->value.element.num_attrs -1;
|
||||||
|
return NX_OK;
|
||||||
|
}
|
||||||
if(mxmlElementGetAttr(current,TYPENAME) != NULL){
|
if(mxmlElementGetAttr(current,TYPENAME) != NULL){
|
||||||
*iN = current->value.element.num_attrs -1;
|
*iN = current->value.element.num_attrs -1;
|
||||||
} else {
|
} else {
|
||||||
@ -1413,6 +1452,34 @@ NXstatus NXXmakelink (NXhandle fid, NXlink* sLink){
|
|||||||
}
|
}
|
||||||
return NX_OK;
|
return NX_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*-----------------------------------------------------------------------*/
|
||||||
|
NXstatus NXXmakenamedlink (NXhandle fid, char *name, NXlink* sLink){
|
||||||
|
pXMLNexus xmlHandle = NULL;
|
||||||
|
mxml_node_t *current = NULL, *linkNode = NULL;
|
||||||
|
mxml_node_t *linkedNode = NULL;
|
||||||
|
|
||||||
|
xmlHandle = (pXMLNexus)fid;
|
||||||
|
assert(xmlHandle);
|
||||||
|
|
||||||
|
if(isDataNode(xmlHandle->stack[xmlHandle->stackPointer].current)){
|
||||||
|
NXIReportError(NXpData,"No group to link to open");
|
||||||
|
return NX_ERROR;
|
||||||
|
}
|
||||||
|
current = xmlHandle->stack[xmlHandle->stackPointer].current;
|
||||||
|
linkNode = mxmlNewElement(current,"NAPIlink");
|
||||||
|
if(!linkNode){
|
||||||
|
NXIReportError(NXpData,"Failed to allocate new link element");
|
||||||
|
return NX_ERROR;
|
||||||
|
}
|
||||||
|
mxmlElementSetAttr(linkNode,"target",sLink->targetPath);
|
||||||
|
mxmlElementSetAttr(linkNode,"name",name);
|
||||||
|
linkedNode = getLinkTarget(xmlHandle,sLink->targetPath);
|
||||||
|
if(linkedNode != NULL){
|
||||||
|
mxmlElementSetAttr(linkedNode,"target",sLink->targetPath);
|
||||||
|
}
|
||||||
|
return NX_OK;
|
||||||
|
}
|
||||||
/*----------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------*/
|
||||||
NXstatus NXXsameID (NXhandle fileid, NXlink* pFirstID,
|
NXstatus NXXsameID (NXhandle fileid, NXlink* pFirstID,
|
||||||
NXlink* pSecondID){
|
NXlink* pSecondID){
|
||||||
|
15
optimise.c
15
optimise.c
@ -308,22 +308,7 @@
|
|||||||
{
|
{
|
||||||
DynarGet(self->pVariables,i,&pData);
|
DynarGet(self->pVariables,i,&pData);
|
||||||
pOVar = (pOVarEntry)pData;
|
pOVar = (pOVarEntry)pData;
|
||||||
if(FindMotor(pServ->pSics,pOVar->pName) != NULL)
|
|
||||||
{
|
|
||||||
iRet = MotorGetSoftPosition(pOVar->pData,pCon,&fVal);
|
|
||||||
if(iRet == 1)
|
|
||||||
{
|
|
||||||
pOVar->fCenter = fVal;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
pOVar->fCenter = -1000.;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
pOVar->fCenter = pOVar->pDriv->GetValue(pOVar->pData,pCon);
|
pOVar->fCenter = pOVar->pDriv->GetValue(pOVar->pData,pCon);
|
||||||
}
|
|
||||||
if(pOVar->fCenter < -900.)
|
if(pOVar->fCenter < -900.)
|
||||||
{
|
{
|
||||||
return SCANERROR;
|
return SCANERROR;
|
||||||
|
@ -38,6 +38,7 @@ static int pollHdb(struct __POLLDRIV *self, SConnection *pCon){
|
|||||||
if(!compareHdbValue(old,newVal)){
|
if(!compareHdbValue(old,newVal)){
|
||||||
UpdateHipadabaPar(node,newVal,pCon);
|
UpdateHipadabaPar(node,newVal,pCon);
|
||||||
}
|
}
|
||||||
|
ReleaseHdbValue(&newVal);
|
||||||
return 1;
|
return 1;
|
||||||
} else {
|
} else {
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -34,6 +34,7 @@ static int pollHdb(struct __POLLDRIV *self, SConnection *pCon){
|
|||||||
if(!compareHdbValue(old,newVal)){
|
if(!compareHdbValue(old,newVal)){
|
||||||
UpdateHipadabaPar(node,newVal,pCon);
|
UpdateHipadabaPar(node,newVal,pCon);
|
||||||
}
|
}
|
||||||
|
ReleaseHdbValue(&newVal);
|
||||||
return 1;
|
return 1;
|
||||||
} else {
|
} else {
|
||||||
return 0;
|
return 0;
|
||||||
|
28
scan.c
28
scan.c
@ -209,8 +209,6 @@ static void ConfigureScanDict(pStringDict dict)
|
|||||||
self->ScanDrive = ScanDrive;
|
self->ScanDrive = ScanDrive;
|
||||||
self->ScanCount = ScanCount;
|
self->ScanCount = ScanCount;
|
||||||
self->CollectScanData = CollectScanData;
|
self->CollectScanData = CollectScanData;
|
||||||
self->posSoft = 0;
|
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
/*-------------------------------------------------------------------------*/
|
/*-------------------------------------------------------------------------*/
|
||||||
@ -1068,10 +1066,6 @@ CountEntry CollectCounterData(pScanData self)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*---------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------*/
|
||||||
int isScanVarSoft(pScanData self){
|
|
||||||
return self->posSoft;
|
|
||||||
}
|
|
||||||
/*-------------------------------------------------------------------------*/
|
|
||||||
int GetScanVarStep(pScanData self, int iWhich, float *fStep)
|
int GetScanVarStep(pScanData self, int iWhich, float *fStep)
|
||||||
{
|
{
|
||||||
pVarEntry pVar = NULL;
|
pVarEntry pVar = NULL;
|
||||||
@ -2101,14 +2095,6 @@ static int DumpScan(pScanData self, SConnection *pCon)
|
|||||||
SCSendOK(pCon);
|
SCSendOK(pCon);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
else if(strcmp(argv[2],"soft") == 0)
|
|
||||||
{
|
|
||||||
ResetScanFunctions(self);
|
|
||||||
self->CollectScanData = CollectScanDataJochen;
|
|
||||||
self->posSoft = 1;
|
|
||||||
SCSendOK(pCon);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
site = getSite();
|
site = getSite();
|
||||||
@ -2415,20 +2401,6 @@ static int DumpScan(pScanData self, SConnection *pCon)
|
|||||||
}
|
}
|
||||||
return AppendVarPos(pCon,self,i,(float)fStep);
|
return AppendVarPos(pCon,self,i,(float)fStep);
|
||||||
}
|
}
|
||||||
else if(strcmp(argv[1],"softpos") == 0){
|
|
||||||
if(argc > 2) {
|
|
||||||
if(!SCMatchRights(pCon,usMugger)){
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
self->posSoft = atoi(argv[2]);
|
|
||||||
SCSendOK(pCon);
|
|
||||||
return 1;
|
|
||||||
} else {
|
|
||||||
sprintf(pBueffel,"%s.softpos = %d", argv[0],self->posSoft);
|
|
||||||
SCWrite(pCon,pBueffel,eValue);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/*------- savecounter */
|
/*------- savecounter */
|
||||||
else if(strcmp(argv[1],"savecounter") == 0)
|
else if(strcmp(argv[1],"savecounter") == 0)
|
||||||
{
|
{
|
||||||
|
1
scan.h
1
scan.h
@ -39,7 +39,6 @@
|
|||||||
char *pName, int iLength);
|
char *pName, int iLength);
|
||||||
int GetScanVarStep(pScanData self, int iWhich,
|
int GetScanVarStep(pScanData self, int iWhich,
|
||||||
float *fStep);
|
float *fStep);
|
||||||
int isScanVarSoft(pScanData self);
|
|
||||||
int GetScanMonitor(pScanData self, int iWhich,
|
int GetScanMonitor(pScanData self, int iWhich,
|
||||||
long *lData, int iDataLen);
|
long *lData, int iDataLen);
|
||||||
int GetScanNP(pScanData self);
|
int GetScanNP(pScanData self);
|
||||||
|
1
scan.i
1
scan.i
@ -46,7 +46,6 @@
|
|||||||
int iP);
|
int iP);
|
||||||
pStringDict scanFunctions;
|
pStringDict scanFunctions;
|
||||||
long lPos;
|
long lPos;
|
||||||
int posSoft;
|
|
||||||
void *pCounterData;
|
void *pCounterData;
|
||||||
char pCounterName[512];
|
char pCounterName[512];
|
||||||
int iChannel;
|
int iChannel;
|
||||||
|
2
scan.tex
2
scan.tex
@ -222,7 +222,6 @@ $\langle$scandata {\footnotesize ?}$\rangle\equiv$
|
|||||||
\mbox{}\verb@ int iP);@\\
|
\mbox{}\verb@ int iP);@\\
|
||||||
\mbox{}\verb@ pStringDict scanFunctions;@\\
|
\mbox{}\verb@ pStringDict scanFunctions;@\\
|
||||||
\mbox{}\verb@ long lPos;@\\
|
\mbox{}\verb@ long lPos;@\\
|
||||||
\mbox{}\verb@ int posSoft;@\\
|
|
||||||
\mbox{}\verb@ void *pCounterData;@\\
|
\mbox{}\verb@ void *pCounterData;@\\
|
||||||
\mbox{}\verb@ char pCounterName[512];@\\
|
\mbox{}\verb@ char pCounterName[512];@\\
|
||||||
\mbox{}\verb@ int iChannel;@\\
|
\mbox{}\verb@ int iChannel;@\\
|
||||||
@ -353,7 +352,6 @@ $\langle$scaninter {\footnotesize ?}$\rangle\equiv$
|
|||||||
\mbox{}\verb@ char *pName, int iLength);@\\
|
\mbox{}\verb@ char *pName, int iLength);@\\
|
||||||
\mbox{}\verb@ int GetScanVarStep(pScanData self, int iWhich, @\\
|
\mbox{}\verb@ int GetScanVarStep(pScanData self, int iWhich, @\\
|
||||||
\mbox{}\verb@ float *fStep);@\\
|
\mbox{}\verb@ float *fStep);@\\
|
||||||
\mbox{}\verb@ int isScanVarSoft(pScanData self);@\\
|
|
||||||
\mbox{}\verb@ int GetScanMonitor(pScanData self, int iWhich, @\\
|
\mbox{}\verb@ int GetScanMonitor(pScanData self, int iWhich, @\\
|
||||||
\mbox{}\verb@ long *lData, int iDataLen);@\\
|
\mbox{}\verb@ long *lData, int iDataLen);@\\
|
||||||
\mbox{}\verb@ int GetScanNP(pScanData self);@\\
|
\mbox{}\verb@ int GetScanNP(pScanData self);@\\
|
||||||
|
2
scan.w
2
scan.w
@ -192,7 +192,6 @@ Scan variables have an interface:
|
|||||||
int iP);
|
int iP);
|
||||||
pStringDict scanFunctions;
|
pStringDict scanFunctions;
|
||||||
long lPos;
|
long lPos;
|
||||||
int posSoft;
|
|
||||||
void *pCounterData;
|
void *pCounterData;
|
||||||
char pCounterName[512];
|
char pCounterName[512];
|
||||||
int iChannel;
|
int iChannel;
|
||||||
@ -312,7 +311,6 @@ functions:
|
|||||||
char *pName, int iLength);
|
char *pName, int iLength);
|
||||||
int GetScanVarStep(pScanData self, int iWhich,
|
int GetScanVarStep(pScanData self, int iWhich,
|
||||||
float *fStep);
|
float *fStep);
|
||||||
int isScanVarSoft(pScanData self);
|
|
||||||
int GetScanMonitor(pScanData self, int iWhich,
|
int GetScanMonitor(pScanData self, int iWhich,
|
||||||
long *lData, int iDataLen);
|
long *lData, int iDataLen);
|
||||||
int GetScanNP(pScanData self);
|
int GetScanNP(pScanData self);
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
#include "rs232c_def.h"
|
#include "rs232c_def.h"
|
||||||
#include "el734_def.h"
|
#include "el734_def.h"
|
||||||
#include "psi/hardsup/serialsinq.h"
|
#include "psi/hardsup/serialsinq.h"
|
||||||
#include "sics.h"
|
#include <sics.h>
|
||||||
|
|
||||||
#define False 0
|
#define False 0
|
||||||
#define True 1
|
#define True 1
|
||||||
|
2
sics.h
2
sics.h
@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
/* the following line suppresses const declarations in tcl.h.
|
/* the following line suppresses const declarations in tcl.h.
|
||||||
-> makes the compiler happy M.Z. */
|
-> makes the compiler happy M.Z. */
|
||||||
/* #define NO_CONST */
|
#define NO_CONST
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
@ -37,7 +37,7 @@ typedef struct __STATEMON {
|
|||||||
eventCode = STEND;
|
eventCode = STEND;
|
||||||
} else {
|
} else {
|
||||||
printf("Unrecognized event text from devexec in statemon.c: %s\n",
|
printf("Unrecognized event text from devexec in statemon.c: %s\n",
|
||||||
text);
|
(char *)text);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if(self != NULL){
|
if(self != NULL){
|
||||||
|
21
stdscan.c
21
stdscan.c
@ -786,16 +786,8 @@ int prepareDataFile(pScanData self){
|
|||||||
DynarGet(self->pScanVar,i,&pDings);
|
DynarGet(self->pScanVar,i,&pDings);
|
||||||
pVar = (pVarEntry)pDings;
|
pVar = (pVarEntry)pDings;
|
||||||
if(pVar)
|
if(pVar)
|
||||||
{
|
|
||||||
if(jochenFlag == 1 &&
|
|
||||||
strcmp(pVar->pObject->pDescriptor->name, "Motor") == 0)
|
|
||||||
{
|
|
||||||
MotorGetSoftPosition((pMotor)pVar->pObject,self->pCon,&fVal);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
fVal = pVar->pInter->GetValue(pVar->pObject,self->pCon);
|
fVal = pVar->pInter->GetValue(pVar->pObject,self->pCon);
|
||||||
}
|
|
||||||
AppendScanVar(pVar,fVal);
|
AppendScanVar(pVar,fVal);
|
||||||
sprintf(pItem,"%-9.9s ",ScanVarName(pVar));
|
sprintf(pItem,"%-9.9s ",ScanVarName(pVar));
|
||||||
strcat(pHead,pItem);
|
strcat(pHead,pItem);
|
||||||
@ -841,11 +833,6 @@ int prepareDataFile(pScanData self){
|
|||||||
{
|
{
|
||||||
return CollectScanDataIntern(self,iPoint,0);
|
return CollectScanDataIntern(self,iPoint,0);
|
||||||
}
|
}
|
||||||
/*--------------------------------------------------------------------------*/
|
|
||||||
int CollectScanDataJochen(pScanData self, int iPoint)
|
|
||||||
{
|
|
||||||
return CollectScanDataIntern(self,iPoint,1);
|
|
||||||
}
|
|
||||||
/*------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------*/
|
||||||
int CollectSilent(pScanData self, int iPoint)
|
int CollectSilent(pScanData self, int iPoint)
|
||||||
{
|
{
|
||||||
@ -866,16 +853,8 @@ int prepareDataFile(pScanData self){
|
|||||||
DynarGet(self->pScanVar,i,&pDings);
|
DynarGet(self->pScanVar,i,&pDings);
|
||||||
pVar = (pVarEntry)pDings;
|
pVar = (pVarEntry)pDings;
|
||||||
if(pVar)
|
if(pVar)
|
||||||
{
|
|
||||||
if(jochenFlag == 1 &&
|
|
||||||
strcmp(pVar->pObject->pDescriptor->name, "Motor") == 0)
|
|
||||||
{
|
|
||||||
MotorGetSoftPosition((pMotor)pVar->pObject,self->pCon,&fVal);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
fVal = pVar->pInter->GetValue(pVar->pObject,self->pCon);
|
fVal = pVar->pInter->GetValue(pVar->pObject,self->pCon);
|
||||||
}
|
|
||||||
AppendScanVar(pVar,fVal);
|
AppendScanVar(pVar,fVal);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
11
tasscanub.c
11
tasscanub.c
@ -142,16 +142,7 @@ static float readDrivable(char *val, SConnection *pCon){
|
|||||||
float fVal;
|
float fVal;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
if motor: read motor
|
read general drivable
|
||||||
*/
|
|
||||||
pMot = FindMotor(pServ->pSics,val);
|
|
||||||
if(pMot != NULL){
|
|
||||||
MotorGetSoftPosition(pMot,pCon,&fVal);
|
|
||||||
return fVal;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
else: read general drivable
|
|
||||||
*/
|
*/
|
||||||
pCom = FindCommand(pServ->pSics,val);
|
pCom = FindCommand(pServ->pSics,val);
|
||||||
if(pCom != NULL){
|
if(pCom != NULL){
|
||||||
|
667
val.lis
667
val.lis
@ -1,215 +1,458 @@
|
|||||||
==16499== Memcheck, a memory error detector for x86-linux.
|
==26623== Memcheck, a memory error detector.
|
||||||
==16499== Copyright (C) 2002-2004, and GNU GPL'd, by Julian Seward et al.
|
==26623== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al.
|
||||||
==16499== Using valgrind-2.2.0, a program supervision framework for x86-linux.
|
==26623== Using LibVEX rev 1575, a library for dynamic binary translation.
|
||||||
==16499== Copyright (C) 2000-2004, and GNU GPL'd, by Julian Seward et al.
|
==26623== Copyright (C) 2004-2005, and GNU GPL'd, by OpenWorks LLP.
|
||||||
==16499== For more details, rerun with: -v
|
==26623== Using valgrind-3.1.1, a dynamic binary instrumentation framework.
|
||||||
==16499==
|
==26623== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al.
|
||||||
|
==26623== For more details, rerun with: -v
|
||||||
|
==26623==
|
||||||
WARNING: Cannot log(Accepted dummy connection )
|
WARNING: Cannot log(Accepted dummy connection )
|
||||||
sim/topsi/morpheus.tcl:0>> ServerOption ReadTimeOut 10
|
mcstas/dmc/vdmc.tcl:0>> ServerOption ReadTimeOut 10
|
||||||
sim/topsi/morpheus.tcl:1>> ServerOption AcceptTimeOut 50
|
mcstas/dmc/vdmc.tcl:1>> ServerOption AcceptTimeOut 10
|
||||||
sim/topsi/morpheus.tcl:2>> ServerOption ReadUserPasswdTimeout 500000
|
mcstas/dmc/vdmc.tcl:2>> ServerOption ReadUserPasswdTimeout 500000
|
||||||
sim/topsi/morpheus.tcl:3>> ServerOption LogFileBaseName $loghome/morpheus
|
mcstas/dmc/vdmc.tcl:3>> ServerOption LogFileBaseName "$home/vdmclog"
|
||||||
sim/topsi/morpheus.tcl:4>> ServerOption TecsPort 9753
|
mcstas/dmc/vdmc.tcl:4>> ServerOption LogFileDir $home/
|
||||||
sim/topsi/morpheus.tcl:5>> ServerOption ServerPort 2911
|
mcstas/dmc/vdmc.tcl:5>> ServerOption ServerPort 2911
|
||||||
sim/topsi/morpheus.tcl:6>> ServerOption InterruptPort 9709
|
mcstas/dmc/vdmc.tcl:6>> ServerOption statusfile $home/vdmcstatus.tcl
|
||||||
sim/topsi/morpheus.tcl:7>> ServerOption statusfile $datahome/morpheusstatus.tcl
|
mcstas/dmc/vdmc.tcl:7>> ServerOption InterruptPort 3007
|
||||||
sim/topsi/morpheus.tcl:8>> ServerOption TelnetPort 1301
|
mcstas/dmc/vdmc.tcl:8>> ServerOption TelnetPort 1301
|
||||||
sim/topsi/morpheus.tcl:9>> ServerOption TelWord sicslogin
|
mcstas/dmc/vdmc.tcl:9>> ServerOption TelWord sicslogin
|
||||||
sim/topsi/morpheus.tcl:10>> ServerOption QuieckPort 2108
|
mcstas/dmc/vdmc.tcl:10>> SicsUser lnsmanager lnsSICSlns 1
|
||||||
sim/topsi/morpheus.tcl:11>> TokenInit connan
|
mcstas/dmc/vdmc.tcl:11>> SicsUser Manager Manager 1
|
||||||
sim/topsi/morpheus.tcl:12>> ServerOption LogFileDir $loghome
|
mcstas/dmc/vdmc.tcl:12>> SicsUser user looser 2
|
||||||
sim/topsi/morpheus.tcl:13>> commandlog auto
|
mcstas/dmc/vdmc.tcl:13>> SicsUser Spy 007 1
|
||||||
sim/topsi/morpheus.tcl:14>> ServerOption RedirectFile $loghome/mostdout
|
mcstas/dmc/vdmc.tcl:14>> ClientPut "Installing Motors"
|
||||||
sim/topsi/morpheus.tcl:15>> MakeDataNumber SicsDataNumber $datahome/DataNumber
|
Installing Motors
|
||||||
sim/topsi/morpheus.tcl:16>> VarMake SicsDataPath Text Mugger
|
mcstas/dmc/vdmc.tcl:15>> Motor OmegaM SIM 0 120 -.1 2.
|
||||||
sim/topsi/morpheus.tcl:17>> SicsDataPath $datahome/
|
mcstas/dmc/vdmc.tcl:16>> Motor TwoThetaM SIM 30 100 -.1 1.
|
||||||
sim/topsi/morpheus.tcl:18>> SicsDataPath lock
|
mcstas/dmc/vdmc.tcl:17>> Motor MonoX SIM -30 30 -.1 3.0
|
||||||
sim/topsi/morpheus.tcl:19>> VarMake SicsDataPrefix Text Mugger
|
mcstas/dmc/vdmc.tcl:18>> Motor MonoY SIM -30 30 -.1 3.0
|
||||||
sim/topsi/morpheus.tcl:20>> SicsDataPrefix lock
|
mcstas/dmc/vdmc.tcl:19>> Motor CurveM SIM 0 20 -.1 3.0
|
||||||
sim/topsi/morpheus.tcl:21>> VarMake SicsDataPostFix Text Mugger
|
mcstas/dmc/vdmc.tcl:20>> Motor MonoPhi SIM -30 30 -.1 3.0
|
||||||
sim/topsi/morpheus.tcl:22>> SicsDataPostFix .dat
|
mcstas/dmc/vdmc.tcl:21>> Motor MonoChi SIM -30 30 -.1 3.0
|
||||||
sim/topsi/morpheus.tcl:23>> SicsDataPostFix lock
|
mcstas/dmc/vdmc.tcl:22>> Motor Table SIM -180 360 -.1 2.
|
||||||
sim/topsi/morpheus.tcl:24>> SicsUser lnsmanager lnsSICSlns 1
|
mcstas/dmc/vdmc.tcl:23>> Motor TwoThetaD SIM -10 120 -.1 1.
|
||||||
sim/topsi/morpheus.tcl:25>> SicsUser morpheususer 06lns1 2
|
mcstas/dmc/vdmc.tcl:24>> MakeMono Mono "PG-002" OmegaM TwoThetaM CurveM
|
||||||
sim/topsi/morpheus.tcl:26>> SicsUser mu 06lns1 2
|
mcstas/dmc/vdmc.tcl:25>> Mono DD 3.3537
|
||||||
sim/topsi/morpheus.tcl:27>> VarMake Instrument Text Internal
|
mcstas/dmc/vdmc.tcl:26>> Mono vk1 -0.025942
|
||||||
sim/topsi/morpheus.tcl:28>> VarMake sample Text User
|
mcstas/dmc/vdmc.tcl:27>> Mono vk2 5.351660
|
||||||
sim/topsi/morpheus.tcl:29>> sample " "
|
mcstas/dmc/vdmc.tcl:28>> MakeWaveLength lambda Mono
|
||||||
sim/topsi/morpheus.tcl:30>> VarMake Title Text User
|
mcstas/dmc/vdmc.tcl:29>> allowexec $home/dmcafter
|
||||||
sim/topsi/morpheus.tcl:31>> Title "morpheus"
|
mcstas/dmc/vdmc.tcl:30>> allowexec $home/dmc_sics05
|
||||||
sim/topsi/morpheus.tcl:32>> VarMake User Text User
|
mcstas/dmc/vdmc.tcl:31>> ClientPut "Installing counter"
|
||||||
sim/topsi/morpheus.tcl:33>> User "unknown"
|
Installing counter
|
||||||
sim/topsi/morpheus.tcl:34>> VarMake email Text User
|
mcstas/dmc/vdmc.tcl:32>> MakeCounter counter mcstas
|
||||||
sim/topsi/morpheus.tcl:35>> email "unknown"
|
mcstas/dmc/vdmc.tcl:33>> counter SetExponent 1
|
||||||
sim/topsi/morpheus.tcl:36>> VarMake adress Text User
|
mcstas/dmc/vdmc.tcl:34>> MakeHM banana mcstas
|
||||||
sim/topsi/morpheus.tcl:37>> adress "unknown"
|
mcstas/dmc/vdmc.tcl:35>> banana configure HistMode Normal
|
||||||
sim/topsi/morpheus.tcl:38>> VarMake fax Text User
|
mcstas/dmc/vdmc.tcl:36>> banana configure OverFlowMode Ceil
|
||||||
sim/topsi/morpheus.tcl:39>> fax "unknown"
|
mcstas/dmc/vdmc.tcl:37>> banana configure Rank 1
|
||||||
sim/topsi/morpheus.tcl:40>> VarMake phone Text User
|
mcstas/dmc/vdmc.tcl:38>> banana configure dim0 400
|
||||||
sim/topsi/morpheus.tcl:41>> phone "unknown"
|
mcstas/dmc/vdmc.tcl:39>> banana configure BinWidth 4
|
||||||
sim/topsi/morpheus.tcl:42>> VarMake BatchRoot text User
|
mcstas/dmc/vdmc.tcl:40>> banana preset 100.
|
||||||
sim/topsi/morpheus.tcl:43>> VarMake lastscancommand Text User
|
mcstas/dmc/vdmc.tcl:41>> banana CountMode Timer
|
||||||
sim/topsi/morpheus.tcl:44>> lastscancommand "unknown scan"
|
mcstas/dmc/vdmc.tcl:42>> banana configure Counter counter
|
||||||
sim/topsi/morpheus.tcl:45>> Publish savemotorpar Mugger
|
mcstas/dmc/vdmc.tcl:43>> banana configure init 0
|
||||||
sim/topsi/morpheus.tcl:46>> SicsAlias STH A3
|
mcstas/dmc/vdmc.tcl:44>> banana init
|
||||||
sim/topsi/morpheus.tcl:47>> SicsAlias STH SOM
|
mcstas/dmc/vdmc.tcl:45>> banana exponent 3
|
||||||
sim/topsi/morpheus.tcl:48>> SicsAlias STH TH
|
mcstas/dmc/vdmc.tcl:46>> SicsAlias OmegaM A1
|
||||||
sim/topsi/morpheus.tcl:49>> SicsAlias STH OM
|
mcstas/dmc/vdmc.tcl:47>> SicsAlias TwoThetaM A2
|
||||||
sim/topsi/morpheus.tcl:50>> SicsAlias STT A4
|
mcstas/dmc/vdmc.tcl:48>> SicsAlias Table A3
|
||||||
sim/topsi/morpheus.tcl:51>> SicsAlias STT S2T
|
mcstas/dmc/vdmc.tcl:49>> SicsAlias TwoThetaD A4
|
||||||
sim/topsi/morpheus.tcl:52>> SicsAlias STT TTH
|
mcstas/dmc/vdmc.tcl:50>> SicsAlias MonoX A5
|
||||||
sim/topsi/morpheus.tcl:53>> SicsAlias STT 2T
|
mcstas/dmc/vdmc.tcl:51>> SicsAlias MonoY A6
|
||||||
sim/topsi/morpheus.tcl:54>> SicsAlias SCX SCH
|
mcstas/dmc/vdmc.tcl:52>> SicsAlias MonoPhi A7
|
||||||
sim/topsi/morpheus.tcl:55>> SicsAlias SCY SPH
|
mcstas/dmc/vdmc.tcl:53>> SicsAlias MonoChi A8
|
||||||
sim/topsi/morpheus.tcl:56>> SicsAlias SCY ATX
|
mcstas/dmc/vdmc.tcl:54>> SicsAlias CurveM A9
|
||||||
sim/topsi/morpheus.tcl:57>> SicsAlias PO1 POL
|
mcstas/dmc/vdmc.tcl:55>> DefineAlias TT temperature
|
||||||
sim/topsi/morpheus.tcl:58>> SicsAlias PO2 ANA
|
mcstas/dmc/vdmc.tcl:56>> VarMake SicsDataPath Text Internal
|
||||||
sim/topsi/morpheus.tcl:59>> SicsAlias MTH A1
|
mcstas/dmc/vdmc.tcl:57>> SicsDataPath "$home/"
|
||||||
sim/topsi/morpheus.tcl:60>> SicsAlias MTH MOM
|
mcstas/dmc/vdmc.tcl:58>> SicsDataPath lock
|
||||||
sim/topsi/morpheus.tcl:61>> SicsAlias MTT A2
|
mcstas/dmc/vdmc.tcl:59>> VarMake DetStepWidth Float Internal
|
||||||
sim/topsi/morpheus.tcl:62>> SicsAlias MTT M2T
|
mcstas/dmc/vdmc.tcl:60>> DetStepWidth 0.2
|
||||||
sim/topsi/morpheus.tcl:63>> SicsAlias MFV MCV
|
mcstas/dmc/vdmc.tcl:61>> DetStepWidth lock
|
||||||
sim/topsi/morpheus.tcl:64>> SicsAlias SCX CHI
|
mcstas/dmc/vdmc.tcl:62>> VarMake Instrument Text Internal
|
||||||
sim/topsi/morpheus.tcl:65>> SicsAlias SCY PHI
|
mcstas/dmc/vdmc.tcl:63>> Instrument "Virtual DMC driven by McStas"
|
||||||
sim/topsi/morpheus.tcl:66>> MakeLin2Ang sttl utt
|
mcstas/dmc/vdmc.tcl:64>> Instrument lock
|
||||||
sim/topsi/morpheus.tcl:67>> sttl length 2110
|
mcstas/dmc/vdmc.tcl:65>> VarMake Title Text User
|
||||||
sim/topsi/morpheus.tcl:68>> SicsAlias sttl u2t
|
mcstas/dmc/vdmc.tcl:66>> VarMake User Text User
|
||||||
sim/topsi/morpheus.tcl:69>> MakeO2T O2T sth stt
|
mcstas/dmc/vdmc.tcl:67>> VarMake Collimation Text User
|
||||||
sim/topsi/morpheus.tcl:70>> MakeO2T O2TL sth sttl
|
mcstas/dmc/vdmc.tcl:68>> VarMake SampleIntern Text User
|
||||||
sim/topsi/morpheus.tcl:71>> MakeO2T O2U sth sttl
|
mcstas/dmc/vdmc.tcl:69>> SampleIntern Kellerit
|
||||||
sim/topsi/morpheus.tcl:72>> MakeScanCommand xxxscan counter $scripthome/morpheus.hdd \
|
mcstas/dmc/vdmc.tcl:70>> VarMake comment1 Text User
|
||||||
$loghome/recover.bin
|
mcstas/dmc/vdmc.tcl:71>> VarMake comment2 Text User
|
||||||
sim/topsi/morpheus.tcl:73>> MakePeakCenter xxxscan
|
mcstas/dmc/vdmc.tcl:72>> VarMake comment3 Text User
|
||||||
sim/topsi/morpheus.tcl:74>> xxxscan configure soft
|
mcstas/dmc/vdmc.tcl:73>> VarMake starttime Text User
|
||||||
sim/topsi/morpheus.tcl:75>> MakeOptimise opti counter
|
mcstas/dmc/vdmc.tcl:74>> starttime ""
|
||||||
sim/topsi/morpheus.tcl:76>> SicsAlias drive dr
|
mcstas/dmc/vdmc.tcl:75>> VarMake SicsDataPrefix Text Internal
|
||||||
sim/topsi/morpheus.tcl:77>> DefineAlias TT temperature
|
mcstas/dmc/vdmc.tcl:76>> SicsDataPrefix vdmc
|
||||||
sim/topsi/morpheus.tcl:78>> MakeHKL stt sth sph sch
|
mcstas/dmc/vdmc.tcl:77>> MakeDataNumber SicsDataNumber $home/DataNumber
|
||||||
sim/topsi/morpheus.tcl:79>> MakeHKLMot hkl
|
mcstas/dmc/vdmc.tcl:78>> VarMake SicsDataPostFix Text Internal
|
||||||
sim/topsi/morpheus.tcl:80>> MakeUBCalc ubcalc hkl
|
mcstas/dmc/vdmc.tcl:79>> SicsDataPostFix ".xml"
|
||||||
sim/topsi/morpheus.tcl:81>> MakeCone cone ubcalc
|
mcstas/dmc/vdmc.tcl:80>> VarMake Adress Text User
|
||||||
sim/topsi/morpheus.tcl:82>> MakeXYTable table
|
mcstas/dmc/vdmc.tcl:81>> VarMake phone Text User
|
||||||
sim/topsi/morpheus.tcl:83>> MakeConfigurableMotor two
|
mcstas/dmc/vdmc.tcl:82>> VarMake fax Text User
|
||||||
sim/topsi/morpheus.tcl:84>> two drivescript twoscript
|
mcstas/dmc/vdmc.tcl:83>> VarMake email Text User
|
||||||
|
mcstas/dmc/vdmc.tcl:84>> VarMake sample_mur Float User
|
||||||
|
mcstas/dmc/vdmc.tcl:85>> VarMake lastdatafile Text User
|
||||||
ERROR: duplicate exe manager not created
|
ERROR: duplicate exe manager not created
|
||||||
sim/topsi/morpheus.tcl:85>> fileeval $scripthome/morpheuscom.tcl
|
mcstas/dmc/vdmc.tcl:86>> commandlog auto
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:86>> MakeStateMon xxxscan
|
mcstas/dmc/vdmc.tcl:87>> commandlog intervall 5
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:87>> hmake /morpheus spy none
|
mcstas/dmc/vdmc.tcl:88>> hmake /dmc spy none
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:88>> hsetprop /morpheus type instrument
|
mcstas/dmc/vdmc.tcl:89>> hsetprop /dmc type instrument
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:89>> hmake /graphics spy none
|
mcstas/dmc/vdmc.tcl:90>> hmake /dmc/experiment spy none
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:90>> hsetprop /graphics type graphset
|
mcstas/dmc/vdmc.tcl:91>> hattach /dmc/experiment title title
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:91>> hmake /commands spy none
|
mcstas/dmc/vdmc.tcl:92>> hattach /dmc/experiment user user
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:92>> hsetprop /commands type commandset
|
mcstas/dmc/vdmc.tcl:93>> hattach /dmc/experiment starttime starttime
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:93>> hattach /morpheus title title
|
mcstas/dmc/vdmc.tcl:94>> hattach /dmc/experiment user user
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:94>> hmake /morpheus/user spy none
|
mcstas/dmc/vdmc.tcl:95>> hattach /dmc/experiment/user adress address
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:95>> hsetprop /morpheus/user type dev
|
mcstas/dmc/vdmc.tcl:96>> hattach /dmc/experiment/user phone phone
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:96>> hattach /morheus/user user name
|
mcstas/dmc/vdmc.tcl:97>> hattach /dmc/experiment/user email email
|
||||||
ERROR: path to attach object too not found
|
mcstas/dmc/vdmc.tcl:98>> hattach /dmc/experiment comment1 comment1
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:97>> hattach /morpheus/user adress address
|
mcstas/dmc/vdmc.tcl:99>> hattach /dmc/experiment comment2 comment2
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:98>> hattach /morpheus/user phone phone
|
mcstas/dmc/vdmc.tcl:100>> hattach /dmc/experiment comment3 comment3
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:99>> hattach /morpheus/user email email
|
mcstas/dmc/vdmc.tcl:101>> hmake /dmc/sinq spy none
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:100>> hmake /morpheus/monochromator spy none
|
mcstas/dmc/vdmc.tcl:102>> hmakescript /dmc/sinq/proton_monitor "counter getmonitor 4" hdbReadOnly int
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:101>> hsetprop /morpheus/monochromator type part
|
mcstas/dmc/vdmc.tcl:103>> sicspoll /dmc/sinq/proton_monitor hdb 10
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:102>> hattach /morpheus/monochromator lambda wavelength
|
mcstas/dmc/vdmc.tcl:104>> hmake /dmc/monochromator spy none
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:103>> hattach /morpheus/monochromator mth theta
|
mcstas/dmc/vdmc.tcl:105>> hattach /dmc/monochromator lambda wavelength
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:104>> hattach /morpheus/monochromator mtt two_theta
|
mcstas/dmc/vdmc.tcl:106>> hattach /dmc/monochromator OmegaM theta
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:105>> hattach /morpheus/monochromator mtx x_translation
|
mcstas/dmc/vdmc.tcl:107>> hattach /dmc/monochromator TwoThetaM two_theta
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:106>> hattach /morpheus/monochromator mty y_translation
|
mcstas/dmc/vdmc.tcl:108>> hattach /dmc/monochromator MonoX x_translation
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:107>> hattach /morpheus/monochromator mfv vertical_focusing
|
mcstas/dmc/vdmc.tcl:109>> hattach /dmc/monochromator MonoY y_translation
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:108>> hmakescript /morpheus/monochromator/d_value "mono dd" "mono dd" float
|
mcstas/dmc/vdmc.tcl:110>> hattach /dmc/monochromator MonoChi chi
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:109>> hsetprop /morpheus/monochromator/d_value priv manager
|
mcstas/dmc/vdmc.tcl:111>> hattach /dmc/monochromator MonoPhi phi
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:110>> hmakescript /morpheus/monochromator/scattering_sense "mono ss" "mono ss" int
|
mcstas/dmc/vdmc.tcl:112>> hattach /dmc/monochromator CurveM vertical_focusing
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:111>> hsetprop /morpheus/monochromator/scattering_sense priv manager
|
mcstas/dmc/vdmc.tcl:113>> hmakescript /dmc/monochromator/d_value "mono dd" "mono dd" float
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:112>> hmake /morpheus/slit1 spy none
|
mcstas/dmc/vdmc.tcl:114>> hsetprop /dmc/monochromator/d_value priv manager
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:113>> hsetprop /morpheus/slit1 type part
|
mcstas/dmc/vdmc.tcl:115>> hmakescript /dmc/monochromator/scattering_sense "mono ss" "mono ss" int
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:114>> hattach /morpheus/slit1 d1l left
|
mcstas/dmc/vdmc.tcl:116>> hsetprop /dmc/monochromator/scattering_sense priv manager
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:115>> hattach /morpheus/slit1 d1r right
|
mcstas/dmc/vdmc.tcl:117>> hmake /dmc/sample spy none
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:116>> hattach /morpheus/slit1 d1t top
|
mcstas/dmc/vdmc.tcl:118>> hmakescript /dmc/sample/name sample sample Text
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:117>> hattach /morpheus/slit1 d1b bottom
|
mcstas/dmc/vdmc.tcl:119>> hattach /dmc/sample Table rotation
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:118>> hmake /morpheus/slit2 spy none
|
mcstas/dmc/vdmc.tcl:120>> hmakescript /dmc/sample/monitor "counter getmonitor 1" hdbReadOnly int
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:119>> hsetprop /morpheus/slit2 type part
|
mcstas/dmc/vdmc.tcl:121>> hsetprop /dmc/sample/monitor priv internal
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:120>> hattach /morpheus/slit2 d2l left
|
mcstas/dmc/vdmc.tcl:122>> hmake /dmc/detector spy none
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:121>> hattach /morpheus/slit2 d2r right
|
mcstas/dmc/vdmc.tcl:123>> hattach /dmc/detector TwoThetaD two_theta
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:122>> hattach /morpheus/slit2 d2t top
|
mcstas/dmc/vdmc.tcl:124>> hmakescript /dmc/detector/preset "counter getpreset" hdbReadOnly float
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:123>> hattach /morpheus/slit2 d2b bottom
|
mcstas/dmc/vdmc.tcl:125>> hsetprop /dmc/detector/preset priv internal
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:124>> hmake /morpheus/sample spy none
|
mcstas/dmc/vdmc.tcl:126>> hmakescript /dmc/detector/countmode "counter getmode" hdbReadOnly text
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:125>> hsetprop /morpheus/sample type part
|
mcstas/dmc/vdmc.tcl:127>> hsetprop /dmc/detector/countmode priv internal
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:126>> hattach /morpheus/sample sample name
|
mcstas/dmc/vdmc.tcl:128>> sicspoll add /dmc/detector/preset hdb 30
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:127>> hattach /morpheus/sample sth omega
|
mcstas/dmc/vdmc.tcl:129>> sicspoll add /dmc/detector/countmode hdb 30
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:128>> hattach /morpheus/sample stt two_theta
|
mcstas/dmc/vdmc.tcl:130>> hmake /commands spy none
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:129>> hattach /morpheus/sample stx x_translation
|
mcstas/dmc/vdmc.tcl:131>> hcommand /commands/count count
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:130>> hattach /morpheus/sample sty y_translation
|
mcstas/dmc/vdmc.tcl:132>> hsetprop /commands/count type command
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:131>> hattach /morpheus/sample sgy y_goniometer
|
mcstas/dmc/vdmc.tcl:133>> hmake /commands/count/mode user text
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:132>> hattach /morpheus/sample sgx x_goniometer
|
mcstas/dmc/vdmc.tcl:134>> hmake /commands/count/preset user float
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:133>> hmake /morpheus/monitor spy none
|
mcstas/dmc/vdmc.tcl:135>> hset /commands/count/preset 5
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:134>> hsetprop /morpheus/monitor type part
|
mcstas/dmc/vdmc.tcl:136>> hset /commands/count/mode timer
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:135>> hmakescript /morpheus/monitor/counts "counter getmonitor 1" hdbReadOnly int
|
mcstas/dmc/vdmc.tcl:137>> ==26623== Invalid read of size 1
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:136>> hsetprop /morpheus/monitor/counts priv internal
|
==26623== at 0x401C434: strcmp (mac_replace_strmem.c:332)
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:137>> hmakescript /morpheus/monitor/preset "counter getpreset" "counter setpreset" float
|
==26623== by 0x80E756C: compareHdbValue (hipadaba.c:446)
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:138>> hmakescript /morpheus/monitor/countmode "counter getmode" "counter setmode" text
|
==26623== by 0x80F26EA: pollHdb (polldriv.c:38)
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:139>> hmake /morpheus/counter spy none
|
==26623== by 0x80F2B96: PollTask (sicspoll.c:132)
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:140>> hsetprop /morpheus/counter type part
|
==26623== by 0x8057B08: TaskSchedule (task.c:211)
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:141>> hmakescript /morpheus/counter/counts "counter getcounts" hdbReadOnly int
|
==26623== by 0x805667C: RunServer (nserver.c:419)
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:142>> hsetprop /morpheus/counter/counts priv internal
|
==26623== by 0x8056AC5: main (SICSmain.c:59)
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:143>> hmake /graphics/scan_data spy none
|
==26623== Address 0x4330FF0 is 0 bytes inside a block of size 8 free'd
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:144>> hsetprop /graphics/scan_data type graphdata
|
==26623== at 0x401B14C: free (vg_replace_malloc.c:235)
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:145>> hsetprop /graphics/scan_data viewer default
|
==26623== by 0x80EB515: readHdbValue (sicshipadaba.c:1333)
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:146>> hmake /graphics/scan_data/rank mugger int
|
==26623== by 0x80E95D8: SICSScriptReadCallback (sicshipadaba.c:403)
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:147>> hset /graphics/scan_data/rank 1
|
==26623== by 0x80E6B93: InvokeCallbackChain (hipadaba.c:66)
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:148>> hsetprop /graphics/scan_data/rank priv internal
|
==26623== by 0x80E8466: GetHipadabaPar (hipadaba.c:943)
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:149>> hmakescript /graphics/scan_data/dim "xxxscan np" hdbReadOnly intar 1
|
==26623== by 0x80F26C5: pollHdb (polldriv.c:37)
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:150>> hsetprop /graphics/scan_data/dim priv internal
|
==26623== by 0x80F2B96: PollTask (sicspoll.c:132)
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:151>> hmakescript /graphics/scan_data/scan_variable "gethdbscanvardata 0" hdbReadOnly floatvarar 1
|
==26623== by 0x8057B08: TaskSchedule (task.c:211)
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:152>> hsetprop /graphics/scan_data/scan_variable type axis
|
==26623== by 0x805667C: RunServer (nserver.c:419)
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:153>> hsetprop /graphics/scan_data/scan_variable dim 0
|
==26623== by 0x8056AC5: main (SICSmain.c:59)
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:154>> hsetprop /graphics/scan_data/scan_variable priv internal
|
==26623==
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:155>> hmakescript /graphics/scan_data/counts "gethdbscancounts" hdbReadOnly intvarar 1
|
==26623== Use of uninitialised value of size 4
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:156>> hsetprop /graphics/scan_data/counts type data
|
==26623== at 0x80D4150: getNextMCNumber (mcreader.c:119)
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:157>> hsetprop /graphics/scan_data/counts priv internal
|
==26623== by 0x80D4505: insertMonitor (mcreader.c:196)
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:158>> hcommand /commands/scan hdbscan
|
==26623== by 0x80D5222: McStasReaderWrapper (mcreader.c:451)
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:159>> hsetprop /commands/scan type command
|
==26623== by 0x8058355: SicsUnknownProc (macro.c:184)
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:160>> hsetprop /commands/scan priv user
|
==26623== by 0x404D7EB: TclInvokeStringCommand (in /usr/lib/libtcl8.3.so)
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:161>> hmake /commands/scan/scan_variables user text
|
==26623== by 0x406A602: TclExecuteByteCode (in /usr/lib/libtcl8.3.so)
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:162>> hmake /commands/scan/scan_start user text
|
==26623== by 0x404E291: Tcl_EvalObjEx (in /usr/lib/libtcl8.3.so)
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:163>> hmake /commands/scan/scan_increments user text
|
==26623== by 0x40906B7: TclObjInterpProc (in /usr/lib/libtcl8.3.so)
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:164>> hmake /commands/scan/NP user int
|
==26623== by 0x4089512: (within /usr/lib/libtcl8.3.so)
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:165>> hmake /commands/scan/mode user text
|
==26623== by 0x4089BFD: Tcl_EvalEx (in /usr/lib/libtcl8.3.so)
|
||||||
/home/koenneck/psi/workspace/sics/sim/topsi/morpheuscom.tcl:166>> hmake /commands/scan/preset user float
|
==26623== by 0x4089F61: Tcl_Eval (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x80D5BCD: invokeScript (mccontrol.c:167)
|
||||||
|
==26623==
|
||||||
|
==26623== Conditional jump or move depends on uninitialised value(s)
|
||||||
|
==26623== at 0x80D4164: getNextMCNumber (mcreader.c:119)
|
||||||
|
==26623== by 0x80D4505: insertMonitor (mcreader.c:196)
|
||||||
|
==26623== by 0x80D5222: McStasReaderWrapper (mcreader.c:451)
|
||||||
|
==26623== by 0x8058355: SicsUnknownProc (macro.c:184)
|
||||||
|
==26623== by 0x404D7EB: TclInvokeStringCommand (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x406A602: TclExecuteByteCode (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x404E291: Tcl_EvalObjEx (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x40906B7: TclObjInterpProc (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089512: (within /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089BFD: Tcl_EvalEx (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089F61: Tcl_Eval (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x80D5BCD: invokeScript (mccontrol.c:167)
|
||||||
|
==26623==
|
||||||
|
==26623== Conditional jump or move depends on uninitialised value(s)
|
||||||
|
==26623== at 0x412F31D: __strtod_internal (in /lib/tls/libc-2.3.2.so)
|
||||||
|
==26623== by 0x4125270: atof (in /lib/tls/libc-2.3.2.so)
|
||||||
|
==26623== by 0x80D451D: insertMonitor (mcreader.c:197)
|
||||||
|
==26623== by 0x80D5222: McStasReaderWrapper (mcreader.c:451)
|
||||||
|
==26623== by 0x8058355: SicsUnknownProc (macro.c:184)
|
||||||
|
==26623== by 0x404D7EB: TclInvokeStringCommand (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x406A602: TclExecuteByteCode (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x404E291: Tcl_EvalObjEx (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x40906B7: TclObjInterpProc (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089512: (within /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089BFD: Tcl_EvalEx (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089F61: Tcl_Eval (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623==
|
||||||
|
==26623== Conditional jump or move depends on uninitialised value(s)
|
||||||
|
==26623== at 0x412D64D: __strtod_internal (in /lib/tls/libc-2.3.2.so)
|
||||||
|
==26623== by 0x4125270: atof (in /lib/tls/libc-2.3.2.so)
|
||||||
|
==26623== by 0x80D451D: insertMonitor (mcreader.c:197)
|
||||||
|
==26623== by 0x80D5222: McStasReaderWrapper (mcreader.c:451)
|
||||||
|
==26623== by 0x8058355: SicsUnknownProc (macro.c:184)
|
||||||
|
==26623== by 0x404D7EB: TclInvokeStringCommand (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x406A602: TclExecuteByteCode (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x404E291: Tcl_EvalObjEx (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x40906B7: TclObjInterpProc (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089512: (within /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089BFD: Tcl_EvalEx (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089F61: Tcl_Eval (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623==
|
||||||
|
==26623== Conditional jump or move depends on uninitialised value(s)
|
||||||
|
==26623== at 0x412F027: __strtod_internal (in /lib/tls/libc-2.3.2.so)
|
||||||
|
==26623== by 0x4125270: atof (in /lib/tls/libc-2.3.2.so)
|
||||||
|
==26623== by 0x80D451D: insertMonitor (mcreader.c:197)
|
||||||
|
==26623== by 0x80D5222: McStasReaderWrapper (mcreader.c:451)
|
||||||
|
==26623== by 0x8058355: SicsUnknownProc (macro.c:184)
|
||||||
|
==26623== by 0x404D7EB: TclInvokeStringCommand (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x406A602: TclExecuteByteCode (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x404E291: Tcl_EvalObjEx (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x40906B7: TclObjInterpProc (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089512: (within /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089BFD: Tcl_EvalEx (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089F61: Tcl_Eval (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623==
|
||||||
|
==26623== Use of uninitialised value of size 4
|
||||||
|
==26623== at 0x412F11A: __strtod_internal (in /lib/tls/libc-2.3.2.so)
|
||||||
|
==26623== by 0x4125270: atof (in /lib/tls/libc-2.3.2.so)
|
||||||
|
==26623== by 0x80D451D: insertMonitor (mcreader.c:197)
|
||||||
|
==26623== by 0x80D5222: McStasReaderWrapper (mcreader.c:451)
|
||||||
|
==26623== by 0x8058355: SicsUnknownProc (macro.c:184)
|
||||||
|
==26623== by 0x404D7EB: TclInvokeStringCommand (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x406A602: TclExecuteByteCode (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x404E291: Tcl_EvalObjEx (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x40906B7: TclObjInterpProc (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089512: (within /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089BFD: Tcl_EvalEx (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089F61: Tcl_Eval (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623==
|
||||||
|
==26623== Invalid free() / delete / delete[]
|
||||||
|
==26623== at 0x401B14C: free (vg_replace_malloc.c:235)
|
||||||
|
==26623== by 0x80E747D: ReleaseHdbValue (hipadaba.c:409)
|
||||||
|
==26623== by 0x80E6B0E: DeleteNodeData (hipadaba.c:49)
|
||||||
|
==26623== by 0x80E6B48: DeleteNodeData (hipadaba.c:55)
|
||||||
|
==26623== by 0x80E6B48: DeleteNodeData (hipadaba.c:55)
|
||||||
|
==26623== by 0x80E6B48: DeleteNodeData (hipadaba.c:55)
|
||||||
|
==26623== by 0x80E7A10: DeleteHipadabaNode (hipadaba.c:605)
|
||||||
|
==26623== by 0x80EE3DC: killSICSHipadaba (sicshipadaba.c:2504)
|
||||||
|
==26623== by 0x8056653: StopServer (nserver.c:404)
|
||||||
|
==26623== by 0x8056AD6: main (SICSmain.c:61)
|
||||||
|
==26623== Address 0x4291978 is 0 bytes inside a block of size 1,600 free'd
|
||||||
|
==26623== at 0x401B14C: free (vg_replace_malloc.c:235)
|
||||||
|
==26623== by 0x80D67D8: killHMData (hmdata.c:40)
|
||||||
|
==26623== by 0x807C83E: DeleteHistDriver (histdriv.c:102)
|
||||||
|
==26623== by 0x807929E: DeleteHistMemory (histmem.c:499)
|
||||||
|
==26623== by 0x8051BD7: DeleteInterp (SCinter.c:483)
|
||||||
|
==26623== by 0x8056596: StopServer (nserver.c:358)
|
||||||
|
==26623== by 0x8056AD6: main (SICSmain.c:61)
|
||||||
|
hmake /Graphics spy none
|
||||||
|
mcstas/dmc/vdmc.tcl:138>> hmake /Graphics/powder_diagram spy none
|
||||||
|
mcstas/dmc/vdmc.tcl:139>> hsetprop /Graphics/powder_diagram type graphdata
|
||||||
|
mcstas/dmc/vdmc.tcl:140>> hsetprop /Graphics/powder_diagram viewer default
|
||||||
|
mcstas/dmc/vdmc.tcl:141>> hmake /Graphics/powder_diagram/rank internal int
|
||||||
|
mcstas/dmc/vdmc.tcl:142>> hset /Graphics/powder_diagram/rank 1
|
||||||
|
mcstas/dmc/vdmc.tcl:143>> hmake /Graphics/powder_diagram/dim internal intar 1
|
||||||
|
mcstas/dmc/vdmc.tcl:144>> hset /Graphics/powder_diagram/dim 400
|
||||||
|
mcstas/dmc/vdmc.tcl:145>> hmakescript /Graphics/powder_diagram/two_theta maketwotheta hdbReadOnly floatar 400
|
||||||
|
mcstas/dmc/vdmc.tcl:146>> sicspoll add /Graphics/powder_diagram/two_theta hdb 30
|
||||||
|
mcstas/dmc/vdmc.tcl:147>> hsetprop /Graphics/powder_diagram/two_theta type axis
|
||||||
|
mcstas/dmc/vdmc.tcl:148>> hsetprop /Graphics/powder_diagram/two_theta dim 0
|
||||||
|
mcstas/dmc/vdmc.tcl:149>> hattach /Graphics/powder_diagram banana counts
|
||||||
|
mcstas/dmc/vdmc.tcl:150>> hsetprop /Graphics/powder_diagram/counts type data
|
||||||
|
mcstas/dmc/vdmc.tcl:151>> hsetprop /Graphics/powder_diagram/counts priv internal
|
||||||
|
mcstas/dmc/vdmc.tcl:152>> sicspoll add /Graphics/powder_diagram/counts hdb 60
|
||||||
OK
|
OK
|
||||||
==16499== Invalid read of size 4
|
OK
|
||||||
==16499== at 0x807D1B4: CheckPointer (callback.c:73)
|
HM scale = 193788348.665
|
||||||
==16499== by 0x807D408: RegisterCallback (callback.c:163)
|
OK
|
||||||
==16499== by 0x80F4593: StateMonAction (statemon.c:276)
|
==26623==
|
||||||
==16499== by 0x8051B55: InterpExecute (SCinter.c:319)
|
==26623== ERROR SUMMARY: 30656 errors from 8 contexts (suppressed: 29 from 2)
|
||||||
==16499== Address 0x45C708EC is not stack'd, malloc'd or (recently) free'd
|
==26623== malloc/free: in use at exit: 127,433 bytes in 2,230 blocks.
|
||||||
==16499==
|
==26623== malloc/free: 8,188,720 allocs, 8,186,491 frees, 230,654,912 bytes allocated.
|
||||||
==16499== Process terminating with default action of signal 11 (SIGSEGV): dumping core
|
==26623== For counts of detected errors, rerun with: -v
|
||||||
==16499== Access not within mapped region at address 0x45C708EC
|
==26623== searching for pointers to 2,230 not-freed blocks.
|
||||||
==16499== at 0x807D1B4: CheckPointer (callback.c:73)
|
==26623== checked 501,620 bytes.
|
||||||
==16499== by 0x807D408: RegisterCallback (callback.c:163)
|
==26623==
|
||||||
==16499== by 0x80F4593: StateMonAction (statemon.c:276)
|
==26623==
|
||||||
==16499== by 0x8051B55: InterpExecute (SCinter.c:319)
|
==26623== 0 bytes in 1 blocks are definitely lost in loss record 1 of 23
|
||||||
|
==26623== at 0x401A639: malloc (vg_replace_malloc.c:149)
|
||||||
valgrind: vg_signals.c:1660 (make_coredump): Assertion `vgPlain_lseek(core_fd, 0, 1) == phdrs[i].p_offset' failed.
|
==26623== by 0x80E709B: makeHdbValue (hipadaba.c:279)
|
||||||
==16499== at 0xB002B765: vgPlain_skin_assert_fail (in /usr/lib/valgrind/stage2)
|
==26623== by 0x80EB9CE: MakeHdbNode (sicshipadaba.c:1484)
|
||||||
==16499== by 0xB002B764: assert_fail (in /usr/lib/valgrind/stage2)
|
==26623== by 0x8058355: SicsUnknownProc (macro.c:184)
|
||||||
==16499== by 0xB002B7A2: vgPlain_core_assert_fail (in /usr/lib/valgrind/stage2)
|
==26623== by 0x404D7EB: TclInvokeStringCommand (in /usr/lib/libtcl8.3.so)
|
||||||
==16499== by 0xB0031009: make_coredump (in /usr/lib/valgrind/stage2)
|
==26623== by 0x4089512: (within /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089349: (within /usr/lib/libtcl8.3.so)
|
||||||
sched status:
|
==26623== by 0x4089BFD: Tcl_EvalEx (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089F61: Tcl_Eval (in /usr/lib/libtcl8.3.so)
|
||||||
Thread 1: status = Runnable, associated_mx = 0x0, associated_cv = 0x0
|
==26623== by 0x8058CCB: MacroFileEval (macro.c:535)
|
||||||
==16499== at 0x807D1B4: CheckPointer (callback.c:73)
|
==26623== by 0x80516E9: InterpExecute (SCinter.c:322)
|
||||||
==16499== by 0x807D408: RegisterCallback (callback.c:163)
|
==26623== by 0x805B0F9: InitObjectCommands (ofac.c:458)
|
||||||
==16499== by 0x80F4593: StateMonAction (statemon.c:276)
|
==26623==
|
||||||
==16499== by 0x8051B55: InterpExecute (SCinter.c:319)
|
==26623==
|
||||||
|
==26623== 8 bytes in 1 blocks are definitely lost in loss record 2 of 23
|
||||||
|
==26623== at 0x401A639: malloc (vg_replace_malloc.c:149)
|
||||||
Note: see also the FAQ.txt in the source distribution.
|
==26623== by 0x80E7869: MakeHipadabaNode (hipadaba.c:545)
|
||||||
It contains workarounds to several common problems.
|
==26623== by 0x80F1E5A: MakeHMDataNode (sicshdbadapter.c:312)
|
||||||
|
==26623== by 0x80F2549: SICSHdbAdapter (sicshdbadapter.c:498)
|
||||||
If that doesn't help, please report this bug to: valgrind.kde.org
|
==26623== by 0x8058355: SicsUnknownProc (macro.c:184)
|
||||||
|
==26623== by 0x404D7EB: TclInvokeStringCommand (in /usr/lib/libtcl8.3.so)
|
||||||
In the bug report, send all the above text, the valgrind
|
==26623== by 0x4089512: (within /usr/lib/libtcl8.3.so)
|
||||||
version, and what Linux distro you are using. Thanks.
|
==26623== by 0x4089349: (within /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089BFD: Tcl_EvalEx (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089F61: Tcl_Eval (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x8058CCB: MacroFileEval (macro.c:535)
|
||||||
|
==26623== by 0x80516E9: InterpExecute (SCinter.c:322)
|
||||||
|
==26623==
|
||||||
|
==26623==
|
||||||
|
==26623== 29 (20 direct, 9 indirect) bytes in 1 blocks are definitely lost in loss record 7 of 23
|
||||||
|
==26623== at 0x401A639: malloc (vg_replace_malloc.c:149)
|
||||||
|
==26623== by 0x805B773: CreateDescriptor (obdes.c:64)
|
||||||
|
==26623== by 0x80F3461: InstallSICSPoll (sicspoll.c:338)
|
||||||
|
==26623== by 0x80EE635: InstallSICSHipadaba (sicshipadaba.c:2533)
|
||||||
|
==26623== by 0x8058355: SicsUnknownProc (macro.c:184)
|
||||||
|
==26623== by 0x404D7EB: TclInvokeStringCommand (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089512: (within /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089349: (within /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089BFD: Tcl_EvalEx (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089F61: Tcl_Eval (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x8058CCB: MacroFileEval (macro.c:535)
|
||||||
|
==26623== by 0x80516E9: InterpExecute (SCinter.c:322)
|
||||||
|
==26623==
|
||||||
|
==26623==
|
||||||
|
==26623== 32 bytes in 4 blocks are definitely lost in loss record 8 of 23
|
||||||
|
==26623== at 0x401A639: malloc (vg_replace_malloc.c:149)
|
||||||
|
==26623== by 0x417424F: strdup (in /lib/tls/libc-2.3.2.so)
|
||||||
|
==26623== by 0x80E7107: makeHdbValue (hipadaba.c:293)
|
||||||
|
==26623== by 0x80EBC89: MakeHdbScriptNode (sicshipadaba.c:1561)
|
||||||
|
==26623== by 0x8058355: SicsUnknownProc (macro.c:184)
|
||||||
|
==26623== by 0x404D7EB: TclInvokeStringCommand (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089512: (within /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089349: (within /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089BFD: Tcl_EvalEx (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089F61: Tcl_Eval (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x8058CCB: MacroFileEval (macro.c:535)
|
||||||
|
==26623== by 0x80516E9: InterpExecute (SCinter.c:322)
|
||||||
|
==26623==
|
||||||
|
==26623==
|
||||||
|
==26623== 387 (36 direct, 351 indirect) bytes in 3 blocks are definitely lost in loss record 11 of 23
|
||||||
|
==26623== at 0x401A639: malloc (vg_replace_malloc.c:149)
|
||||||
|
==26623== by 0x8066217: ListInit (lld.c:76)
|
||||||
|
==26623== by 0x80665A9: LLDcreate (lld.c:196)
|
||||||
|
==26623== by 0x8077931: CreateStringDict (stringdict.c:68)
|
||||||
|
==26623== by 0x80584E1: AllowExec (macro.c:249)
|
||||||
|
==26623== by 0x8058355: SicsUnknownProc (macro.c:184)
|
||||||
|
==26623== by 0x404D7EB: TclInvokeStringCommand (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089512: (within /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089349: (within /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089BFD: Tcl_EvalEx (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089F61: Tcl_Eval (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x8058CCB: MacroFileEval (macro.c:535)
|
||||||
|
==26623==
|
||||||
|
==26623==
|
||||||
|
==26623== 137 (36 direct, 101 indirect) bytes in 1 blocks are definitely lost in loss record 13 of 23
|
||||||
|
==26623== at 0x401A639: malloc (vg_replace_malloc.c:149)
|
||||||
|
==26623== by 0x80B0ABB: MakeExeManager (exeman.c:79)
|
||||||
|
==26623== by 0x8058355: SicsUnknownProc (macro.c:184)
|
||||||
|
==26623== by 0x404D7EB: TclInvokeStringCommand (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089512: (within /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089349: (within /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089BFD: Tcl_EvalEx (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089F61: Tcl_Eval (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x8058CCB: MacroFileEval (macro.c:535)
|
||||||
|
==26623== by 0x80516E9: InterpExecute (SCinter.c:322)
|
||||||
|
==26623== by 0x805B0F9: InitObjectCommands (ofac.c:458)
|
||||||
|
==26623== by 0x8055CEE: InitServer (nserver.c:121)
|
||||||
|
==26623==
|
||||||
|
==26623==
|
||||||
|
==26623== 168 bytes in 16 blocks are definitely lost in loss record 14 of 23
|
||||||
|
==26623== at 0x401A639: malloc (vg_replace_malloc.c:149)
|
||||||
|
==26623== by 0x807EAE5: NXwhitespaceCallback (nxio.c:548)
|
||||||
|
==26623== by 0x828F1C0: mxml_write_ws (mxml-file.c:2817)
|
||||||
|
==26623== by 0x828E9B3: mxml_write_node (mxml-file.c:2506)
|
||||||
|
==26623== by 0x828EC74: mxml_write_node (mxml-file.c:2593)
|
||||||
|
==26623== by 0x828EC74: mxml_write_node (mxml-file.c:2593)
|
||||||
|
==26623== by 0x828EC74: mxml_write_node (mxml-file.c:2593)
|
||||||
|
==26623== by 0x828EC74: mxml_write_node (mxml-file.c:2593)
|
||||||
|
==26623== by 0x828EC74: mxml_write_node (mxml-file.c:2593)
|
||||||
|
==26623== by 0x828CA1F: mxmlSaveFile (mxml-file.c:371)
|
||||||
|
==26623== by 0x80C078C: NXXclose (nxxml.c:187)
|
||||||
|
==26623== by 0x80741BB: nxiclose_ (napi.c:291)
|
||||||
|
==26623==
|
||||||
|
==26623==
|
||||||
|
==26623== 213 bytes in 8 blocks are definitely lost in loss record 15 of 23
|
||||||
|
==26623== at 0x401A639: malloc (vg_replace_malloc.c:149)
|
||||||
|
==26623== by 0x80E7C52: GetHipadabaPath (hipadaba.c:683)
|
||||||
|
==26623== by 0x80EBD05: MakeHdbScriptNode (sicshipadaba.c:1572)
|
||||||
|
==26623== by 0x8058355: SicsUnknownProc (macro.c:184)
|
||||||
|
==26623== by 0x404D7EB: TclInvokeStringCommand (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089512: (within /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089349: (within /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089BFD: Tcl_EvalEx (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089F61: Tcl_Eval (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x8058CCB: MacroFileEval (macro.c:535)
|
||||||
|
==26623== by 0x80516E9: InterpExecute (SCinter.c:322)
|
||||||
|
==26623== by 0x805B0F9: InitObjectCommands (ofac.c:458)
|
||||||
|
==26623==
|
||||||
|
==26623==
|
||||||
|
==26623== 1,368 bytes in 128 blocks are definitely lost in loss record 19 of 23
|
||||||
|
==26623== at 0x401A639: malloc (vg_replace_malloc.c:149)
|
||||||
|
==26623== by 0x807EB54: NXwhitespaceCallback (nxio.c:561)
|
||||||
|
==26623== by 0x828F1C0: mxml_write_ws (mxml-file.c:2817)
|
||||||
|
==26623== by 0x828E9B3: mxml_write_node (mxml-file.c:2506)
|
||||||
|
==26623== by 0x828EC74: mxml_write_node (mxml-file.c:2593)
|
||||||
|
==26623== by 0x828EC74: mxml_write_node (mxml-file.c:2593)
|
||||||
|
==26623== by 0x828EC74: mxml_write_node (mxml-file.c:2593)
|
||||||
|
==26623== by 0x828EC74: mxml_write_node (mxml-file.c:2593)
|
||||||
|
==26623== by 0x828EC74: mxml_write_node (mxml-file.c:2593)
|
||||||
|
==26623== by 0x828CA1F: mxmlSaveFile (mxml-file.c:371)
|
||||||
|
==26623== by 0x80C078C: NXXclose (nxxml.c:187)
|
||||||
|
==26623== by 0x80741BB: nxiclose_ (napi.c:291)
|
||||||
|
==26623==
|
||||||
|
==26623==
|
||||||
|
==26623== 3,200 bytes in 1 blocks are definitely lost in loss record 21 of 23
|
||||||
|
==26623== at 0x401A639: malloc (vg_replace_malloc.c:149)
|
||||||
|
==26623== by 0x80E70D5: makeHdbValue (hipadaba.c:287)
|
||||||
|
==26623== by 0x80EBC89: MakeHdbScriptNode (sicshipadaba.c:1561)
|
||||||
|
==26623== by 0x8058355: SicsUnknownProc (macro.c:184)
|
||||||
|
==26623== by 0x404D7EB: TclInvokeStringCommand (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089512: (within /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089349: (within /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089BFD: Tcl_EvalEx (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x4089F61: Tcl_Eval (in /usr/lib/libtcl8.3.so)
|
||||||
|
==26623== by 0x8058CCB: MacroFileEval (macro.c:535)
|
||||||
|
==26623== by 0x80516E9: InterpExecute (SCinter.c:322)
|
||||||
|
==26623== by 0x805B0F9: InitObjectCommands (ofac.c:458)
|
||||||
|
==26623==
|
||||||
|
==26623== LEAK SUMMARY:
|
||||||
|
==26623== definitely lost: 5,081 bytes in 164 blocks.
|
||||||
|
==26623== indirectly lost: 461 bytes in 26 blocks.
|
||||||
|
==26623== possibly lost: 0 bytes in 0 blocks.
|
||||||
|
==26623== still reachable: 121,891 bytes in 2,040 blocks.
|
||||||
|
==26623== suppressed: 0 bytes in 0 blocks.
|
||||||
|
==26623== Reachable blocks (those to which a pointer was found) are not shown.
|
||||||
|
==26623== To see them, rerun with: --show-reachable=yes
|
||||||
|
Reference in New Issue
Block a user