mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2026-01-16 03:25:13 +01:00
Nextframenumber (#215)
This commit is contained in:
@@ -35,7 +35,7 @@ int Beb_activated = 1;
|
||||
uint32_t Beb_detid = 0;
|
||||
int Beb_top = 0;
|
||||
|
||||
uint64_t Beb_deactivatedStartFrameNumber = 0;
|
||||
uint64_t Beb_deactivatedNextFrameNumber = 0;
|
||||
int Beb_quadEnable = 0;
|
||||
int Beb_positions[2] = {0, 0};
|
||||
int Beb_readNLines = MAX_ROWS_PER_READOUT;
|
||||
@@ -1441,22 +1441,22 @@ int Beb_SetDetectorPosition(int pos[]) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
int Beb_SetStartingFrameNumber(uint64_t value) {
|
||||
int Beb_SetNextFrameNumber(uint64_t value) {
|
||||
if (!Beb_activated) {
|
||||
Beb_deactivatedStartFrameNumber = value;
|
||||
Beb_deactivatedNextFrameNumber = value;
|
||||
return OK;
|
||||
}
|
||||
LOG(logINFO,
|
||||
("Setting start frame number: %llu\n", (long long unsigned int)value));
|
||||
("Setting next frame number: %llu\n", (long long unsigned int)value));
|
||||
|
||||
u_int32_t *csp0base = 0;
|
||||
int fd = Beb_open(&csp0base, XPAR_PLB_GPIO_TEST_BASEADDR);
|
||||
if (fd < 0) {
|
||||
LOG(logERROR, ("Set Start Frame Number FAIL\n"));
|
||||
LOG(logERROR, ("Set next Frame Number FAIL\n"));
|
||||
return FAIL;
|
||||
}
|
||||
// since the read is not implemented in firmware yet
|
||||
Beb_deactivatedStartFrameNumber = value;
|
||||
Beb_deactivatedNextFrameNumber = value;
|
||||
|
||||
// decrement for firmware
|
||||
uint64_t valueInFirmware = value - 1;
|
||||
@@ -1471,17 +1471,17 @@ int Beb_SetStartingFrameNumber(uint64_t value) {
|
||||
return OK;
|
||||
}
|
||||
|
||||
int Beb_GetStartingFrameNumber(uint64_t *retval, int tengigaEnable) {
|
||||
int Beb_GetNextFrameNumber(uint64_t *retval, int tengigaEnable) {
|
||||
if (!Beb_activated) {
|
||||
*retval = Beb_deactivatedStartFrameNumber;
|
||||
*retval = Beb_deactivatedNextFrameNumber;
|
||||
return OK;
|
||||
}
|
||||
|
||||
LOG(logDEBUG1, ("Getting start frame number\n"));
|
||||
LOG(logDEBUG1, ("Getting next frame number\n"));
|
||||
u_int32_t *csp0base = 0;
|
||||
int fd = Beb_open(&csp0base, XPAR_COUNTER_BASEADDR);
|
||||
if (fd < 0) {
|
||||
LOG(logERROR, ("Get Start Frame Number FAIL\n"));
|
||||
LOG(logERROR, ("Get next Frame Number FAIL\n"));
|
||||
return FAIL;
|
||||
}
|
||||
|
||||
|
||||
@@ -103,8 +103,8 @@ int Beb_SetQuad(int value);
|
||||
int Beb_GetQuad();
|
||||
int *Beb_GetDetectorPosition();
|
||||
int Beb_SetDetectorPosition(int pos[]);
|
||||
int Beb_SetStartingFrameNumber(uint64_t value);
|
||||
int Beb_GetStartingFrameNumber(uint64_t *retval, int tengigaEnable);
|
||||
int Beb_SetNextFrameNumber(uint64_t value);
|
||||
int Beb_GetNextFrameNumber(uint64_t *retval, int tengigaEnable);
|
||||
|
||||
void Beb_SetReadNLines(int value);
|
||||
|
||||
|
||||
Binary file not shown.
@@ -85,7 +85,7 @@ int eiger_virtual_transmission_delay_right = 0;
|
||||
int eiger_virtual_transmission_delay_frame = 0;
|
||||
int eiger_virtual_transmission_flowcontrol_10g = 0;
|
||||
int eiger_virtual_activate = 1;
|
||||
uint64_t eiger_virtual_startingframenumber = 1;
|
||||
uint64_t eiger_virtual_nextframenumber = 1;
|
||||
int eiger_virtual_detPos[2] = {0, 0};
|
||||
int eiger_virtual_test_mode = 0;
|
||||
int eiger_virtual_quad_mode = 0;
|
||||
@@ -702,7 +702,7 @@ void setupDetector() {
|
||||
setClockDivider(RUN_CLK, DEFAULT_CLK_SPEED); // clk_devider,half speed
|
||||
setIODelay(DEFAULT_IO_DELAY);
|
||||
setTiming(DEFAULT_TIMING_MODE);
|
||||
setStartingFrameNumber(DEFAULT_STARTING_FRAME_NUMBER);
|
||||
setNextFrameNumber(DEFAULT_STARTING_FRAME_NUMBER);
|
||||
setReadNLines(MAX_ROWS_PER_READOUT);
|
||||
// SetPhotonEnergyCalibrationParameters(-5.8381e-5,1.838515,5.09948e-7,-4.32390e-11,1.32527e-15);
|
||||
eiger_tau_ns = DEFAULT_RATE_CORRECTION;
|
||||
@@ -851,21 +851,21 @@ int getOverFlowMode() { return eiger_overflow32; }
|
||||
|
||||
/* parameters - timer */
|
||||
|
||||
int setStartingFrameNumber(uint64_t value) {
|
||||
int setNextFrameNumber(uint64_t value) {
|
||||
#ifdef VIRTUAL
|
||||
eiger_virtual_startingframenumber = value;
|
||||
eiger_virtual_nextframenumber = value;
|
||||
return OK;
|
||||
#else
|
||||
return Beb_SetStartingFrameNumber(value);
|
||||
return Beb_SetNextFrameNumber(value);
|
||||
#endif
|
||||
}
|
||||
|
||||
int getStartingFrameNumber(uint64_t *retval) {
|
||||
int getNextFrameNumber(uint64_t *retval) {
|
||||
#ifdef VIRTUAL
|
||||
*retval = eiger_virtual_startingframenumber;
|
||||
*retval = eiger_virtual_nextframenumber;
|
||||
return OK;
|
||||
#else
|
||||
return Beb_GetStartingFrameNumber(retval, send_to_ten_gig);
|
||||
return Beb_GetNextFrameNumber(retval, send_to_ten_gig);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -2256,7 +2256,7 @@ void *start_timer(void *arg) {
|
||||
// Send data
|
||||
{
|
||||
uint64_t frameNr = 0;
|
||||
getStartingFrameNumber(&frameNr);
|
||||
getNextFrameNumber(&frameNr);
|
||||
// loop over number of frames
|
||||
for (int iframes = 0; iframes != numFrames; ++iframes) {
|
||||
|
||||
@@ -2264,7 +2264,7 @@ void *start_timer(void *arg) {
|
||||
|
||||
// check if manual stop
|
||||
if (sharedMemory_getStop() == 1) {
|
||||
setStartingFrameNumber(frameNr + iframes + 1);
|
||||
setNextFrameNumber(frameNr + iframes + 1);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -2357,7 +2357,7 @@ void *start_timer(void *arg) {
|
||||
}
|
||||
}
|
||||
}
|
||||
setStartingFrameNumber(frameNr + numFrames);
|
||||
setNextFrameNumber(frameNr + numFrames);
|
||||
}
|
||||
|
||||
closeUDPSocket(0);
|
||||
@@ -2395,8 +2395,8 @@ int stopStateMachine() {
|
||||
|
||||
// ensure all have same starting frame numbers
|
||||
uint64_t retval = 0;
|
||||
if (Beb_GetStartingFrameNumber(&retval, send_to_ten_gig) == -2) {
|
||||
Beb_SetStartingFrameNumber(retval + 1);
|
||||
if (Beb_GetNextFrameNumber(&retval, send_to_ten_gig) == -2) {
|
||||
Beb_SetNextFrameNumber(retval + 1);
|
||||
}
|
||||
return OK;
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user