Compare commits

..

27 Commits
4.0.1 ... 4.0.2

Author SHA1 Message Date
ff7afd0de7 Merge branch 'main-rc' into b4.0.2 2020-11-30 17:05:39 +01:00
77080a524a Merge branch 'main' into test 2020-11-20 14:26:37 +01:00
8c76d5d52c updated release.txt 2019-06-14 09:19:34 +02:00
fade48dcfa updated release.rxt 2019-06-13 11:43:06 +02:00
8e58e7f8bf Updated release.txt : eiger firmware version 23 2019-06-13 11:41:50 +02:00
c8f56ee23c qwt 2019-06-13 10:44:45 +02:00
32d951e28a Merge branch '4.0.2' of github.com:slsdetectorgroup/slsDetectorPackage into 4.0.2 2019-06-13 09:01:47 +02:00
5c63c8fc8f gui bug fix: switching to tab plot while acquiring produced error messages 2019-06-13 09:01:39 +02:00
7b70274d4f checking online when refreshing (during acquire) is removed 2019-06-13 08:56:29 +02:00
1cd905c08b disable gui 2019-06-12 16:02:43 +02:00
13e809acd4 updated versions 2019-06-12 15:40:19 +02:00
46533b0411 updated server binaries 2019-06-12 15:37:17 +02:00
4f4de15d3a 1s sleep for large JF during powerchip 2019-06-12 14:53:52 +02:00
4f99aeabd2 bug fix: hdf5 printError still called once. replcaed with printErrorStack 2019-05-22 19:09:45 +02:00
5e246c0754 Merge branch '4.0.2-rc' of github.com:slsdetectorgroup/slsDetectorPackage into 4.0.2-rc 2019-04-11 16:13:42 +02:00
518c6783cc 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 2019-04-11 16:13:31 +02:00
0706564694 deploy only on specific branch 2019-04-11 09:31:27 +02:00
2108bbda66 Merge branch '4.0.2-rc' of github.com:slsdetectorgroup/slsDetectorPackage into 4.0.2-rc 2019-04-08 18:06:19 +02:00
82feed1ab8 updated server binaries 2019-04-08 18:06:06 +02:00
4be0b5d436 jungfrau server bug fix: setting detector position gave error when switching between different sized detector configurations 2019-04-08 18:05:05 +02:00
f7eb256eb6 version 2019-03-15 14:45:44 +01:00
250fc26308 fixed deloyment 2019-03-15 14:40:12 +01:00
06a50520c1 gotthard server: bug fix get settings should not set default dacs 2019-03-11 14:54:53 +01:00
fc766055d4 receiver bug fix release text updated 2019-03-04 11:42:54 +01:00
828b1479c7 receiver bug fix jungfrau as root 2019-03-04 11:28:56 +01:00
22ed52605c receiverbug fixe affecting jungfrau receivers as root 2019-03-04 11:15:53 +01:00
a1a95ebb20 receiver bug fixaffecting Jungfrau receivers as root (optlen size as int), but setting buffer size is uint32_t size. setting it to uint64_t 2019-03-04 11:02:10 +01:00
37 changed files with 166 additions and 193 deletions

View File

@ -41,4 +41,4 @@ deploy:
provider: script
script: find $HOME/miniconda/conda-bld/${TRAVIS_OS_NAME}-64 -name "*.tar.bz2" -exec anaconda -t $CONDA_TOKEN upload --force {} \;
on:
all_branches: true
branch: 4.0.2

View File

