Removeshm (#90)

* eiger: moved rate correction outside, fixed threshold energy bug in client (binaries not  updated yet)

* removed dr and deadtiem from shm

* help for rx_status and status to point them to rx_Start, rx_stop, start and stop

* moved progress to receiver

* removed currentsettings from eiger shm

* updated server binaries, and client api

* moench and ctb virtual servers compile fix

* gui: moved acquire to a concurrent qt thread so it doesnt block updateplot
This commit is contained in:
Dhanya Thattil
2020-04-06 06:56:35 +02:00
committed by Dhanya Thattil
parent 7c7f7e8c70
commit fdb6e3f3d4
33 changed files with 594 additions and 489 deletions

View File

@ -40,6 +40,8 @@ struct zmqHeader {
uint64_t acqIndex{0};
/** frame index (starting at 0 for each acquisition) */
uint64_t frameIndex{0};
/** progress in percentage */
int progress{0};
/** file name prefix */
std::string fname{""};
/** header from detector */

View File

@ -245,7 +245,8 @@ class slsDetectorDefs {
AUTO_TIMING, /**< internal timing */
TRIGGER_EXPOSURE, /**< trigger mode i.e. exposure is triggered */
GATED, /**< gated */
BURST_TRIGGER /**< trigger a burst of frames */
BURST_TRIGGER, /**< trigger a burst of frames */
NUM_TIMING_MODES
};
/**
@ -448,7 +449,8 @@ class slsDetectorDefs {
enum burstMode {
BURST_OFF,
BURST_INTERNAL,
BURST_EXTERNAL
BURST_EXTERNAL,
NUM_BURST_MODES
};
/**
@ -480,7 +482,6 @@ struct detParameters {
int nChipX{0};
int nChipY{0};
int nDacs{0};
int dynamicRange{0};
detParameters() = default;
explicit detParameters(slsDetectorDefs::detectorType type) {
@ -491,7 +492,6 @@ struct detParameters {
nChipX = 10;
nChipY = 1;
nDacs = 8;
dynamicRange = 16;
break;
case slsDetectorDefs::detectorType::JUNGFRAU:
nChanX = 256;
@ -499,7 +499,6 @@ struct detParameters {
nChipX = 4;
nChipY = 2;
nDacs = 8;
dynamicRange = 16;
break;
case slsDetectorDefs::detectorType::CHIPTESTBOARD:
nChanX = 36;
@ -507,7 +506,6 @@ struct detParameters {
nChipX = 1;
nChipY = 1;
nDacs = 24;
dynamicRange = 16;
break;
case slsDetectorDefs::detectorType::MOENCH:
nChanX = 32;
@ -515,7 +513,6 @@ struct detParameters {
nChipX = 1;
nChipY = 1;
nDacs = 8;
dynamicRange = 16;
break;
case slsDetectorDefs::detectorType::EIGER:
nChanX = 256;
@ -523,7 +520,6 @@ struct detParameters {
nChipX = 4;
nChipY = 1;
nDacs = 16;
dynamicRange = 16;
break;
case slsDetectorDefs::detectorType::MYTHEN3:
nChanX = 128 * 3;
@ -531,7 +527,6 @@ struct detParameters {
nChipX = 10;
nChipY = 1;
nDacs = 16;
dynamicRange = 32;
break;
case slsDetectorDefs::detectorType::GOTTHARD2:
nChanX = 128;
@ -539,7 +534,6 @@ struct detParameters {
nChipX = 10;
nChipY = 1;
nDacs = 14;
dynamicRange = 16;
break;
default:
throw sls::RuntimeError("Unknown detector type! " + std::to_string(type));

View File

@ -197,6 +197,7 @@ enum detFuncs{
F_GET_TIMING_SOURCE,
F_SET_TIMING_SOURCE,
F_GET_NUM_CHANNELS,
F_UPDATE_RATE_CORRECTION,
NUM_DET_FUNCTIONS,
RECEIVER_ENUM_START = 256, /**< detector function should not exceed this (detector server should not compile anyway) */
@ -211,6 +212,11 @@ enum detFuncs{
F_SEND_RECEIVER_DETHOSTNAME,
F_RECEIVER_SET_ROI,
F_RECEIVER_SET_NUM_FRAMES,
F_SET_RECEIVER_NUM_TRIGGERS,
F_SET_RECEIVER_NUM_BURSTS,
F_SET_RECEIVER_NUM_ADD_STORAGE_CELLS,
F_SET_RECEIVER_TIMING_MODE,
F_SET_RECEIVER_BURST_MODE,
F_RECEIVER_SET_NUM_ANALOG_SAMPLES,
F_RECEIVER_SET_NUM_DIGITAL_SAMPLES,
F_RECEIVER_SET_EXPTIME,
@ -287,6 +293,8 @@ enum detFuncs{
F_INCREMENT_FILE_INDEX,
F_SET_ADDITIONAL_JSON_PARAMETER,
F_GET_ADDITIONAL_JSON_PARAMETER,
F_GET_RECEIVER_PROGRESS,
NUM_REC_FUNCTIONS
};
@ -480,6 +488,7 @@ static const char* getFunctionNameFromEnum(enum detFuncs func) {
case F_GET_TIMING_SOURCE: return "F_GET_TIMING_SOURCE";
case F_SET_TIMING_SOURCE: return "F_SET_TIMING_SOURCE";
case F_GET_NUM_CHANNELS: return "F_GET_NUM_CHANNELS";
case F_UPDATE_RATE_CORRECTION: return "F_UPDATE_RATE_CORRECTION";
case NUM_DET_FUNCTIONS: return "NUM_DET_FUNCTIONS";
case RECEIVER_ENUM_START: return "RECEIVER_ENUM_START";
@ -494,6 +503,11 @@ static const char* getFunctionNameFromEnum(enum detFuncs func) {
case F_SEND_RECEIVER_DETHOSTNAME: return "F_SEND_RECEIVER_DETHOSTNAME";
case F_RECEIVER_SET_ROI: return "F_RECEIVER_SET_ROI";
case F_RECEIVER_SET_NUM_FRAMES: return "F_RECEIVER_SET_NUM_FRAMES";
case F_SET_RECEIVER_NUM_TRIGGERS: return "F_SET_RECEIVER_NUM_TRIGGERS";
case F_SET_RECEIVER_NUM_BURSTS: return "F_SET_RECEIVER_NUM_BURSTS";
case F_SET_RECEIVER_NUM_ADD_STORAGE_CELLS: return "F_SET_RECEIVER_NUM_ADD_STORAGE_CELLS";
case F_SET_RECEIVER_TIMING_MODE: return "F_SET_RECEIVER_TIMING_MODE";
case F_SET_RECEIVER_BURST_MODE: return "F_SET_RECEIVER_BURST_MODE";
case F_RECEIVER_SET_NUM_ANALOG_SAMPLES: return "F_RECEIVER_SET_NUM_ANALOG_SAMPLES";
case F_RECEIVER_SET_NUM_DIGITAL_SAMPLES:return "F_RECEIVER_SET_NUM_DIGITAL_SAMPLES";
case F_RECEIVER_SET_EXPTIME: return "F_RECEIVER_SET_EXPTIME";
@ -570,6 +584,7 @@ static const char* getFunctionNameFromEnum(enum detFuncs func) {
case F_INCREMENT_FILE_INDEX: return "F_INCREMENT_FILE_INDEX";
case F_SET_ADDITIONAL_JSON_PARAMETER: return "F_SET_ADDITIONAL_JSON_PARAMETER";
case F_GET_ADDITIONAL_JSON_PARAMETER: return "F_GET_ADDITIONAL_JSON_PARAMETER";
case F_GET_RECEIVER_PROGRESS: return "F_GET_RECEIVER_PROGRESS";
case NUM_REC_FUNCTIONS: return "NUM_REC_FUNCTIONS";
default: return "Unknown Function";

View File

@ -1,12 +1,12 @@
/** API versions */
#define GITBRANCH "developer"
#define APILIB 0x200227
#define APIRECEIVER 0x200227
#define APIGUI 0x200227
#define APICTB 0x200331
#define APIGOTTHARD 0x200331
#define APIGOTTHARD2 0x200331
#define APIJUNGFRAU 0x200331
#define APIMYTHEN3 0x200331
#define GITBRANCH "removeshm"
#define APICTB 0x200402
#define APIGOTTHARD 0x200402
#define APIGOTTHARD2 0x200402
#define APIJUNGFRAU 0x200402
#define APIMYTHEN3 0x200402
#define APIMOENCH 0x200331
#define APIEIGER 0x200331
#define APIEIGER 0x200402
#define APILIB 0x200402
#define APIRECEIVER 0x200402
#define APIGUI 0x200331