mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-13 05:17:13 +02:00
Partialreadout (#47)
* eiger server, rxr: partial readout, also gui messages: up last command, down clear command * added binaries and resolved conflict * bugfix eiger server: interrupt subframe is bit 2 and not bit number 3 * brackets in defs
This commit is contained in:
@ -70,6 +70,7 @@ void slsReceiverImplementation::InitializeMembers() {
|
||||
flippedDataX = 0;
|
||||
gapPixelsEnable = false;
|
||||
quadEnable = false;
|
||||
numLinesReadout = MAX_EIGER_ROWS_PER_READOUT;
|
||||
readoutFlags = GET_READOUT_FLAGS;
|
||||
|
||||
//*** receiver parameters ***
|
||||
@ -168,6 +169,11 @@ bool slsReceiverImplementation::getQuad() const {
|
||||
return quadEnable;
|
||||
}
|
||||
|
||||
int slsReceiverImplementation::getReadNLines() const {
|
||||
FILE_LOG(logDEBUG) << __AT__ << " starting";
|
||||
return numLinesReadout;
|
||||
}
|
||||
|
||||
slsDetectorDefs::readOutFlags
|
||||
slsReceiverImplementation::getReadOutFlags() const {
|
||||
FILE_LOG(logDEBUG3) << __SHORT_AT__ << " called";
|
||||
@ -543,6 +549,11 @@ int slsReceiverImplementation::setQuad(const bool b) {
|
||||
return OK;
|
||||
}
|
||||
|
||||
void slsReceiverImplementation::setReadNLines(const int value) {
|
||||
numLinesReadout = value;
|
||||
FILE_LOG(logINFO) << "Number of Lines to readout: " << numLinesReadout;
|
||||
}
|
||||
|
||||
int slsReceiverImplementation::setReadOutFlags(const readOutFlags f) {
|
||||
if (readoutFlags != f) {
|
||||
readoutFlags = f;
|
||||
@ -1405,10 +1416,17 @@ void slsReceiverImplementation::stopReceiver() {
|
||||
uint64_t tot = 0;
|
||||
for (int i = 0; i < numThreads; i++) {
|
||||
tot += dataProcessor[i]->GetNumFramesCaught();
|
||||
|
||||
int64_t missingpackets =
|
||||
numberOfFrames * generalData->packetsPerFrame -
|
||||
listener[i]->GetPacketsCaught();
|
||||
|
||||
// partial readout
|
||||
if (numLinesReadout != MAX_EIGER_ROWS_PER_READOUT) {
|
||||
int maxnp = generalData->packetsPerFrame;
|
||||
int np = ((numLinesReadout * maxnp) / MAX_EIGER_ROWS_PER_READOUT);
|
||||
missingpackets = numberOfFrames * np - listener[i]->GetPacketsCaught();
|
||||
}
|
||||
|
||||
TLogLevel lev =
|
||||
(((int64_t)missingpackets) > 0) ? logINFORED : logINFOGREEN;
|
||||
FILE_LOG(lev) <<
|
||||
|
Reference in New Issue
Block a user