@ -1,8 +1,8 @@
SLS Detector Package 4.0.1 released on 08.02.2018 (Bug Fix Release)
SLS Detector Package 4.0.2 released on 13.06.2019 (Bug Fix Release)
===================================================================
This document describes the differences between 4.0.1 and 4.0.0 releases.
This document describes the differences between 4.0.2 and 4.0.1 releases.
CONTENTS
--------
@ -17,100 +17,67 @@ This document describes the differences between 4.0.1 and 4.0.0 releases.
1. Topics Concerning
====================
- Jungfrau server (new firmware mapped)
- Eiger server (measuredPeriod, reg)
- Gotthard server(ADC channel shift, ROI, 25um slave packets)
- Receiver (padding, releasing resources segfault, gappixels)
- Users class (detectorSize, ROI, versions, status)
- API (config error, ROI)
- Compile (Options prefix, static libraries, Makefile for API)
- Gui (multi module)
- Jungfrau receiver as root user
- Receiver HDF5 printErrorStack
- Jungfrau server detector position error when switching between different detector sizes
- Gotthard server get settings does not set default dacs anymore
- Jungfrau powerchip multi detector command delay
- Client API data call back / Gui (Eiger in 4 bit mode)
- Users class added burst_trigger in getTimingMode from string
- Gui switching to tabplot during acquisition error messages
2. Resolved Issues
==================
Detector Server
---------------
1. (Jungfrau): Latest Jungfrau firmware release mapped.
2. (Eiger): Measured subperiod initially wrapped around 4.29s. Now, upto 42.9s.
Advanced command "reg" was writing only to right FPGA.
3. (Gotthard 25/50um): Since Gotthard only sends packet numbers, one had to
remember to take even number of images in ROI mode, if they wanted to
switch back to non ROI mode.
This is fixed now, but temporary fix involves sending an image during
configuration, which will not be captured by the receiver. Hence, it takes
longer to configure. Permanent fix will require a firmware update.
The detector output is shifted by 1 for every 32 channels. This is fixed now.
Receiver
--------
1. Receiver padding was enabled only if deactivated padding was also enabled.
Receiver padding enable and receiver deactivated padding enable are independent now.
2. Starting and stopping receiver without listening resulted in seg faults.
1. Jungfrau Receiver as root user fails to set UDP socket size to default value
of (2000 * 1024 * 1024). It does not receive any packets afterwards.
Temporary solution was to set it to a lower number using
sls_detector_put rx_udpsocksize 1048576000
This has been fixed now to allow a greater size (including the default size).
2. Fixed bug where printError was still being called once instead of printErrorStack.
Detector Server
---------------
1. (Jungfrau)
Switching between different detector size configurations with same detector modules,
the detector gave an error "Could not set detector position". This is fixed now.
2. (Gotthard)
Get settings was setting the default dacs previously. It has been fixed now.
3. Gappixels in receiver bug fix.
Client
------
1. (Users class): DetectorSize modified to set/get ROI if ROI is only 1 in number.
Allowed setting/getting ROI at single detector level via API.
(ROI for Gotthard only). Added them to the users class as setROI and getROI.
Retrieving versions at module level is possible now.
Added "stopped" as status in getRunStatus list.
2. (API): Incorrect mac address in config file will set error flag in API and not just
print the error.
ROI possible at module level.
Compile
-------
1. CMake options now have a prefix 'SLS_'.
1. (Jungfrau)
Using multi detector command for powerchip will have a delay of 1 second between
modules when there are more than 3 modules for extra protection.
2. Client Callback / Gui (Eiger)
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. (API)
Added "burst_trigger" in getTimingMode (from string to int) in Users class.
2. Static libraries removed.
2. slsDetectorPackage/manual/manual-api/Makefile modified to use libraries
from slsDetectorPackage/bin as the main Makefile copies the libraries there.
No effect when using CMakeFiles.
Gui
---
1. Adding multiple detectors in x and y direction incremented number of detectors
in y direction incorrectly. Effect seen only in GUI (segfault) if
detsizechan has multi detectors in both direction. Fixed.
1. Switching to Tab Plot during acquisition produced error messages. This has been
fixed.
3. Known Issues
===============
Detector Specific
-----------------
1. (Gotthard 25 um): Slave misses or captures an extra frame. Occurs irregularly.
2. (Gotthard 25/50um): Using ROI (2 chips, 256 channels) missses last pixel
of that ADC.
:)
4. Firmware Requirements

View File

