mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-29 17:40:01 +02:00
Merge pull request #362 from slsdetectorgroup/eiger_datastream
Eiger datastream
This commit is contained in:
commit
83e0599a37
@ -30,11 +30,11 @@ This document describes the differences between v6.1.0 and v6.0.0.
|
|||||||
- mythen server kernel check incompatible (cet timezone)
|
- mythen server kernel check incompatible (cet timezone)
|
||||||
- rx_arping
|
- rx_arping
|
||||||
- rx_threadsids max is now 9 (breaking api)
|
- rx_threadsids max is now 9 (breaking api)
|
||||||
|
- fixed datastream disabling for eiger. Its only available in 10g mode.
|
||||||
- m3 server crash (vthrehsold)
|
- m3 server crash (vthrehsold)
|
||||||
- allow vtrim to be interpolated for Eiger settings
|
- allow vtrim to be interpolated for Eiger settings
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
2. Resolved Issues
|
2. Resolved Issues
|
||||||
==================
|
==================
|
||||||
|
|
||||||
|
Binary file not shown.
@ -492,6 +492,11 @@ int Beb_SetDataStream(enum portPosition port, int enable) {
|
|||||||
u_int32_t reg = XPAR_GPIO_P15_STREAMING_REG;
|
u_int32_t reg = XPAR_GPIO_P15_STREAMING_REG;
|
||||||
u_int32_t mask = (port == LEFT ? XPAR_GPIO_LFT_STRM_DSBL_MSK
|
u_int32_t mask = (port == LEFT ? XPAR_GPIO_LFT_STRM_DSBL_MSK
|
||||||
: XPAR_GPIO_RGHT_STRM_DSBL_MSK);
|
: XPAR_GPIO_RGHT_STRM_DSBL_MSK);
|
||||||
|
// invert left/right if bottom
|
||||||
|
if (!Beb_top) {
|
||||||
|
mask = (port == LEFT ? XPAR_GPIO_RGHT_STRM_DSBL_MSK
|
||||||
|
: XPAR_GPIO_LFT_STRM_DSBL_MSK);
|
||||||
|
}
|
||||||
|
|
||||||
u_int32_t value = Beb_Read32(csp0base, reg);
|
u_int32_t value = Beb_Read32(csp0base, reg);
|
||||||
// disabling in firmware
|
// disabling in firmware
|
||||||
@ -529,6 +534,11 @@ int Beb_GetDataStream(enum portPosition port, int *retval) {
|
|||||||
u_int32_t reg = XPAR_GPIO_P15_STREAMING_REG;
|
u_int32_t reg = XPAR_GPIO_P15_STREAMING_REG;
|
||||||
u_int32_t mask = (port == LEFT ? XPAR_GPIO_LFT_STRM_DSBL_MSK
|
u_int32_t mask = (port == LEFT ? XPAR_GPIO_LFT_STRM_DSBL_MSK
|
||||||
: XPAR_GPIO_RGHT_STRM_DSBL_MSK);
|
: XPAR_GPIO_RGHT_STRM_DSBL_MSK);
|
||||||
|
// invert left/right if bottom
|
||||||
|
if (!Beb_top) {
|
||||||
|
mask = (port == LEFT ? XPAR_GPIO_RGHT_STRM_DSBL_MSK
|
||||||
|
: XPAR_GPIO_LFT_STRM_DSBL_MSK);
|
||||||
|
}
|
||||||
|
|
||||||
u_int32_t value = Beb_Read32(csp0base, reg);
|
u_int32_t value = Beb_Read32(csp0base, reg);
|
||||||
// disabling in firmware
|
// disabling in firmware
|
||||||
@ -682,6 +692,10 @@ int Beb_GetTransmissionDelayLeft() {
|
|||||||
return Beb_deactivated_transmission_delay_left;
|
return Beb_deactivated_transmission_delay_left;
|
||||||
}
|
}
|
||||||
u_int32_t offset = TXM_DELAY_LEFT_OFFSET;
|
u_int32_t offset = TXM_DELAY_LEFT_OFFSET;
|
||||||
|
// invert left/right if bottom
|
||||||
|
if (!Beb_top) {
|
||||||
|
offset = TXM_DELAY_RIGHT_OFFSET;
|
||||||
|
}
|
||||||
u_int32_t *csp0base = 0;
|
u_int32_t *csp0base = 0;
|
||||||
int fd = Beb_open(&csp0base, XPAR_PLB_GPIO_SYS_BASEADDR);
|
int fd = Beb_open(&csp0base, XPAR_PLB_GPIO_SYS_BASEADDR);
|
||||||
if (fd <= 0) {
|
if (fd <= 0) {
|
||||||
@ -706,6 +720,10 @@ int Beb_SetTransmissionDelayLeft(int value) {
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
u_int32_t offset = TXM_DELAY_LEFT_OFFSET;
|
u_int32_t offset = TXM_DELAY_LEFT_OFFSET;
|
||||||
|
// invert left/right if bottom
|
||||||
|
if (!Beb_top) {
|
||||||
|
offset = TXM_DELAY_RIGHT_OFFSET;
|
||||||
|
}
|
||||||
u_int32_t *csp0base = 0;
|
u_int32_t *csp0base = 0;
|
||||||
int fd = Beb_open(&csp0base, XPAR_PLB_GPIO_SYS_BASEADDR);
|
int fd = Beb_open(&csp0base, XPAR_PLB_GPIO_SYS_BASEADDR);
|
||||||
if (fd <= 0) {
|
if (fd <= 0) {
|
||||||
@ -726,6 +744,10 @@ int Beb_GetTransmissionDelayRight() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
u_int32_t offset = TXM_DELAY_RIGHT_OFFSET;
|
u_int32_t offset = TXM_DELAY_RIGHT_OFFSET;
|
||||||
|
// invert left/right if bottom
|
||||||
|
if (!Beb_top) {
|
||||||
|
offset = TXM_DELAY_LEFT_OFFSET;
|
||||||
|
}
|
||||||
u_int32_t *csp0base = 0;
|
u_int32_t *csp0base = 0;
|
||||||
int fd = Beb_open(&csp0base, XPAR_PLB_GPIO_SYS_BASEADDR);
|
int fd = Beb_open(&csp0base, XPAR_PLB_GPIO_SYS_BASEADDR);
|
||||||
if (fd <= 0) {
|
if (fd <= 0) {
|
||||||
@ -750,6 +772,10 @@ int Beb_SetTransmissionDelayRight(int value) {
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
u_int32_t offset = TXM_DELAY_RIGHT_OFFSET;
|
u_int32_t offset = TXM_DELAY_RIGHT_OFFSET;
|
||||||
|
// invert left/right if bottom
|
||||||
|
if (!Beb_top) {
|
||||||
|
offset = TXM_DELAY_LEFT_OFFSET;
|
||||||
|
}
|
||||||
u_int32_t *csp0base = 0;
|
u_int32_t *csp0base = 0;
|
||||||
int fd = Beb_open(&csp0base, XPAR_PLB_GPIO_SYS_BASEADDR);
|
int fd = Beb_open(&csp0base, XPAR_PLB_GPIO_SYS_BASEADDR);
|
||||||
if (fd <= 0) {
|
if (fd <= 0) {
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -2932,7 +2932,7 @@ int enable_ten_giga(int file_des) {
|
|||||||
|
|
||||||
if (receiveData(file_des, &arg, sizeof(arg), INT32) < 0)
|
if (receiveData(file_des, &arg, sizeof(arg), INT32) < 0)
|
||||||
return printSocketReadError();
|
return printSocketReadError();
|
||||||
LOG(logINFOBLUE, ("Setting 10GbE: %d\n", arg));
|
LOG(logDEBUG, ("Setting 10GbE: %d\n", arg));
|
||||||
|
|
||||||
#if defined(JUNGFRAUD) || defined(GOTTHARDD) || defined(GOTTHARD2D)
|
#if defined(JUNGFRAUD) || defined(GOTTHARDD) || defined(GOTTHARD2D)
|
||||||
functionNotImplemented();
|
functionNotImplemented();
|
||||||
@ -8266,6 +8266,9 @@ int get_datastream(int file_des) {
|
|||||||
"Only left and right allowed\n",
|
"Only left and right allowed\n",
|
||||||
arg);
|
arg);
|
||||||
LOG(logERROR, (mess));
|
LOG(logERROR, (mess));
|
||||||
|
} else if (enableTenGigabitEthernet(GET_FLAG) == 0) {
|
||||||
|
retval = 1;
|
||||||
|
LOG(logINFO, ("Datastream always enabled for 1g\n"));
|
||||||
} else {
|
} else {
|
||||||
ret = getDataStream(arg, &retval);
|
ret = getDataStream(arg, &retval);
|
||||||
LOG(logDEBUG1, ("datastream (%s) retval: %u\n",
|
LOG(logDEBUG1, ("datastream (%s) retval: %u\n",
|
||||||
@ -8312,6 +8315,14 @@ int set_datastream(int file_des) {
|
|||||||
ret = FAIL;
|
ret = FAIL;
|
||||||
sprintf(mess, "Could not %s. Invalid enable %d. \n", msg, enable);
|
sprintf(mess, "Could not %s. Invalid enable %d. \n", msg, enable);
|
||||||
LOG(logERROR, (mess));
|
LOG(logERROR, (mess));
|
||||||
|
} else if (enableTenGigabitEthernet(GET_FLAG) == 0 && enable == 0) {
|
||||||
|
ret = FAIL;
|
||||||
|
sprintf(mess,
|
||||||
|
"Could not %s. Disabling is only enabled in 10g mode.\n",
|
||||||
|
msg);
|
||||||
|
LOG(logERROR, (mess));
|
||||||
|
} else if (enableTenGigabitEthernet(GET_FLAG) == 0 && enable == 1) {
|
||||||
|
LOG(logINFO, ("Datastream always enabled for 1g\n"));
|
||||||
} else {
|
} else {
|
||||||
ret = setDataStream(port, enable);
|
ret = setDataStream(port, enable);
|
||||||
if (ret == FAIL) {
|
if (ret == FAIL) {
|
||||||
|
@ -635,25 +635,25 @@ void Implementation::stopReceiver() {
|
|||||||
std::to_string(std::abs(mp[i])) + std::string(" (Extra)");
|
std::to_string(std::abs(mp[i])) + std::string(" (Extra)");
|
||||||
}
|
}
|
||||||
|
|
||||||
TLogLevel lev = ((mp[i]) > 0) ? logINFORED : logINFOGREEN;
|
std::string summary;
|
||||||
LOG(lev) <<
|
if (!activated) {
|
||||||
// udp port number could be the second if selected interface is
|
summary = "\n\tDeactivated Receiver";
|
||||||
// 2 for jungfrau
|
} else if (!detectorDataStream[i]) {
|
||||||
"Summary of Port " << udpPortNum[i]
|
summary = (i == 0 ? "\n\tDeactivated Left Port"
|
||||||
<< "\n\tMissing Packets\t\t: " << mpMessage
|
: "\n\tDeactivated Right Port");
|
||||||
|
} else {
|
||||||
|
std::ostringstream os;
|
||||||
|
os << "\n\tMissing Packets\t\t: " << mpMessage
|
||||||
<< "\n\tComplete Frames\t\t: " << nf
|
<< "\n\tComplete Frames\t\t: " << nf
|
||||||
<< "\n\tLast Frame Caught\t: "
|
<< "\n\tLast Frame Caught\t: "
|
||||||
<< listener[i]->GetLastFrameIndexCaught();
|
<< listener[i]->GetLastFrameIndexCaught();
|
||||||
|
summary = os.str();
|
||||||
}
|
}
|
||||||
if (!activated) {
|
|
||||||
LOG(logINFORED) << "Deactivated Receiver";
|
TLogLevel lev = ((mp[i]) > 0) ? logINFORED : logINFOGREEN;
|
||||||
}
|
LOG(lev) << "Summary of Port " << udpPortNum[i] << summary;
|
||||||
if (!detectorDataStream[0]) {
|
|
||||||
LOG(logINFORED) << "Deactivated Left Port";
|
|
||||||
}
|
|
||||||
if (!detectorDataStream[1]) {
|
|
||||||
LOG(logINFORED) << "Deactivated Right Port";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// callback
|
// callback
|
||||||
if (acquisitionFinishedCallBack) {
|
if (acquisitionFinishedCallBack) {
|
||||||
try {
|
try {
|
||||||
|
@ -11,5 +11,5 @@
|
|||||||
#define APIGOTTHARD2 0x220203
|
#define APIGOTTHARD2 0x220203
|
||||||
#define APIJUNGFRAU 0x220203
|
#define APIJUNGFRAU 0x220203
|
||||||
#define APIMYTHEN3 0x220203
|
#define APIMYTHEN3 0x220203
|
||||||
#define APIMOENCH 0x220202
|
#define APIMOENCH 0x220203
|
||||||
#define APIEIGER 0x220203
|
#define APIEIGER 0x220204
|
||||||
|
Loading…
x
Reference in New Issue
Block a user