formatting

This commit is contained in:
2020-05-11 19:27:49 +02:00
parent 5aaefc8e00
commit e148a584df
7 changed files with 175 additions and 191 deletions

View File

@ -297,7 +297,7 @@ int Beb_IsTransmitting(int *retval, int tengiga, int waitForDelay) {
return OK;
}
void Beb_SetTopVariable(int val) { Beb_top = val;}
void Beb_SetTopVariable(int val) { Beb_top = val; }
int Beb_SetTop(enum TOPINDEX ind) {
if (!Beb_activated)
@ -310,38 +310,38 @@ int Beb_SetTop(enum TOPINDEX ind) {
LOG(logERROR, ("Set Top FAIL, could not open fd in Beb\n"));
return 0;
}
value = Beb_Read32(csp0base, BEB_CONFIG_WR_OFST);
switch (ind) {
case TOP_HARDWARE:
value &= ~BEB_CONFIG_OW_TOP_MSK;
break;
case OW_TOP:
value |= BEB_CONFIG_OW_TOP_MSK;
value |= BEB_CONFIG_TOP_MSK;
break;
case OW_BOTTOM:
value |= BEB_CONFIG_OW_TOP_MSK;
value &= ~BEB_CONFIG_TOP_MSK;
break;
default:
LOG(logERROR, ("Unknown top index in Beb: %d\n", ind));
Beb_close(fd, csp0base);
return 0;
}
char *top_names[] = {TOP_NAMES};
int newval = Beb_Write32(csp0base, BEB_CONFIG_WR_OFST, value);
if (newval != value) {
LOG(logERROR,
("Could not set Top flag to %s in Beb\n", top_names[ind]));
Beb_close(fd, csp0base);
return 0;
}
LOG(logINFOBLUE, ("%s Top flag to %s in Beb\n",
(ind == TOP_HARDWARE ? "Resetting" : "Overwriting"),
top_names[ind]));
value = Beb_Read32(csp0base, BEB_CONFIG_WR_OFST);
switch (ind) {
case TOP_HARDWARE:
value &= ~BEB_CONFIG_OW_TOP_MSK;
break;
case OW_TOP:
value |= BEB_CONFIG_OW_TOP_MSK;
value |= BEB_CONFIG_TOP_MSK;
break;
case OW_BOTTOM:
value |= BEB_CONFIG_OW_TOP_MSK;
value &= ~BEB_CONFIG_TOP_MSK;
break;
default:
LOG(logERROR, ("Unknown top index in Beb: %d\n", ind));
Beb_close(fd, csp0base);
return 1;
return 0;
}
char *top_names[] = {TOP_NAMES};
int newval = Beb_Write32(csp0base, BEB_CONFIG_WR_OFST, value);
if (newval != value) {
LOG(logERROR,
("Could not set Top flag to %s in Beb\n", top_names[ind]));
Beb_close(fd, csp0base);
return 0;
}
LOG(logINFOBLUE,
("%s Top flag to %s in Beb\n",
(ind == TOP_HARDWARE ? "Resetting" : "Overwriting"), top_names[ind]));
Beb_close(fd, csp0base);
return 1;
}
int Beb_SetMaster(enum MASTERINDEX ind) {
@ -377,21 +377,21 @@ int Beb_SetMaster(enum MASTERINDEX ind) {
char *master_names[] = {MASTER_NAMES};
int newval = Beb_Write32(csp0base, BEB_CONFIG_WR_OFST, value);
if (newval != value) {
LOG(logERROR, ("Could not set Master flag to %s in Beb\n",
master_names[ind]));
LOG(logERROR,
("Could not set Master flag to %s in Beb\n", master_names[ind]));
Beb_close(fd, csp0base);
return 0;
}
LOG(logINFOBLUE, ("%s Master flag to %s in Beb\n",
(ind == MASTER_HARDWARE ? "Resetting" : "Overwriting"),
master_names[ind]));
(ind == MASTER_HARDWARE ? "Resetting" : "Overwriting"),
master_names[ind]));
Beb_close(fd, csp0base);
return 1;
}
int Beb_SetActivate(int enable) {
enable = enable == 0 ? 0 : 1;
enable = enable == 0 ? 0 : 1;
u_int32_t *csp0base = 0;
int fd = Beb_open(&csp0base, XPAR_PLB_GPIO_SYS_BASEADDR);
if (fd < 0) {
@ -407,7 +407,9 @@ int Beb_SetActivate(int enable) {
u_int32_t retval = Beb_Write32(csp0base, BEB_CONFIG_WR_OFST, value);
if (retval != value) {
LOG(logERROR, ("Could not %s. WRote 0x%x, read 0x%x\n", (enable ? "activate" : "deactivate"), value, retval));
LOG(logERROR,
("Could not %s. WRote 0x%x, read 0x%x\n",
(enable ? "activate" : "deactivate"), value, retval));
Beb_close(fd, csp0base);
}
}
@ -416,7 +418,7 @@ int Beb_SetActivate(int enable) {
return 1;
}
int Beb_GetActivate(int* retval) {
int Beb_GetActivate(int *retval) {
u_int32_t *csp0base = 0;
int fd = Beb_open(&csp0base, XPAR_PLB_GPIO_SYS_BASEADDR);
if (fd < 0) {
@ -450,9 +452,8 @@ int Beb_Set32bitOverflow(int val) {
// open file pointer
int fd = Beb_open(&csp0base, XPAR_PLB_GPIO_SYS_BASEADDR);
if (fd < 0) {
LOG(logERROR,
("Could not read register to set overflow flag in 32 bit "
"mode. FAIL\n"));
LOG(logERROR, ("Could not read register to set overflow flag in 32 bit "
"mode. FAIL\n"));
return -1;
} else {
if (val > -1) {
@ -464,9 +465,8 @@ int Beb_Set32bitOverflow(int val) {
// set bit
valueread = Beb_Read32(csp0base, offset);
Beb_Write32(csp0base, offset,
valueread |
((val << FLOW_REG_OVERFLOW_32_BIT_OFST) &
FLOW_REG_OVERFLOW_32_BIT_MSK));
valueread | ((val << FLOW_REG_OVERFLOW_32_BIT_OFST) &
FLOW_REG_OVERFLOW_32_BIT_MSK));
}
valueread =
@ -485,12 +485,12 @@ int Beb_GetTenGigaFlowControl() {
int fd = Beb_open(&csp0base, XPAR_PLB_GPIO_SYS_BASEADDR);
if (fd <= 0) {
LOG(logERROR, ("Could not read register to get ten giga flow "
"control. FAIL\n"));
"control. FAIL\n"));
return -1;
} else {
u_int32_t retval = Beb_Read32(csp0base, offset);
retval = (retval & FLOW_REG_TXM_FLOW_CNTRL_10G_MSK) >>
FLOW_REG_TXM_FLOW_CNTRL_10G_OFST;
FLOW_REG_TXM_FLOW_CNTRL_10G_OFST;
Beb_close(fd, csp0base);
return retval;
@ -505,7 +505,7 @@ int Beb_SetTenGigaFlowControl(int value) {
int fd = Beb_open(&csp0base, XPAR_PLB_GPIO_SYS_BASEADDR);
if (fd <= 0) {
LOG(logERROR, ("Could not read register to set ten giga flow "
"control. FAIL\n"));
"control. FAIL\n"));
return 0;
} else {
// reset bit
@ -517,7 +517,7 @@ int Beb_SetTenGigaFlowControl(int value) {
retval = Beb_Read32(csp0base, offset);
Beb_Write32(csp0base, offset,
retval | ((value << FLOW_REG_TXM_FLOW_CNTRL_10G_OFST) &
FLOW_REG_TXM_FLOW_CNTRL_10G_MSK));
FLOW_REG_TXM_FLOW_CNTRL_10G_MSK));
Beb_close(fd, csp0base);
return 1;
@ -530,7 +530,7 @@ int Beb_GetTransmissionDelayFrame() {
int fd = Beb_open(&csp0base, XPAR_PLB_GPIO_SYS_BASEADDR);
if (fd <= 0) {
LOG(logERROR, ("Could not read register to get transmission delay "
"frame. FAIL\n"));
"frame. FAIL\n"));
return -1;
} else {
u_int32_t retval = Beb_Read32(csp0base, offset);
@ -542,8 +542,7 @@ int Beb_GetTransmissionDelayFrame() {
int Beb_SetTransmissionDelayFrame(int value) {
LOG(logINFO, ("Setting transmission delay frame to %d\n", value));
if (value < 0) {
LOG(logERROR,
("Invalid transmission delay frame value %d\n", value));
LOG(logERROR, ("Invalid transmission delay frame value %d\n", value));
return 0;
}
u_int32_t offset = TXM_DELAY_FRAME_OFFSET;
@ -551,7 +550,7 @@ int Beb_SetTransmissionDelayFrame(int value) {
int fd = Beb_open(&csp0base, XPAR_PLB_GPIO_SYS_BASEADDR);
if (fd <= 0) {
LOG(logERROR, ("Could not read register to set transmission delay "
"frame. FAIL\n"));
"frame. FAIL\n"));
return 0;
} else {
Beb_Write32(csp0base, offset, value);
@ -566,7 +565,7 @@ int Beb_GetTransmissionDelayLeft() {
int fd = Beb_open(&csp0base, XPAR_PLB_GPIO_SYS_BASEADDR);
if (fd <= 0) {
LOG(logERROR, ("Could not read register to get transmission delay "
"left. FAIL\n"));
"left. FAIL\n"));
return -1;
} else {
u_int32_t retval = Beb_Read32(csp0base, offset);
@ -578,8 +577,7 @@ int Beb_GetTransmissionDelayLeft() {
int Beb_SetTransmissionDelayLeft(int value) {
LOG(logINFO, ("Setting transmission delay left to %d\n", value));
if (value < 0) {
LOG(logERROR,
("Invalid transmission delay left value %d\n", value));
LOG(logERROR, ("Invalid transmission delay left value %d\n", value));
return 0;
}
u_int32_t offset = TXM_DELAY_LEFT_OFFSET;
@ -587,7 +585,7 @@ int Beb_SetTransmissionDelayLeft(int value) {
int fd = Beb_open(&csp0base, XPAR_PLB_GPIO_SYS_BASEADDR);
if (fd <= 0) {
LOG(logERROR, ("Could not read register to set transmission delay "
"left. FAIL\n"));
"left. FAIL\n"));
return 0;
} else {
Beb_Write32(csp0base, offset, value);
@ -602,7 +600,7 @@ int Beb_GetTransmissionDelayRight() {
int fd = Beb_open(&csp0base, XPAR_PLB_GPIO_SYS_BASEADDR);
if (fd <= 0) {
LOG(logERROR, ("Could not read register to get transmission delay "
"right. FAIL\n"));
"right. FAIL\n"));
return -1;
} else {
u_int32_t retval = Beb_Read32(csp0base, offset);
@ -614,8 +612,7 @@ int Beb_GetTransmissionDelayRight() {
int Beb_SetTransmissionDelayRight(int value) {
LOG(logINFO, ("Setting transmission delay right to %d\n", value));
if (value < 0) {
LOG(logERROR,
("Invalid transmission delay right value %d\n", value));
LOG(logERROR, ("Invalid transmission delay right value %d\n", value));
return 0;
}
u_int32_t offset = TXM_DELAY_RIGHT_OFFSET;
@ -623,7 +620,7 @@ int Beb_SetTransmissionDelayRight(int value) {
int fd = Beb_open(&csp0base, XPAR_PLB_GPIO_SYS_BASEADDR);
if (fd <= 0) {
LOG(logERROR, ("Could not read register to set transmission delay "
"right. FAIL\n"));
"right. FAIL\n"));
return 0;
} else {
Beb_Write32(csp0base, offset, value);
@ -654,8 +651,7 @@ int Beb_SetNetworkParameter(enum NETWORKINDEX mode, int val) {
break;
default:
LOG(logERROR,
("Unrecognized mode in network parameter: %d\n", mode));
LOG(logERROR, ("Unrecognized mode in network parameter: %d\n", mode));
return -1;
}
// open file pointer
@ -692,7 +688,7 @@ u_int32_t Beb_GetFirmwareRevision() {
value = Beb_Read32(csp0base, FIRMWARE_VERSION_OFFSET);
if (!value) {
LOG(logERROR, ("Firmware Revision Number does not exist in "
"this version\n"));
"this version\n"));
}
}
@ -715,9 +711,8 @@ u_int32_t Beb_GetFirmwareSoftwareAPIVersion() {
} else {
value = Beb_Read32(csp0base, FIRMWARESOFTWARE_API_OFFSET);
if (!value) {
LOG(logERROR,
("Firmware Software API Version does not exist in "
"this version\n"));
LOG(logERROR, ("Firmware Software API Version does not exist in "
"this version\n"));
}
}
@ -773,16 +768,16 @@ int Beb_InitBebInfos() { // file name at some point
if (Beb_GetBebInfoIndex(i0)) {
LOG(logERROR,
("cant add beb. adding beb %d, beb number %d already added.\n",
Beb_detid, i0));
Beb_detid, i0));
exit(0);
}
struct BebInfo b1;
BebInfo_BebInfo(&b1, i0);
BebInfo_SetSerialAddress(&b1, i1);
BebInfo_SetHeaderInfo(&b1, 0, (char *)"00:50:c2:46:d9:34",
(char *)"129.129.205.78", 42000 + i0);
(char *)"129.129.205.78", 42000 + i0);
BebInfo_SetHeaderInfo(&b1, 1, (char *)"00:50:c2:46:d9:35",
(char *)"10.0.26.1", 52000 + i0);
(char *)"10.0.26.1", 52000 + i0);
beb_infos[bebInfoSize] = b1;
bebInfoSize++;
@ -800,8 +795,8 @@ everything calculable/setable beb_infos.push_back(b);
}
int Beb_SetBebSrcHeaderInfos(unsigned int beb_number, int ten_gig,
char *src_mac, char *src_ip,
unsigned int src_port) {
char *src_mac, char *src_ip,
unsigned int src_port) {
// so that the values can be reset externally for now....
unsigned int i = 1; /*Beb_GetBebInfoIndex(beb_number);*/
@ -810,8 +805,7 @@ int Beb_SetBebSrcHeaderInfos(unsigned int beb_number, int ten_gig,
// 0, zero is
// the global
// send
BebInfo_SetHeaderInfo(&beb_infos[i], ten_gig, src_mac, src_ip,
src_port);
BebInfo_SetHeaderInfo(&beb_infos[i], ten_gig, src_mac, src_ip, src_port);
LOG(logINFO, ("Printing Beb info number (%d) :\n", i));
BebInfo_Print(&beb_infos[i]);
@ -823,11 +817,11 @@ int Beb_CheckSourceStuffBebInfo() {
unsigned int i;
for (i = 1; i < bebInfoSize; i++) { // header stuff always starts from 1
if (!Beb_SetHeaderData(BebInfo_GetBebNumber(&beb_infos[i]), 0,
"00:00:00:00:00:00", "10.0.0.1", 20000) ||
"00:00:00:00:00:00", "10.0.0.1", 20000) ||
!Beb_SetHeaderData(BebInfo_GetBebNumber(&beb_infos[i]), 1,
"00:00:00:00:00:00", "10.0.0.1", 20000)) {
"00:00:00:00:00:00", "10.0.0.1", 20000)) {
LOG(logINFO, ("Error in BebInfo for module number %d.\n",
BebInfo_GetBebNumber(&beb_infos[i])));
BebInfo_GetBebNumber(&beb_infos[i])));
BebInfo_Print(&beb_infos[i]);
return 0;
}
@ -841,8 +835,8 @@ unsigned int Beb_GetBebInfoIndex(unsigned int beb_numb) {
unsigned int i;
for (i = 1; i < bebInfoSize; i++)
if (beb_numb == BebInfo_GetBebNumber(&beb_infos[i])) {
LOG(logDEBUG1, ("*****found beb index:%d, for beb number:%d\n",
i, beb_numb));
LOG(logDEBUG1,
("*****found beb index:%d, for beb number:%d\n", i, beb_numb));
return i;
}
LOG(logDEBUG1, ("*****Returning 0\n"));
@ -887,8 +881,8 @@ void Beb_SwapDataFun(int little_endian, unsigned int n, unsigned int *d) {
int Beb_SetByteOrder() { return 1; }
int Beb_SetUpUDPHeader(unsigned int beb_number, int ten_gig,
unsigned int header_number, char *dst_mac,
char *dst_ip, unsigned int dst_port) {
unsigned int header_number, char *dst_mac, char *dst_ip,
unsigned int dst_port) {
if (!Beb_activated)
return 1;
@ -909,8 +903,7 @@ int Beb_SetUpUDPHeader(unsigned int beb_number, int ten_gig,
LOG(logERROR, ("Set up UDP Header FAIL\n"));
} else {
// read data
memcpy(csp0base + header_number * 16, &udp_header,
sizeof(udp_header));
memcpy(csp0base + header_number * 16, &udp_header, sizeof(udp_header));
// close file pointer
Beb_close(fd, csp0base);
}
@ -918,18 +911,18 @@ int Beb_SetUpUDPHeader(unsigned int beb_number, int ten_gig,
}
int Beb_SetHeaderData(unsigned int beb_number, int ten_gig, char *dst_mac,
char *dst_ip, unsigned int dst_port) {
char *dst_ip, unsigned int dst_port) {
unsigned int i = 1; /*Beb_GetBebInfoIndex(beb_number);*/
/***********************************if (!i) return 0;
* *************************************///i must be greater than 0, zero is the global send
return Beb_SetHeaderData1(BebInfo_GetSrcMAC(&beb_infos[i], ten_gig),
BebInfo_GetSrcIP(&beb_infos[i], ten_gig),
BebInfo_GetSrcPort(&beb_infos[i], ten_gig),
dst_mac, dst_ip, dst_port);
BebInfo_GetSrcIP(&beb_infos[i], ten_gig),
BebInfo_GetSrcPort(&beb_infos[i], ten_gig),
dst_mac, dst_ip, dst_port);
}
int Beb_SetHeaderData1(char *src_mac, char *src_ip, unsigned int src_port,
char *dst_mac, char *dst_ip, unsigned int dst_port) {
char *dst_mac, char *dst_ip, unsigned int dst_port) {
/* example header*/
// static unsigned int* word_ptr = new unsigned int [16];
/*static*/
@ -1040,7 +1033,7 @@ int Beb_SetPortNumber(unsigned int port_number, uint8_t *dst_ptr) {
return 1;
}
void Beb_AdjustIPChecksum(struct udp_header_type * ip) {
void Beb_AdjustIPChecksum(struct udp_header_type *ip) {
unsigned char *cptr = (unsigned char *)ip->ver_headerlen;
ip->ip_header_checksum[0] = 0;
@ -1061,10 +1054,10 @@ void Beb_AdjustIPChecksum(struct udp_header_type * ip) {
ip->ip_header_checksum[1] = ip_checksum & 0xff;
}
int Beb_SendMultiReadRequest(
unsigned int beb_number, unsigned int left_right, int ten_gig,
unsigned int dst_number, unsigned int npackets,
unsigned int packet_size, int stop_read_when_fifo_empty) {
int Beb_SendMultiReadRequest(unsigned int beb_number, unsigned int left_right,
int ten_gig, unsigned int dst_number,
unsigned int npackets, unsigned int packet_size,
int stop_read_when_fifo_empty) {
// This is a dead function, will be removed in future
// ==================================================
@ -1092,8 +1085,8 @@ int Beb_SendMultiReadRequest(
npackets--;
Beb_send_data[1] = 0x62000000 | (!stop_read_when_fifo_empty) << 27 |
(ten_gig == 1) << 24 | packet_size << 14 |
dst_number << 8 | npackets;
(ten_gig == 1) << 24 | packet_size << 14 |
dst_number << 8 | npackets;
LOG(logDEBUG1, ("Beb_send_data[1]:%X\n", Beb_send_data[1]));
Beb_send_data[2] = 0;
@ -1154,8 +1147,8 @@ int Beb_StopAcquisition() {
}
int Beb_RequestNImages(unsigned int beb_number, int ten_gig,
unsigned int dst_number, unsigned int nimages,
int test_just_send_out_packets_no_wait) {
unsigned int dst_number, unsigned int nimages,
int test_just_send_out_packets_no_wait) {
if (!Beb_activated)
return 1;
@ -1168,7 +1161,7 @@ int Beb_RequestNImages(unsigned int beb_number, int ten_gig,
unsigned int npackets = (nl * maxnp) / maxnl;
if ((nl * maxnp) % maxnl) {
LOG(logERROR, ("Read N Lines is incorrect. Switching to Full Image "
"Readout\n"));
"Readout\n"));
npackets = maxnp;
}
int in_two_requests = (npackets > MAX_PACKETS_PER_REQUEST) ? 1 : 0;
@ -1179,12 +1172,11 @@ int Beb_RequestNImages(unsigned int beb_number, int ten_gig,
unsigned int packet_size = ten_gig ? 0x200 : 0x80; // 4k or 1k packets
LOG(logDEBUG1, ("----Beb_RequestNImages Start----\n"));
LOG(logINFO,
("beb_number:%d, ten_gig:%d,dst_number:%d, npackets:%d, "
"Beb_bit_mode:%d, header_size:%d, nimages:%d, "
"test_just_send_out_packets_no_wait:%d\n",
beb_number, ten_gig, dst_number, npackets, Beb_bit_mode,
header_size, nimages, test_just_send_out_packets_no_wait));
LOG(logINFO, ("beb_number:%d, ten_gig:%d,dst_number:%d, npackets:%d, "
"Beb_bit_mode:%d, header_size:%d, nimages:%d, "
"test_just_send_out_packets_no_wait:%d\n",
beb_number, ten_gig, dst_number, npackets, Beb_bit_mode,
header_size, nimages, test_just_send_out_packets_no_wait));
u_int32_t right_port_value = 0x2000;
u_int32_t *csp0base = 0;
@ -1254,9 +1246,9 @@ int Beb_RequestNImages(unsigned int beb_number, int ten_gig,
{
int i;
for (i = 0; i < 10; i++)
LOG(logDEBUG1, ("%X\n", Beb_Read32(csp0base,
(LEFT_OFFSET +
i * 4)))); //*(ptrl+i));
LOG(logDEBUG1,
("%X\n", Beb_Read32(csp0base,
(LEFT_OFFSET + i * 4)))); //*(ptrl+i));
LOG(logDEBUG1, ("%d\n", in_two_requests));
}
Beb_close(fd, csp0base);
@ -1276,8 +1268,7 @@ int Beb_Test(unsigned int beb_number) {
unsigned int index = Beb_GetBebInfoIndex(beb_number);
if (!index) {
LOG(logERROR,
("Error beb number (%d)not in list????\n", beb_number));
LOG(logERROR, ("Error beb number (%d)not in list????\n", beb_number));
return 0;
}
@ -1295,8 +1286,7 @@ int Beb_Test(unsigned int beb_number) {
// npackets, unsigned int packet_size, int
// stop_read_when_fifo_empty=1);
for (i = 0; i < 64; i++) {
if (!Beb_SendMultiReadRequest(beb_number, i % 3 + 1, 0, i, 1, 0,
1)) {
if (!Beb_SendMultiReadRequest(beb_number, i % 3 + 1, 0, i, 1, 0, 1)) {
LOG(logERROR, ("Error requesting data....\n"));
return 0;
}
@ -1319,10 +1309,9 @@ int Beb_GetBebFPGATemp() {
} else {
// read data
ret = Beb_Read32(csp0base, FPGA_TEMP_OFFSET);
temperature =
((((float)(ret) / 65536.0f) / 0.00198421639f) - 273.15f) *
1000; // Static conversation, copied from xps sysmon
// standalone driver
temperature = ((((float)(ret) / 65536.0f) / 0.00198421639f) - 273.15f) *
1000; // Static conversation, copied from xps sysmon
// standalone driver
// close file pointer
Beb_close(fd, csp0base);
}
@ -1344,9 +1333,9 @@ void Beb_SetDetectorNumber(uint32_t detid) {
} else {
uint32_t value = Beb_Read32(csp0base, UDP_HEADER_A_LEFT_OFST);
value &= UDP_HEADER_X_MSK; // to keep previous x value
Beb_Write32(
csp0base, UDP_HEADER_A_LEFT_OFST,
value | ((swapid << UDP_HEADER_ID_OFST) & UDP_HEADER_ID_MSK));
Beb_Write32(csp0base, UDP_HEADER_A_LEFT_OFST,
value |
((swapid << UDP_HEADER_ID_OFST) & UDP_HEADER_ID_MSK));
value = Beb_Read32(csp0base, UDP_HEADER_A_LEFT_OFST);
if ((value & UDP_HEADER_ID_MSK) !=
((swapid << UDP_HEADER_ID_OFST) & UDP_HEADER_ID_MSK)) {
@ -1354,9 +1343,9 @@ void Beb_SetDetectorNumber(uint32_t detid) {
}
value = Beb_Read32(csp0base, UDP_HEADER_A_RIGHT_OFST);
value &= UDP_HEADER_X_MSK; // to keep previous x value
Beb_Write32(
csp0base, UDP_HEADER_A_RIGHT_OFST,
value | ((swapid << UDP_HEADER_ID_OFST) & UDP_HEADER_ID_MSK));
Beb_Write32(csp0base, UDP_HEADER_A_RIGHT_OFST,
value |
((swapid << UDP_HEADER_ID_OFST) & UDP_HEADER_ID_MSK));
value = Beb_Read32(csp0base, UDP_HEADER_A_RIGHT_OFST);
if ((value & UDP_HEADER_ID_MSK) !=
((swapid << UDP_HEADER_ID_OFST) & UDP_HEADER_ID_MSK)) {
@ -1413,8 +1402,7 @@ int Beb_SetDetectorPosition(int pos[]) {
value = Beb_Read32(csp0base, UDP_HEADER_A_LEFT_OFST);
value &= UDP_HEADER_ID_MSK; // to keep previous id value
Beb_Write32(csp0base, UDP_HEADER_A_LEFT_OFST,
value |
((posval << UDP_HEADER_X_OFST) & UDP_HEADER_X_MSK));
value | ((posval << UDP_HEADER_X_OFST) & UDP_HEADER_X_MSK));
value = Beb_Read32(csp0base, UDP_HEADER_A_LEFT_OFST);
if ((value & UDP_HEADER_X_MSK) !=
((posval << UDP_HEADER_X_OFST) & UDP_HEADER_X_MSK)) {
@ -1426,8 +1414,7 @@ int Beb_SetDetectorPosition(int pos[]) {
value = Beb_Read32(csp0base, UDP_HEADER_A_RIGHT_OFST);
value &= UDP_HEADER_ID_MSK; // to keep previous id value
Beb_Write32(csp0base, UDP_HEADER_A_RIGHT_OFST,
value |
((posval << UDP_HEADER_X_OFST) & UDP_HEADER_X_MSK));
value | ((posval << UDP_HEADER_X_OFST) & UDP_HEADER_X_MSK));
value = Beb_Read32(csp0base, UDP_HEADER_A_RIGHT_OFST);
if ((value & UDP_HEADER_X_MSK) !=
((posval << UDP_HEADER_X_OFST) & UDP_HEADER_X_MSK)) {
@ -1440,13 +1427,11 @@ int Beb_SetDetectorPosition(int pos[]) {
value = Beb_Read32(csp0base, UDP_HEADER_B_LEFT_OFST);
value &= UDP_HEADER_Z_MSK; // to keep previous z value
Beb_Write32(csp0base, UDP_HEADER_B_LEFT_OFST,
value |
((posval << UDP_HEADER_Y_OFST) & UDP_HEADER_Y_MSK));
value | ((posval << UDP_HEADER_Y_OFST) & UDP_HEADER_Y_MSK));
value = Beb_Read32(csp0base, UDP_HEADER_B_LEFT_OFST);
if ((value & UDP_HEADER_Y_MSK) !=
((posval << UDP_HEADER_Y_OFST) & UDP_HEADER_Y_MSK)) {
LOG(logERROR,
("Could not set column position for left port\n"));
LOG(logERROR, ("Could not set column position for left port\n"));
ret = FAIL;
}
@ -1455,13 +1440,11 @@ int Beb_SetDetectorPosition(int pos[]) {
value = Beb_Read32(csp0base, UDP_HEADER_B_RIGHT_OFST);
value &= UDP_HEADER_Z_MSK; // to keep previous z value
Beb_Write32(csp0base, UDP_HEADER_B_RIGHT_OFST,
value |
((posval << UDP_HEADER_Y_OFST) & UDP_HEADER_Y_MSK));
value | ((posval << UDP_HEADER_Y_OFST) & UDP_HEADER_Y_MSK));
value = Beb_Read32(csp0base, UDP_HEADER_B_RIGHT_OFST);
if ((value & UDP_HEADER_Y_MSK) !=
((posval << UDP_HEADER_Y_OFST) & UDP_HEADER_Y_MSK)) {
LOG(logERROR,
("Could not set column position for right port\n"));
LOG(logERROR, ("Could not set column position for right port\n"));
ret = FAIL;
}
@ -1470,9 +1453,9 @@ int Beb_SetDetectorPosition(int pos[]) {
}
if (ret == OK) {
LOG(logINFO, ("Position set to...\n"
"\tLeft: [%d, %d]\n"
"\tRight:[%d, %d]\n",
posLeft[0], posLeft[1], posRight[0], posRight[1]));
"\tLeft: [%d, %d]\n"
"\tRight:[%d, %d]\n",
posLeft[0], posLeft[1], posRight[0], posRight[1]));
}
return ret;
@ -1483,8 +1466,8 @@ int Beb_SetStartingFrameNumber(uint64_t value) {
Beb_deactivatedStartFrameNumber = value;
return OK;
}
LOG(logINFO, ("Setting start frame number: %llu\n",
(long long unsigned int)value));
LOG(logINFO,
("Setting start frame number: %llu\n", (long long unsigned int)value));
u_int32_t *csp0base = 0;
int fd = Beb_open(&csp0base, XPAR_PLB_GPIO_TEST_BASEADDR);
@ -1508,7 +1491,7 @@ int Beb_SetStartingFrameNumber(uint64_t value) {
return OK;
}
int Beb_GetStartingFrameNumber(uint64_t * retval, int tengigaEnable) {
int Beb_GetStartingFrameNumber(uint64_t *retval, int tengigaEnable) {
if (!Beb_activated) {
*retval = Beb_deactivatedStartFrameNumber;
return OK;
@ -1538,14 +1521,13 @@ int Beb_GetStartingFrameNumber(uint64_t * retval, int tengigaEnable) {
Beb_close(fd, csp0base);
if (left1g != right1g) {
LOG(logERROR,
("Retrieved inconsistent frame numbers from 1g left "
"%llu and right %llu\n",
(long long int)left1g, (long long int)right1g));
LOG(logERROR, ("Retrieved inconsistent frame numbers from 1g left "
"%llu and right %llu\n",
(long long int)left1g, (long long int)right1g));
*retval = (left1g > right1g)
? left1g
: right1g; // give max to set it to when stopping
// acq & different value
? left1g
: right1g; // give max to set it to when stopping
// acq & different value
return -2; // to differentiate between failed address mapping
}
*retval = left1g;
@ -1566,14 +1548,13 @@ int Beb_GetStartingFrameNumber(uint64_t * retval, int tengigaEnable) {
++right10g; // increment for firmware
if (left10g != right10g) {
LOG(logERROR,
("Retrieved inconsistent frame numbers from `0g left "
"%llu and right %llu\n",
(long long int)left10g, (long long int)right10g));
LOG(logERROR, ("Retrieved inconsistent frame numbers from `0g left "
"%llu and right %llu\n",
(long long int)left10g, (long long int)right10g));
*retval = (left10g > right10g)
? left10g
: right10g; // give max to set it to when stopping
// acq & different value
? left10g
: right10g; // give max to set it to when stopping
// acq & different value
return -2; // to differentiate between failed address mapping
}
*retval = left10g;
@ -1585,16 +1566,15 @@ void Beb_SetReadNLines(int value) { Beb_readNLines = value; }
uint16_t Beb_swap_uint16(uint16_t val) { return (val << 8) | (val >> 8); }
int Beb_open(u_int32_t * *csp0base, u_int32_t offset) {
int Beb_open(u_int32_t **csp0base, u_int32_t offset) {
int fd = open("/dev/mem", O_RDWR | O_SYNC, 0);
if (fd == -1) {
LOG(logERROR, ("\nCan't find /dev/mem!\n"));
} else {
LOG(logDEBUG1, ("/dev/mem opened\n"));
*csp0base =
(u_int32_t *)mmap(0, BEB_MMAP_SIZE, PROT_READ | PROT_WRITE,
MAP_FILE | MAP_SHARED, fd, offset);
*csp0base = (u_int32_t *)mmap(0, BEB_MMAP_SIZE, PROT_READ | PROT_WRITE,
MAP_FILE | MAP_SHARED, fd, offset);
if (*csp0base == MAP_FAILED) {
LOG(logERROR, ("\nCan't map memmory area!!\n"));
fd = -1;
@ -1604,14 +1584,13 @@ int Beb_open(u_int32_t * *csp0base, u_int32_t offset) {
return fd;
}
u_int32_t Beb_Read32(u_int32_t * baseaddr, u_int32_t offset) {
u_int32_t Beb_Read32(u_int32_t *baseaddr, u_int32_t offset) {
volatile u_int32_t value;
value = *(u_int32_t *)(baseaddr + offset / (sizeof(u_int32_t)));
return value;
}
u_int32_t Beb_Write32(u_int32_t * baseaddr, u_int32_t offset,
u_int32_t data) {
u_int32_t Beb_Write32(u_int32_t *baseaddr, u_int32_t offset, u_int32_t data) {
volatile u_int32_t *ptr1;
ptr1 = (u_int32_t *)(baseaddr + offset / (sizeof(u_int32_t)));
*ptr1 = data;

View File

@ -2497,7 +2497,8 @@ int Feb_Control_SetTop(enum TOPINDEX ind, int left, int right) {
return 0;
}
if (!Feb_Interface_WriteRegister(addr[i], offset, value, 0, 0)) {
LOG(logERROR, ("Could not set Top flag to %s in %s Feb\n", top_names[ind], (i == 0 ? "left" : "right")));
LOG(logERROR, ("Could not set Top flag to %s in %s Feb\n",
top_names[ind], (i == 0 ? "left" : "right")));
return 0;
}
}
@ -2509,7 +2510,7 @@ int Feb_Control_SetTop(enum TOPINDEX ind, int left, int right) {
return 1;
}
void Feb_Control_SetMasterVariable(int val) {Feb_control_master = val;}
void Feb_Control_SetMasterVariable(int val) { Feb_control_master = val; }
int Feb_Control_SetMaster(enum MASTERINDEX ind) {
uint32_t offset = DAQ_REG_HRDWRE;
@ -2561,7 +2562,7 @@ int Feb_Control_SetQuad(int val) {
}
LOG(logINFO, ("Setting Quad to %d in Feb\n", val));
// only setting on the right feb if quad
return Feb_Control_SetTop(val == 0 ? TOP_HARDWARE : OW_TOP, 0, 1);
return Feb_Control_SetTop(val == 0 ? TOP_HARDWARE : OW_TOP, 0, 1);
}
int Feb_Control_SetReadNLines(int value) {
@ -2645,7 +2646,7 @@ int Feb_Control_ReadRegister(uint32_t offset, uint32_t *retval) {
addr[1] = Module_TopAddressIsValid(&modules[1])
? Module_GetTopLeftAddress(&modules[1])
: Module_GetBottomLeftAddress(&modules[1]);
uint32_t value[2] = {0, 0};
int run[2] = {0, 0};

View File

@ -364,7 +364,7 @@ void initStopServer() {
// wait a few s (control server is setting top/master from config file)
usleep(WAIT_STOP_SERVER_START);
LOG(logINFOBLUE, ("Configuring Stop server\n"));
//exit(-1);
// exit(-1);
readDetectorNumber();
getModuleConfiguration();
Feb_Control_SetMasterVariable(master);
@ -383,7 +383,7 @@ void initStopServer() {
void getModuleConfiguration() {
if (initError == FAIL) {
return;
}
}
#ifdef VIRTUAL
// if master not modified by config file
if (master == -1) {
@ -431,7 +431,8 @@ int readConfigFile() {
top = -1;
FILE *fd = fopen(CONFIG_FILE, "r");
if (fd == NULL) {
LOG(logINFO, ("No config file found. Resetting to hardware settings (Top/Master)\n"));
LOG(logINFO, ("No config file found. Resetting to hardware settings "
"(Top/Master)\n"));
// reset to hardware settings if not in config file (if overwritten)
resetToHardwareSettings();
return initError;
@ -500,8 +501,8 @@ int readConfigFile() {
int actual_top = -1, temp = -1, temp2 = -1;
Beb_GetModuleConfiguration(&temp, &actual_top, &temp2);
if (actual_top != top) {
sprintf(initErrorMessage,
"Could not set top to %d. Read %d\n", top, actual_top);
sprintf(initErrorMessage, "Could not set top to %d. Read %d\n",
top, actual_top);
break;
}
Beb_SetTopVariable(top);
@ -541,7 +542,8 @@ int readConfigFile() {
Beb_GetModuleConfiguration(&actual_master, &temp, &temp2);
if (actual_master != master) {
sprintf(initErrorMessage,
"Could not set master to %d. Read %d\n", master, actual_master);
"Could not set master to %d. Read %d\n", master,
actual_master);
break;
}
Feb_Control_SetMasterVariable(master);
@ -582,14 +584,14 @@ void resetToHardwareSettings() {
if (!Beb_SetTop(TOP_HARDWARE)) {
initError = FAIL;
strcpy(initErrorMessage,
"Could not reset Top flag to Beb hardware settings.\n");
"Could not reset Top flag to Beb hardware settings.\n");
LOG(logERROR, ("%s\n\n", initErrorMessage));
return;
}
if (!Feb_Control_SetTop(TOP_HARDWARE, 1, 1)) {
initError = FAIL;
strcpy(initErrorMessage,
"Could not reset Top flag to Feb hardware settings.\n");
"Could not reset Top flag to Feb hardware settings.\n");
LOG(logERROR, ("%s\n\n", initErrorMessage));
return;
}
@ -601,14 +603,14 @@ void resetToHardwareSettings() {
if (!Beb_SetMaster(TOP_HARDWARE)) {
initError = FAIL;
strcpy(initErrorMessage,
"Could not reset Master flag to Beb hardware settings.\n");
"Could not reset Master flag to Beb hardware settings.\n");
LOG(logERROR, ("%s\n\n", initErrorMessage));
return;
}
if (!Feb_Control_SetMaster(TOP_HARDWARE)) {
initError = FAIL;
strcpy(initErrorMessage,
"Could not reset Master flag to Feb hardware settings.\n");
"Could not reset Master flag to Feb hardware settings.\n");
LOG(logERROR, ("%s\n\n", initErrorMessage));
return;
}
@ -618,7 +620,6 @@ void resetToHardwareSettings() {
#endif
}
/* set up detector */
void allocateDetectorStructureMemory() {
@ -712,7 +713,7 @@ void setupDetector() {
if (setActivate(0) == FAIL) {
initError = FAIL;
sprintf(initErrorMessage, "Could not deactivate\n");
LOG(logERROR, (initErrorMessage));
LOG(logERROR, (initErrorMessage));
}
LOG(logDEBUG1, ("Setup detector done\n\n"));
@ -1894,14 +1895,16 @@ int setActivate(int enable) {
Feb_Control_activate(enable);
#endif
if (enable == 0) {
LOG(logINFORED, ("Deactivated in %s Server!\n", isControlServer ? " Control" : "Stop"));
LOG(logINFORED, ("Deactivated in %s Server!\n",
isControlServer ? " Control" : "Stop"));
} else {
LOG(logINFOGREEN, ("Activated in %s Server!\n", isControlServer ? " Control" : "Stop"));
LOG(logINFOGREEN, ("Activated in %s Server!\n",
isControlServer ? " Control" : "Stop"));
}
return OK;
}
int getActivate(int* retval) {
int getActivate(int *retval) {
#ifdef VIRTUAL
*retval = eiger_virtual_activate;
#else

View File

@ -1,10 +1,10 @@
#pragma once
#include "sls_detector_defs.h"
#define REQUIRED_FIRMWARE_VERSION (26)
#define IDFILECOMMAND "more /home/root/executables/detid.txt"
#define CONFIG_FILE ("config.txt")
#define WAIT_STOP_SERVER_START (1 * 1000 * 1000)
#define REQUIRED_FIRMWARE_VERSION (26)
#define IDFILECOMMAND "more /home/root/executables/detid.txt"
#define CONFIG_FILE ("config.txt")
#define WAIT_STOP_SERVER_START (1 * 1000 * 1000)
#define STATUS_IDLE 0
#define STATUS_RUNNING 1

View File

@ -439,7 +439,7 @@ int setAllTrimbits(int val);
int getAllTrimbits();
int getBebFPGATemp();
int setActivate(int enable);
int getActivate(int* retval);
int getActivate(int *retval);
// gotthard specific - adc phase
#elif GOTTHARDD

View File

@ -4122,7 +4122,8 @@ int set_activate(int file_des) {
if (arg >= 0) {
if (setActivate(arg) == FAIL) {
ret = FAIL;
sprintf(mess, "Could not %s\n", (arg == 0 ? "deactivate" : "activate"));
sprintf(mess, "Could not %s\n",
(arg == 0 ? "deactivate" : "activate"));
LOG(logERROR, (mess));
}
}

View File

@ -4,10 +4,10 @@
#define APIRECEIVER 0x200409
#define APIGUI 0x200409
#define APICTB 0x200508
#define APIGOTTHARD 0x200508
#define APICTB 0x200508
#define APIGOTTHARD 0x200508
#define APIGOTTHARD2 0x200508
#define APIJUNGFRAU 0x200508
#define APIMYTHEN3 0x200508
#define APIMOENCH 0x200508
#define APIEIGER 0x200511
#define APIJUNGFRAU 0x200508
#define APIMYTHEN3 0x200508
#define APIMOENCH 0x200508
#define APIEIGER 0x200511