@ -1,7 +1,6 @@
package:
name: sls_detector_software
version: 4.0.1
version: 4.0.2
source:
- path: ..
@ -16,8 +15,7 @@ requirements:
- {{ compiler('c') }}
- {{compiler('cxx')}}
- cmake
- qwt 6.*
- qt=4.8.7=7
- qwt 6.1.4=hf484d3e_1001
- zeromq=4.2.5=hfc679d8_5
- pyzmq
- xorg-libx11
@ -52,22 +50,21 @@ requirements:
outputs:
- name: sls_detector_lib
version: 4.0.1
version: 4.0.2
script: copy_lib.sh
requirements:
build:
- {{ compiler('c') }}
- {{compiler('cxx')}}
- name: sls_detector_gui
version: 4.0.1
version: 4.0.2
script: copy_gui.sh
requirements:
build:
- {{ compiler('c') }}
- {{compiler('cxx')}}
- cmake
- qwt 6.*
- qt=4.8.7=7
- qwt 6.1.4=hf484d3e_1001
- zeromq=4.2.5=hfc679d8_5
- pyzmq
- xorg-libx11
@ -84,6 +81,5 @@ outputs:
- {{ cdt('libxdamage') }} # [linux]
- {{ cdt('libxxf86vm') }} # [linux]
run:
- sls_detector_lib=4.0.1
- qwt 6.*
- qt=4.8.7=7
- sls_detector_lib=4.0.2
- qwt 6.1.4=hf484d3e_1001

View File

@ -1 +0,0 @@
../slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServerv4.0.1.4

View File

@ -0,0 +1 @@
../slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServerv4.0.2.0

View File

@ -1 +0,0 @@
../slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServerv4.0.1.0

View File

@ -0,0 +1 @@
../slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServerv4.0.2.0

View File

@ -1,9 +1,9 @@
Path: slsDetectorsPackage/slsDetectorGui
URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
Repsitory UUID: 3c774478681813e451df683e2bc8403b37490323
Revision: 524
Branch: 4.0.1
Repsitory UUID: 7b70274d4f57977649e4f4a69c21238f335561fc
Revision: 527
Branch: 4.0.2
Last Changed Author: Dhanya_Thattil
Last Changed Rev: 4084
Last Changed Date: 2019-02-07 18:05:28.000000002 +0100 ./src/qTabSettings.cpp
Last Changed Rev: 4109
Last Changed Date: 2019-06-13 08:55:33.000000002 +0200 ./src/qTabMeasurement.cpp

View File

@ -1,6 +1,6 @@
#define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git"
#define GITREPUUID "3c774478681813e451df683e2bc8403b37490323"
#define GITREPUUID "7b70274d4f57977649e4f4a69c21238f335561fc"
#define GITAUTH "Dhanya_Thattil"
#define GITREV 0x4084
#define GITDATE 0x20190207
#define GITBRANCH "4.0.1"
#define GITREV 0x4109
#define GITDATE 0x20190613
#define GITBRANCH "4.0.2"

View File

