mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-23 10:07:59 +02:00
dynamic range also updates offsets, 4 bit mode gap pixels work in call back from gui
This commit is contained in:
@ -2009,44 +2009,44 @@ int slsDetector::enableGapPixels(int val) {
|
||||
|
||||
if(thisDetector->myDetectorType!= EIGER)
|
||||
return -1;
|
||||
if (thisDetector->dynamicRange == 4) return val;
|
||||
|
||||
if (val >= 0) {
|
||||
val=(val>0)?1:0;
|
||||
|
||||
// send to receiver
|
||||
int ret=OK;
|
||||
|
||||
//if (thisDetector->dynamicRange != 4) {
|
||||
ret = FAIL;
|
||||
int retval=-1;
|
||||
int fnum=F_ENABLE_GAPPIXELS_IN_RECEIVER;
|
||||
int arg=val;
|
||||
if (thisDetector->receiverOnlineFlag==ONLINE_FLAG) {
|
||||
if (connectData() == OK){
|
||||
ret=thisReceiver->sendInt(fnum,retval,arg);
|
||||
disconnectData();
|
||||
}
|
||||
if((arg != retval) || (ret==FAIL)){
|
||||
ret = FAIL;
|
||||
setErrorMask((getErrorMask())|(RECEIVER_ENABLE_GAPPIXELS_NOT_SET));
|
||||
}
|
||||
|
||||
if(ret==FORCE_UPDATE)
|
||||
updateReceiver();
|
||||
int retval=-1;
|
||||
int fnum=F_ENABLE_GAPPIXELS_IN_RECEIVER;
|
||||
int arg=val;
|
||||
if (thisDetector->receiverOnlineFlag==ONLINE_FLAG) {
|
||||
if (connectData() == OK){
|
||||
ret=thisReceiver->sendInt(fnum,retval,arg);
|
||||
disconnectData();
|
||||
}
|
||||
// }
|
||||
if((arg != retval) || (ret==FAIL)){
|
||||
ret = FAIL;
|
||||
setErrorMask((getErrorMask())|(RECEIVER_ENABLE_GAPPIXELS_NOT_SET));
|
||||
}
|
||||
|
||||
if(ret==FORCE_UPDATE)
|
||||
updateReceiver();
|
||||
}
|
||||
|
||||
|
||||
// update client
|
||||
if (ret == OK) {
|
||||
thisDetector->gappixels = val;
|
||||
thisDetector->dataBytesInclGapPixels = getTotalNumberOfChannelsInclGapPixels(X)*getTotalNumberOfChannelsInclGapPixels(Y) * (thisDetector->dynamicRange/8);
|
||||
thisDetector->dataBytesInclGapPixels = 0;
|
||||
|
||||
// set data bytes for other detector ( for future use)
|
||||
if(thisDetector->myDetectorType==JUNGFRAUCTB)
|
||||
getTotalNumberOfChannels();
|
||||
if(thisDetector->myDetectorType==MYTHEN){
|
||||
if (thisDetector->dynamicRange==24 || thisDetector->timerValue[PROBES_NUMBER]>0) {
|
||||
thisDetector->dataBytesInclGapPixels = getTotalNumberOfChannelsInclGapPixels(X)*getTotalNumberOfChannelsInclGapPixels(Y) * thisDetector->nChans*4;
|
||||
if (thisDetector->dynamicRange != 4) {
|
||||
thisDetector->dataBytesInclGapPixels = getTotalNumberOfChannelsInclGapPixels(X)*getTotalNumberOfChannelsInclGapPixels(Y) * (thisDetector->dynamicRange/8);
|
||||
// set data bytes for other detector ( for future use)
|
||||
if(thisDetector->myDetectorType==JUNGFRAUCTB)
|
||||
getTotalNumberOfChannels();
|
||||
if(thisDetector->myDetectorType==MYTHEN){
|
||||
if (thisDetector->dynamicRange==24 || thisDetector->timerValue[PROBES_NUMBER]>0) {
|
||||
thisDetector->dataBytesInclGapPixels = getTotalNumberOfChannelsInclGapPixels(X)*getTotalNumberOfChannelsInclGapPixels(Y) * thisDetector->nChans*4;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -772,9 +772,9 @@ class slsDetector : public slsDetectorUtils, public energyConversion {
|
||||
int setFlippedData(dimension d=X, int value=-1);
|
||||
|
||||
/**
|
||||
* Enable gap pixels, only for Eiger
|
||||
* Enable gap pixels, only for Eiger and for 8,16 and 32 bit mode. 4 bit mode gap pixels only in gui call back
|
||||
* @param val 1 sets, 0 unsets, -1 gets
|
||||
* @return gap pixel enable
|
||||
* @return gap pixel enable or -1 for error
|
||||
*/
|
||||
int enableGapPixels(int val=-1);
|
||||
|
||||
|
@ -82,9 +82,9 @@ class slsDetectorUtils : public slsDetectorActions, public postProcessing {
|
||||
virtual int setFlippedData(dimension d=X, int value=-1)=0;
|
||||
|
||||
/**
|
||||
* Enable gap pixels, only for Eiger
|
||||
* Enable gap pixels, only for Eiger and for 8,16 and 32 bit mode. 4 bit mode gap pixels only in gui call back
|
||||
* @param val 1 sets, 0 unsets, -1 gets
|
||||
* @return gap pixel enable
|
||||
* @return gap pixel enable or -1 for error
|
||||
*/
|
||||
virtual int enableGapPixels(int val=-1) = 0;
|
||||
|
||||
|
Reference in New Issue
Block a user