- Updated RITA-2 data files to new NeXus standard

- New HM driver for Delcam CCD camera
This commit is contained in:
koennecke
2007-03-06 10:07:44 +00:00
parent ac0fe1f2cf
commit 007f06d3e6
8 changed files with 28 additions and 28 deletions

View File

@ -55,7 +55,7 @@ void clearHMData(pHMdata self){
memset(self->localBuffer,0,size*sizeof(HistInt)); memset(self->localBuffer,0,size*sizeof(HistInt));
} }
/*----------------------------------------------------------------------*/ /*----------------------------------------------------------------------*/
static int resizeBuffer(pHMdata self){ int resizeBuffer(pHMdata self){
long size; long size;
int i; int i;

View File

@ -37,6 +37,7 @@
int configureHMdata(pHMdata self, pStringDict pOpt, int configureHMdata(pHMdata self, pStringDict pOpt,
SConnection *pCon); SConnection *pCon);
int resizeBuffer(pHMdata self);
int genTimeBinning(pHMdata self, float start, float step, int genTimeBinning(pHMdata self, float start, float step,
int noSteps); int noSteps);
int setTimeBin(pHMdata self, int index, float value); int setTimeBin(pHMdata self, int index, float value);

View File

@ -33,6 +33,7 @@ The following functions work on this data structure:
int configureHMdata(pHMdata self, pStringDict pOpt, int configureHMdata(pHMdata self, pStringDict pOpt,
SConnection *pCon); SConnection *pCon);
int resizeBuffer(pHMdata self);
int genTimeBinning(pHMdata self, float start, float step, int genTimeBinning(pHMdata self, float start, float step,
int noSteps); int noSteps);
int setTimeBin(pHMdata self, int index, float value); int setTimeBin(pHMdata self, int index, float value);

11
napi5.c
View File

@ -589,7 +589,7 @@ static void ignoreError(void *data, char *text){
hsize_t chunkdims[H5S_MAX_RANK]; hsize_t chunkdims[H5S_MAX_RANK];
hsize_t mydim[H5S_MAX_RANK], mydim1[H5S_MAX_RANK]; hsize_t mydim[H5S_MAX_RANK], mydim1[H5S_MAX_RANK];
hsize_t size[2]; hsize_t size[2];
hsize_t maxdims[1] = {H5S_UNLIMITED}; hsize_t maxdims[H5S_MAX_RANK];
pFile = NXI5assert (fid); pFile = NXI5assert (fid);
@ -651,6 +651,8 @@ static void ignoreError(void *data, char *text){
NXIReportError (NXpData, pBuffer); NXIReportError (NXpData, pBuffer);
return NX_ERROR; return NX_ERROR;
} }
mydim[i] = dimensions[i];
maxdims[i] = dimensions[i];
} }
if (datatype == NX_CHAR) if (datatype == NX_CHAR)
{ {
@ -665,7 +667,8 @@ static void ignoreError(void *data, char *text){
} else { } else {
if (dimensions[0] == NX_UNLIMITED) if (dimensions[0] == NX_UNLIMITED)
{ {
mydim[0]=0; mydim[0]=1;
maxdims[0] = H5S_UNLIMITED;
dataspace=H5Screate_simple(rank, mydim, maxdims); dataspace=H5Screate_simple(rank, mydim, maxdims);
} else { } else {
for(i = 0; i < rank; i++) for(i = 0; i < rank; i++)
@ -721,8 +724,10 @@ static void ignoreError(void *data, char *text){
} }
if (dimensions[0] == NX_UNLIMITED) if (dimensions[0] == NX_UNLIMITED)
{ {
for(i = 0; i < rank; i++){
size[i] = dimensions[i];
}
size[0] = 1; size[0] = 1;
size[1] = 1;
iNew = H5Dextend (pFile->iCurrentD, size); iNew = H5Dextend (pFile->iCurrentD, size);
if (iNew < 0) { if (iNew < 0) {
sprintf (pBuffer, "ERROR: cannot create Dataset %s, check arguments", sprintf (pBuffer, "ERROR: cannot create Dataset %s, check arguments",

View File

@ -1169,6 +1169,9 @@
iChunk[i] = iDim[i]; iChunk[i] = iDim[i];
} }
} }
if(iChunk[0] < 0) {
iChunk[0] = 1;
}
/* first install dummy error handler, try open it, then /* first install dummy error handler, try open it, then
deinstall again and create if allowed deinstall again and create if allowed

View File

@ -249,6 +249,7 @@ static int putFloat(pSICSData self, int argc, char *argv[],
int status, pos, *iData = NULL; int status, pos, *iData = NULL;
float fVal; float fVal;
double dVal; double dVal;
char buffer[256];
assert(self); assert(self);
@ -264,8 +265,9 @@ static int putFloat(pSICSData self, int argc, char *argv[],
} }
status = Tcl_GetDouble(InterpGetTcl(pSics),argv[1],&dVal); status = Tcl_GetDouble(InterpGetTcl(pSics),argv[1],&dVal);
if(status != TCL_OK){ if(status != TCL_OK){
SCWrite(pCon,"ERROR: failed to convert putint value to float", snprintf(buffer,255,"ERROR: faiuld to convert putfloat value %s to float",
eError); argv[1]);
SCWrite(pCon,buffer,eError);
return 0; return 0;
} }
iData = getSICSDataPointer(self,pos,pos+1); iData = getSICSDataPointer(self,pos,pos+1);

View File

@ -1,19 +1,7 @@
exe batchpath ./ exe batchpath ./
exe syspath ./ exe syspath ./
# Motor brumm # Counter counter
brumm sign 1.0000 counter SetPreset 3.000000
brumm hardlowerlim -180.0000 counter SetMode Timer
brumm hardupperlim 180.0000 hm CountMode timer
brumm softlowerlim -180.0000 hm preset 3.000000
brumm softupperlim 180.0000
brumm softzero 0.0000
brumm fixed -1.0000
brumm interruptmode 0.0000
brumm precision 0.2000
brumm accesscode 2.0000
brumm failafter 3.0000
brumm maxretry 3.0000
brumm ignorefault 0.0000
brumm movecount 10.0000
brumm errortype 0.0000
brumm recover 1.0000