@ -690,9 +690,9 @@ void qDetectorMain::ExecuteHelp(QAction *action){
void qDetectorMain::Refresh(int index){
myDet->setOnline(slsDetectorDefs::ONLINE_FLAG);
myDet->setReceiverOnline(slsDetectorDefs::ONLINE_FLAG);
qDefs::checkErrorMessage(myDet,"qDetectorMain::Refresh");
//myDet->setOnline(slsDetectorDefs::ONLINE_FLAG);
//myDet->setReceiverOnline(slsDetectorDefs::ONLINE_FLAG);
//qDefs::checkErrorMessage(myDet,"qDetectorMain::Refresh");
if(!tabs->isTabEnabled(index))
tabs->setCurrentIndex((index++)<(tabs->count()-1)?index:Measurement);
else{

View File

@ -1,9 +1,9 @@
Path: slsDetectorsPackage/slsDetectorSoftware
URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
Repsitory UUID: 3c774478681813e451df683e2bc8403b37490323
Revision: 2071
Branch: 4.0.1
Repsitory UUID: 7b70274d4f57977649e4f4a69c21238f335561fc
Revision: 2082
Branch: 4.0.2
Last Changed Author: Dhanya_Thattil
Last Changed Rev: 4084
Last Changed Date: 2019-02-08 17:25:57.000000002 +0100 ./threadFiles/ThreadPool.o
Last Changed Rev: 4109
Last Changed Date: 2019-06-13 09:00:22.000000002 +0200 ./threadFiles/ThreadPool.o

View File

@ -1,9 +1,9 @@
Path: slsDetectorsPackage/slsDetectorSoftware/gotthardDetectorServer
URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
Repsitory UUID: 2f11681d3f2bd2e437cd23fa28dc618dbbd39c68
Revision: 247
Branch: 4.0.1-rc
Last Changed Author: Dhanya_Thattil
Last Changed Rev: 4057
Last Changed Date: 2019-02-01 11:47:52.000000002 +0100 ./firmware_funcs.c
Repsitory UUID: 4f4de15d3a55dc043775050cf5f0521934e2c9ce
Revision: 250
Branch: 4.0.2-rc
Last Changed Author: Erik_Frojdh
Last Changed Rev: 4106
Last Changed Date: 2019-06-12 14:40:26.000000002 +0200 ./.target-makefrag

View File

@ -1,6 +1,6 @@
#define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git"
#define GITREPUUID "2f11681d3f2bd2e437cd23fa28dc618dbbd39c68"
#define GITAUTH "Dhanya_Thattil"
#define GITREV 0x4057
#define GITDATE 0x20190201
#define GITBRANCH "4.0.1-rc"
#define GITREPUUID "4f4de15d3a55dc043775050cf5f0521934e2c9ce"
#define GITAUTH "Erik_Frojdh"
#define GITREV 0x4106
#define GITDATE 0x20190612
#define GITBRANCH "4.0.2-rc"

View File

@ -1692,7 +1692,7 @@ int set_settings(int file_des) {
printf("Warning: %s",mess);
}
else {
else if (isett != GET_SETTINGS){
ret = setDefaultDacs();
if (ret == FAIL) {
strcpy(mess,"Could change settings, but could not set to default dacs\n");

View File

@ -1,9 +1,9 @@
Path: slsDetectorsPackage/slsDetectorSoftware/jungfrauDetectorServer
URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
Repsitory UUID: f747c908dc4ece72acd29e5b677049b44e5b7da4
Revision: 167
Branch: 4.0.1-rc
Repsitory UUID: 4be0b5d4366440449ad86fc78fa04e618d56df5f
Revision: 171
Branch: 4.0.2-rc
Last Changed Author: Dhanya_Thattil
Last Changed Rev: 4049
Last Changed Date: 2019-01-07 11:38:36.000000002 +0100 ./RegisterDefs.h
Last Changed Rev: 4097
Last Changed Date: 2019-04-08 17:12:59.000000002 +0200 ./RegisterDefs.h

View File

@ -1,6 +1,6 @@
#define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git"
#define GITREPUUID "f747c908dc4ece72acd29e5b677049b44e5b7da4"
#define GITREPUUID "4be0b5d4366440449ad86fc78fa04e618d56df5f"
#define GITAUTH "Dhanya_Thattil"
#define GITREV 0x4049
#define GITDATE 0x20190107
#define GITBRANCH "4.0.1-rc"
#define GITREV 0x4097
#define GITDATE 0x20190408
#define GITBRANCH "4.0.2-rc"

View File

@ -1313,14 +1313,17 @@ int configureMAC(uint32_t destip, uint64_t destmac, uint64_t sourcemac, uint32_t
int setDetectorPosition(int pos[]) {
int ret = OK;
bus_w(COORD_0_REG, bus_r(COORD_0_REG) & (~COORD_0_X_MSK));
bus_w(COORD_0_REG, bus_r(COORD_0_REG) | ((pos[0] << COORD_0_X_OFST) & COORD_0_X_MSK));
if ((bus_r(COORD_0_REG) & COORD_0_X_MSK) != ((pos[0] << COORD_0_X_OFST) & COORD_0_X_MSK))
ret = FAIL;
bus_w(COORD_0_REG, bus_r(COORD_0_REG) & (~COORD_0_Y_MSK));
bus_w(COORD_0_REG, bus_r(COORD_0_REG) | ((pos[1] << COORD_0_Y_OFST) & COORD_0_Y_MSK));
if ((bus_r(COORD_0_REG) & COORD_0_Y_MSK) != ((pos[1] << COORD_0_Y_OFST) & COORD_0_Y_MSK))
ret = FAIL;
bus_w(COORD_1_REG, bus_r(COORD_1_REG) & (~COORD_0_Z_MSK));
bus_w(COORD_1_REG, bus_r(COORD_1_REG) | ((pos[2] << COORD_0_Z_OFST) & COORD_0_Z_MSK));
if ((bus_r(COORD_1_REG) & COORD_0_Z_MSK) != ((pos[2] << COORD_0_Z_OFST) & COORD_0_Z_MSK))
ret = FAIL;

View File

@ -3907,9 +3907,11 @@ int multiSlsDetector::resetFPGA() {
int multiSlsDetector::powerChip(int ival) {
int ret = OK, ret1 = OK;
for (unsigned int i = 0; i < detectors.size(); ++i) {
ret = detectors[i]->powerChip(ival);
// 1s sleep per module for large systems
if(ival >=0 && detectors.size() > 3)
usleep(1000 * 1000);
if (detectors[i]->getErrorMask())
setErrorMask(getErrorMask() | (1 << i));
if (ret == FAIL)
@ -5147,19 +5149,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

@ -1,6 +1,6 @@
#define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git"
#define GITREPUUID "3c774478681813e451df683e2bc8403b37490323"
#define GITREPUUID "7b70274d4f57977649e4f4a69c21238f335561fc"
#define GITAUTH "Dhanya_Thattil"
#define GITREV 0x4084
#define GITDATE 0x20190208
#define GITBRANCH "4.0.1"
#define GITREV 0x4109
#define GITDATE 0x20190613
#define GITBRANCH "4.0.2"

View File

@ -4959,6 +4959,7 @@ uint32_t slsDetector::clearBit(uint32_t addr, int n) {
string slsDetector::setNetworkParameter(networkParameter index, string value) {
int i;
uint64_t i64 = -1;
switch (index) {
case DETECTOR_MAC:
return setDetectorMAC(value);
@ -5000,8 +5001,8 @@ string slsDetector::setNetworkParameter(networkParameter index, string value) {
case ADDITIONAL_JSON_HEADER:
return setAdditionalJsonHeader(value);
case RECEIVER_UDP_SCKT_BUF_SIZE:
sscanf(value.c_str(),"%d",&i);
setReceiverUDPSocketBufferSize(i);
sscanf(value.c_str(),"%ld",&i64);
setReceiverUDPSocketBufferSize(i64);
return getReceiverUDPSocketBufferSize();
default:
@ -5109,7 +5110,7 @@ string slsDetector::getReceiverRealUDPSocketBufferSize() {
int fnum=F_RECEIVER_REAL_UDP_SOCK_BUF_SIZE;
int ret = FAIL;
int retval = -1;
int64_t retval = -1;
if(thisDetector->receiverOnlineFlag == ONLINE_FLAG){
#ifdef VERBOSE
@ -5591,12 +5592,12 @@ string slsDetector::setAdditionalJsonHeader(string jsonheader) {
}
string slsDetector::setReceiverUDPSocketBufferSize(int udpsockbufsize) {
string slsDetector::setReceiverUDPSocketBufferSize(uint64_t udpsockbufsize) {
int fnum=F_RECEIVER_UDP_SOCK_BUF_SIZE;
int ret = FAIL;
int retval = -1;
int arg = udpsockbufsize;
int64_t retval = -1;
int64_t arg = udpsockbufsize;
if(thisDetector->receiverOnlineFlag == ONLINE_FLAG){
#ifdef VERBOSE

View File

@ -2422,7 +2422,7 @@ private:
* @param udpsockbufsize additional json header
* @returns receiver udp socket buffer size
*/
std::string setReceiverUDPSocketBufferSize(int udpsockbufsize=-1);
std::string setReceiverUDPSocketBufferSize(uint64_t udpsockbufsize=-1);
/**
* Sets the transmission delay for left, right or entire frame

View File

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

View File

@ -913,9 +913,9 @@ class slsDetectorUsers
} };
/**
@short returns external communication mode std::string from index
\param s index for communication mode
\returns auto, trigger, ro_trigger, gating, triggered_gating, unknown when wrong mode
@short returns external communication mode index from std::string
\param s auto, trigger, ro_trigger, gating, triggered_gating, burst_trigger, unknown when wrong mode
\returns index for communication mode
*/
static int getTimingMode(std::string s){ \
@ -924,7 +924,8 @@ class slsDetectorUsers
if (s== "ro_trigger") return 2; \
if (s== "gating") return 3; \
if (s== "triggered_gating") return 4; \
return -1; };
if (s== "burst_trigger") return 5; \
return -1; }; \
private:

View File

@ -1,9 +1,9 @@
Path: slsDetectorsPackage/slsReceiverSoftware
URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
Repsitory UUID: 3c774478681813e451df683e2bc8403b37490323
Revision: 858
Branch: 4.0.1
Repsitory UUID: 46533b041195591b1a09b2662895e084821ba886
Revision: 863
Branch: 4.0.2
Last Changed Author: Dhanya_Thattil
Last Changed Rev: 4084
Last Changed Date: 2019-02-08 16:44:46.000000002 +0100 ./src/Listener.cpp
Last Changed Rev: 4107
Last Changed Date: 2019-06-12 14:40:27.000000002 +0200 ./updateAPIVersion.sh

View File

@ -283,7 +283,7 @@ public:
}
catch(Exception error){
cprintf(RED,"Error in extending dataset in object %d\n",ind);
error.printError();
error.printErrorStack();
return 1;
}
return 0;

View File

@ -39,7 +39,7 @@ class Listener : private virtual slsReceiverDefs, public ThreadObject {
*/
Listener(int ind, detectorType dtype, Fifo*& f, runStatus* s,
uint32_t* portno, char* e, uint64_t* nf, uint32_t* dr,
uint32_t* us, uint32_t* as, uint32_t* fpf,
uint64_t* us, uint64_t* as, uint32_t* fpf,
frameDiscardPolicy* fdp, bool* act, bool* depaden, bool* sm);
/**
@ -138,7 +138,7 @@ class Listener : private virtual slsReceiverDefs, public ThreadObject {
* @param s UDP socket buffer size to be set
* @return OK or FAIL of dummy socket creation
*/
int CreateDummySocketForUDPSocketBufferSize(uint32_t s);
int CreateDummySocketForUDPSocketBufferSize(uint64_t s);
/**
* Set hard coded (calculated but not from detector) row and column
@ -231,10 +231,10 @@ class Listener : private virtual slsReceiverDefs, public ThreadObject {
uint32_t* dynamicRange;
/** UDP Socket Buffer Size */
uint32_t* udpSocketBufferSize;
uint64_t* udpSocketBufferSize;
/** actual UDP Socket Buffer Size (double due to kernel bookkeeping) */
uint32_t* actualUDPSocketBufferSize;
uint64_t* actualUDPSocketBufferSize;
/** frames per file */
uint32_t* framesPerFile;

View File

@ -313,14 +313,14 @@ class UDPBaseImplementation : protected virtual slsReceiverDefs, public UDPInter
* Get UDP Socket Buffer Size
* @return UDP Socket Buffer Size
*/
uint32_t getUDPSocketBufferSize() const;
uint64_t getUDPSocketBufferSize() const;
/** (not saved in client shared memory)
* Get actual UDP Socket Buffer Size
* @return actual UDP Socket Buffer Size
*/
uint32_t getActualUDPSocketBufferSize() const;
uint64_t getActualUDPSocketBufferSize() const;
/*************************************************************************
* Setters ***************************************************************
@ -651,7 +651,7 @@ class UDPBaseImplementation : protected virtual slsReceiverDefs, public UDPInter
* @param s UDP Socket Buffer Size
* @return OK or FAIL if dummy socket could be created
*/
int setUDPSocketBufferSize(const uint32_t s);
int setUDPSocketBufferSize(const uint64_t s);
/*
* Restream stop dummy packet from receiver
@ -760,9 +760,9 @@ class UDPBaseImplementation : protected virtual slsReceiverDefs, public UDPInter
/** Server UDP Port Number*/
uint32_t udpPortNum[MAX_NUMBER_OF_LISTENING_THREADS];
/** udp socket buffer size */
uint32_t udpSocketBufferSize;
uint64_t udpSocketBufferSize;
/** actual UDP Socket Buffer Size (halved due to kernel bookkeeping) */
uint32_t actualUDPSocketBufferSize;
uint64_t actualUDPSocketBufferSize;
//***file parameters***
/** File format */

View File

@ -404,13 +404,13 @@ class UDPInterface {
* Get UDP Socket Buffer Size
* @return UDP Socket Buffer Size
*/
virtual uint32_t getUDPSocketBufferSize() const = 0;
virtual uint64_t getUDPSocketBufferSize() const = 0;
/** (not saved in client shared memory)
* Get actual UDP Socket Buffer Size
* @return actual UDP Socket Buffer Size
*/
virtual uint32_t getActualUDPSocketBufferSize() const = 0;
virtual uint64_t getActualUDPSocketBufferSize() const = 0;
/*************************************************************************
* Setters ***************************************************************
@ -743,7 +743,7 @@ class UDPInterface {
* @param s UDP Socket Buffer Size
* @return OK or FAIL if dummy socket could be created
*/
virtual int setUDPSocketBufferSize(const uint32_t s) = 0;
virtual int setUDPSocketBufferSize(const uint64_t s) = 0;
/*
* Restream stop dummy packet from receiver

View File

@ -184,7 +184,7 @@ class UDPStandardImplementation: private virtual slsReceiverDefs, public UDPBase
* @param s UDP Socket Buffer Size
* @return OK or FAIL if dummy socket could be created
*/
int setUDPSocketBufferSize(const uint32_t s);
int setUDPSocketBufferSize(const uint64_t s);
/**
* Restream stop dummy packet from receiver

View File

@ -112,7 +112,7 @@ public:
*/
genericSocket(unsigned short int const port_number, communicationProtocol p,
int ps = DEFAULT_PACKET_SIZE, const char *eth=NULL, int hsize=0,
uint32_t buf_size=SOCKET_BUFFER_SIZE):
uint64_t buf_size=SOCKET_BUFFER_SIZE):
portno(port_number),
protocol(p),
is_a_server(1),
@ -181,10 +181,10 @@ public:
//increase socket buffer size if its udp
if (p == UDP) {
uint32_t desired_size = buf_size;
uint32_t real_size = desired_size * 2; // kernel doubles this value for bookkeeping overhead
uint32_t ret_size = -1;
socklen_t optlen = sizeof(int);
uint64_t desired_size = buf_size;
uint64_t real_size = desired_size * 2; // kernel doubles this value for bookkeeping overhead
uint64_t ret_size = -1;
socklen_t optlen = sizeof(uint64_t);
// confirm if sufficient
if (getsockopt(sockfd.fd, SOL_SOCKET, SO_RCVBUF, &ret_size, &optlen) == -1) {
@ -268,7 +268,7 @@ public:
* Halving is because of kernel book keeping
* @returns actual udp socket buffer size/2
*/
int getActualUDPSocketBufferSize(){return actual_udp_socket_buffer_size;};
uint64_t getActualUDPSocketBufferSize(){return actual_udp_socket_buffer_size;};
/**
* Get protocol TCP or UDP
@ -831,5 +831,5 @@ private:
int nsent;
int total_sent;
int header_packet_size;
int actual_udp_socket_buffer_size;
uint64_t actual_udp_socket_buffer_size;
};

View File

@ -1,6 +1,6 @@
#define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git"
#define GITREPUUID "3c774478681813e451df683e2bc8403b37490323"
#define GITREPUUID "46533b041195591b1a09b2662895e084821ba886"
#define GITAUTH "Dhanya_Thattil"
#define GITREV 0x4084
#define GITDATE 0x20190208
#define GITBRANCH "4.0.1"
#define GITREV 0x4107
#define GITDATE 0x20190612
#define GITBRANCH "4.0.2"

View File

@ -20,7 +20,7 @@ const std::string Listener::TypeName = "Listener";
Listener::Listener(int ind, detectorType dtype, Fifo*& f, runStatus* s,
uint32_t* portno, char* e, uint64_t* nf, uint32_t* dr,
uint32_t* us, uint32_t* as, uint32_t* fpf,
uint64_t* us, uint64_t* as, uint32_t* fpf,
frameDiscardPolicy* fdp, bool* act, bool* depaden, bool* sm) :
ThreadObject(ind),
runningFlag(0),
@ -242,7 +242,7 @@ void Listener::ShutDownUDPSocket() {
}
int Listener::CreateDummySocketForUDPSocketBufferSize(uint32_t s) {
int Listener::CreateDummySocketForUDPSocketBufferSize(uint64_t s) {
FILE_LOG(logINFO) << "Testing UDP Socket Buffer size with test port " << *udpPortNumber;
if (!(*activated)) {
@ -250,7 +250,7 @@ int Listener::CreateDummySocketForUDPSocketBufferSize(uint32_t s) {
return OK;
}
uint32_t temp = *udpSocketBufferSize;
uint64_t temp = *udpSocketBufferSize;
*udpSocketBufferSize = s;
//if eth is mistaken with ip address

View File

@ -356,12 +356,12 @@ char *UDPBaseImplementation::getAdditionalJsonHeader() const{
return output;
}
uint32_t UDPBaseImplementation::getUDPSocketBufferSize() const {
uint64_t UDPBaseImplementation::getUDPSocketBufferSize() const {
FILE_LOG(logDEBUG) << __AT__ << " starting";
return udpSocketBufferSize;
}
uint32_t UDPBaseImplementation::getActualUDPSocketBufferSize() const {
uint64_t UDPBaseImplementation::getActualUDPSocketBufferSize() const {
FILE_LOG(logDEBUG) << __AT__ << " starting";
return actualUDPSocketBufferSize;
}
@ -786,7 +786,7 @@ void UDPBaseImplementation::setAdditionalJsonHeader(const char c[]){
FILE_LOG(logINFO) << "Additional JSON Header: " << additionalJsonHeader;
}
int UDPBaseImplementation::setUDPSocketBufferSize(const uint32_t s) {
int UDPBaseImplementation::setUDPSocketBufferSize(const uint64_t s) {
FILE_LOG(logDEBUG) << __AT__ << " starting";
udpSocketBufferSize = s;

View File

@ -654,7 +654,7 @@ void UDPStandardImplementation::closeFiles() {
dataProcessor[0]->EndofAcquisition(anycaught, maxIndexCaught);
}
int UDPStandardImplementation::setUDPSocketBufferSize(const uint32_t s) {
int UDPStandardImplementation::setUDPSocketBufferSize(const uint64_t s) {
if (listener.size())
return listener[0]->CreateDummySocketForUDPSocketBufferSize(s);
return FAIL;

View File

@ -2626,8 +2626,8 @@ int slsReceiverTCPIPInterface::set_additional_json_header() {
int slsReceiverTCPIPInterface::set_udp_socket_buffer_size() {
ret = OK;
memset(mess, 0, sizeof(mess));
int index = -1;
int retval = -1;
uint64_t index = -1;
uint64_t retval = -1;
// receive arguments
if (mySock->ReceiveDataOnly(&index,sizeof(index)) < 0 )
@ -2639,7 +2639,7 @@ int slsReceiverTCPIPInterface::set_udp_socket_buffer_size() {
invalidReceiverObject();
else {
// set
if(index >= 0) {
if((int64_t)index >= 0) {
if (mySock->differentClients && lockStatus)
receiverlocked();
else if (receiverBase->getStatus() != IDLE)
@ -2654,9 +2654,10 @@ int slsReceiverTCPIPInterface::set_udp_socket_buffer_size() {
}
//get
retval=receiverBase->getUDPSocketBufferSize();
if(index >= 0 && ((retval != index) || ((int)receiverBase->getActualUDPSocketBufferSize() != (index*2)))) {
if((int64_t)index >= 0 && ((retval != index) || (receiverBase->getActualUDPSocketBufferSize() != (index*2)))) {
ret = FAIL;
strcpy(mess, "Could not set UDP Socket buffer size (No CAP_NET_ADMIN privileges?)\n");
sprintf(mess, "Could not set UDP Socket buffer size (No CAP_NET_ADMIN privileges?). "
"set %lld, got %lld\n", (long long unsigned int)index, (long long unsigned int)retval);
FILE_LOG(logERROR) << mess;
}
}