Client (data call back API) and Gui (Eiger 4 bit mode with multiple images) bug fix: npixelsx and npixelsy was not updated to complete detector level when calling call back function to give complete image

This commit is contained in:
2019-04-11 16:13:31 +02:00
parent 2108bbda66
commit 518c6783cc
3 changed files with 22 additions and 9 deletions

View File

@ -19,6 +19,7 @@ This document describes the differences between 4.0.2 and 4.0.1 releases.
- Jungfrau receiver as root user
- Jungfrau server detector position error when switching between different detector sizes
- Client API data call back / Gui (Eiger in 4 bit mode)
@ -41,6 +42,17 @@ This document describes the differences between 4.0.2 and 4.0.1 releases.
error "Could not set detector position". This is fixed now.
Client API / Gui (Eiger)
------------------------
1. Client data call back provided the complete image data, but the number of pixels
in x and y was provided incorrectly at a modular level. This has been fixed to give
the proper value. This also fixes the Gui crashing for Eiger 4 bit mode when
acquiring for multiple images.
3. Known Issues
===============

View File

@ -5147,19 +5147,20 @@ void multiSlsDetector::readFrameFromReceiver() {
//send data to callback
if (data) {
int nCompletePixelsX = thisMultiDetector->numberOfChannelInclGapPixels[X];
int nCompletePixelsY = thisMultiDetector->numberOfChannelInclGapPixels[Y];
// 4bit gap pixels
if (dynamicRange == 4 && gappixelsenable) {
int n = processImageWithGapPixels(multiframe, multigappixels);
nPixelsX = thisMultiDetector->numberOfChannelInclGapPixels[X];
nPixelsY = thisMultiDetector->numberOfChannelInclGapPixels[Y];
thisData = new detectorData(NULL, NULL, NULL, getCurrentProgress(),
currentFileName.c_str(), nPixelsX, nPixelsY,
currentFileName.c_str(), nCompletePixelsX, nCompletePixelsY,
multigappixels, n, dynamicRange, currentFileIndex);
}
// normal pixels
else {
thisData = new detectorData(NULL, NULL, NULL, getCurrentProgress(),
currentFileName.c_str(), nPixelsX, nPixelsY,
currentFileName.c_str(), nCompletePixelsX, nCompletePixelsY,
multiframe, multisize, dynamicRange, currentFileIndex);
}
dataReady(thisData, currentFrameIndex,

View File

@ -4041,7 +4041,7 @@ string slsDetectorCommand::cmdNetworkParameter(int narg, char *args[], int actio
t=RECEIVER_UDP_SCKT_BUF_SIZE;
if (action==PUT_ACTION){
uint64_t ival = -1;
if (!(sscanf(args[1],"%ld",&i)))
if (!(sscanf(args[1],"%ld",&ival)))
return ("cannot parse argument") + string(args[1]);
}
} else if (cmd=="rx_realudpsocksize") {