- Fixed a normalisation problem in diffscan when the first value
did not have enough counts - Reduced polling frequency in emon - Fixed a scriptcontext bug which would cause it to dump core in SctTransact on interrupts - Fixed an issue with missing <nl> at the end of batch files - Added a feature which does not call halt when counting stops in hmcontrol.c This is necessary for the BOA CCD - Initalized doNotFree properly in hipadaba.c - Added the travelling salesman reflection measurement algorithm - Added another component to amorset - Removed old SicsWait from nserver.c - Added a means to nxscript to write 16 bit data for BOA - Modified tasub to accept a drivabel as a motor and not only a motor. This became necessary to make EIGER work as A2 on EIGER is a virtual motor SKIPPED: psi/amorcomp.h psi/amordrive.h psi/amorset.c psi/amorset.h psi/amorset.tex psi/amorset.w psi/el734hp.c psi/el737hpdriv.c psi/make_gen psi/pardef.c psi/polterwrite.c psi/psi.c psi/sinqhttpopt.c
This commit is contained in:
15
diffscan.c
15
diffscan.c
@ -322,11 +322,22 @@ static int DiffScanTask(void *pData)
|
||||
countValue = (float) data->lCount;
|
||||
rawCount = data->lCount;
|
||||
rawMon = data->Monitors[self->scaleMonitor - 1];
|
||||
self->normalizationScale = data->Monitors[self->scaleMonitor - 1];
|
||||
if(rawMon > 100){
|
||||
self->normalizationScale = rawMon;
|
||||
traceSys("diffscan","START:normalizing on %d, scale monitor is %d",
|
||||
self->normalizationScale, self->scaleMonitor);
|
||||
} else {
|
||||
traceSys("diffscan","START:normalization count %d, on scale monitor is %d and is to low",
|
||||
rawMon, self->scaleMonitor);
|
||||
SCWrite(self->scanObject->pCon,"WARNING: Skipping first point because of low count rate", eWarning);
|
||||
return finish;
|
||||
}
|
||||
} else {
|
||||
if (data->Monitors[self->scaleMonitor - 1] -
|
||||
self->last.Monitors[self->scaleMonitor - 1] < 5) {
|
||||
SCWrite(self->scanObject->pCon, "WARNING: low count rate", eLog);
|
||||
traceSys("diffscan","RUN:low monitor difference from %d to %d",data->Monitors[self->scaleMonitor-1],
|
||||
self->last.Monitors[self->scaleMonitor -1]);
|
||||
}
|
||||
rawCount = data->lCount;
|
||||
rawMon = data->Monitors[self->scaleMonitor - 1];
|
||||
@ -344,6 +355,8 @@ static int DiffScanTask(void *pData)
|
||||
fPos, countValue, rawCount, rawMon);
|
||||
SCWrite(self->scanObject->pCon, pBueffel, eLog);
|
||||
InvokeCallBack(self->scanObject->pCall, SCANPOINT, self->scanObject);
|
||||
traceSys("diffscan","RUN: pos, count, rawcount, rawmon: %f, %d, %d, %d",
|
||||
fPos, countValue, rawCount, rawMon);
|
||||
|
||||
/*
|
||||
check for interrupt
|
||||
|
Reference in New Issue
Block a user