diff --git a/RELEASE.txt b/RELEASE.txt index d6518d2c4..89b4f174d 100644 --- a/RELEASE.txt +++ b/RELEASE.txt @@ -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) @@ -35,10 +36,21 @@ This document describes the differences between 4.0.2 and 4.0.1 releases. This has been fixed now to allow a greater size (including the default size). - Detector Server (Jungfrau) - -------------------------- - 1. Switching between different detector size configurations, the detector gave an - error "Could not set detector position". This is fixed now. + Detector Server (Jungfrau) + -------------------------- + 1. Switching between different detector size configurations, the detector gave an + 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 diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp index 172eb8c4e..24b0010e2 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp @@ -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, diff --git a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp index 651d30210..a0850d14d 100644 --- a/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp +++ b/slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp @@ -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") {