mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-24 07:20:01 +02:00
missing packets 0xffff are also anded with the mask, fixed
This commit is contained in:
parent
fa79a36089
commit
63c0fe863d
@ -2163,6 +2163,7 @@ void qDrawPlot::toDoublePixelData(double* dest, char* source,int size, int datab
|
|||||||
int halfbyte=0;
|
int halfbyte=0;
|
||||||
char cbyte = '\0';
|
char cbyte = '\0';
|
||||||
int mask=0x00ffffff;
|
int mask=0x00ffffff;
|
||||||
|
bool jungfrau = (detType == slsDetectorDefs::JUNGFRAU);
|
||||||
|
|
||||||
switch(dr) {
|
switch(dr) {
|
||||||
|
|
||||||
@ -2184,22 +2185,57 @@ void qDrawPlot::toDoublePixelData(double* dest, char* source,int size, int datab
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 16:
|
case 16:
|
||||||
for (ichan = 0; ichan < size; ++ichan) {
|
// jungfrau
|
||||||
|
if (jungfrau) {
|
||||||
|
|
||||||
|
// show gain plot
|
||||||
if(gaindest!=NULL) {
|
if(gaindest!=NULL) {
|
||||||
gaindest[ichan] = ((*((u_int16_t*)source))& 0xC000);
|
for (ichan = 0; ichan < size; ++ichan) {
|
||||||
dest[ichan] = ((*((u_int16_t*)source))& 0x3FFF);
|
if ( (*((u_int16_t*)source)) == 0xFFFF ) {
|
||||||
}else
|
gaindest[ichan] = 0xFFFF;
|
||||||
dest[ichan] = *((u_int16_t*)source);
|
dest[ichan] = 0xFFFF;
|
||||||
source += 2;
|
}
|
||||||
|
else{
|
||||||
|
gaindest[ichan] = (((*((u_int16_t*)source)) & 0xC000) >> 14);
|
||||||
|
dest[ichan] = ((*((u_int16_t*)source)) & 0x3FFF);
|
||||||
|
}
|
||||||
|
source += 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// only data plot
|
||||||
|
else {
|
||||||
|
for (ichan = 0; ichan < size; ++ichan) {
|
||||||
|
if ( (*((u_int16_t*)source)) == 0xFFFF )
|
||||||
|
dest[ichan] = 0xFFFF;
|
||||||
|
else
|
||||||
|
dest[ichan] = ((*((u_int16_t*)source)) & 0x3FFF);
|
||||||
|
source += 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// other detectors
|
||||||
|
else {
|
||||||
|
for (ichan = 0; ichan < size; ++ichan) {
|
||||||
|
dest[ichan] = *((u_int16_t*)source);
|
||||||
|
source += 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
// mythen
|
||||||
for (ichan=0; ichan < size; ++ichan) {
|
for (ichan=0; ichan < size; ++ichan) {
|
||||||
if (detType == slsDetectorDefs::MYTHEN)
|
dest[ichan] = (*((u_int32_t*)source) & mask);
|
||||||
dest[ichan] = (*((u_int32_t*)source) & mask);
|
source += 4;
|
||||||
else
|
}
|
||||||
dest[ichan] = *((u_int32_t*)source);
|
|
||||||
|
// other detectors
|
||||||
|
for (ichan=0; ichan < size; ++ichan) {
|
||||||
|
dest[ichan] = *((u_int32_t*)source);
|
||||||
source += 4;
|
source += 4;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user