wip to change to enum for portposition

This commit is contained in:
2021-07-20 16:05:08 +02:00
parent c6aaf2f8b1
commit ec7ba7c508
16 changed files with 117 additions and 105 deletions

View File

@ -451,19 +451,15 @@ int Beb_GetActivate(int *retval) {
return 1;
}
int Beb_SetDataStream(int left, int enable) {
int Beb_SetDataStream(enum portPositiion port, int enable) {
if (!Beb_activated) {
if (left) {
if (port == LEFT) {
Beb_deactivated_left_datastream = enable;
} else {
Beb_deactivated_right_datastream = enable;
}
return 1;
}
if (left < 0) {
LOG(logERROR, ("Invalid left value\n"));
return 0;
}
if (enable < 0) {
LOG(logERROR, ("Invalid enable value\n"));
return 0;
@ -475,8 +471,8 @@ int Beb_SetDataStream(int left, int enable) {
return 0;
} else {
u_int32_t reg = XPAR_GPIO_P15_STREAMING_REG;
u_int32_t mask =
(left ? XPAR_GPIO_LFT_STRM_DSBL_MSK : XPAR_GPIO_RGHT_STRM_DSBL_MSK);
u_int32_t mask = (port == LEFT ? XPAR_GPIO_LFT_STRM_DSBL_MSK
: XPAR_GPIO_RGHT_STRM_DSBL_MSK);
u_int32_t value = Beb_Read32(csp0base, reg);
// disabling in firmware
@ -488,8 +484,8 @@ int Beb_SetDataStream(int left, int enable) {
if (retval != value) {
LOG(logERROR,
("Could not %s %s fpga datastream. Wrote 0x%x, read 0x%x\n",
(enable ? "enable" : "disable"), (left ? "left" : "right"),
value, retval));
(enable ? "enable" : "disable"),
(port == LEFT ? "left" : "right"), value, retval));
Beb_close(fd, csp0base);
}
}
@ -497,9 +493,9 @@ int Beb_SetDataStream(int left, int enable) {
return 1;
}
int Beb_GetDataStream(int left, int *retval) {
int Beb_GetDataStream(enum portPositiion port, int *retval) {
if (!Beb_activated) {
if (left) {
if (port == LEFT) {
return Beb_deactivated_left_datastream;
} else {
return Beb_deactivated_right_datastream;
@ -512,8 +508,8 @@ int Beb_GetDataStream(int left, int *retval) {
return 0;
} else {
u_int32_t reg = XPAR_GPIO_P15_STREAMING_REG;
u_int32_t mask =
(left ? XPAR_GPIO_LFT_STRM_DSBL_MSK : XPAR_GPIO_RGHT_STRM_DSBL_MSK);
u_int32_t mask = (port == LEFT ? XPAR_GPIO_LFT_STRM_DSBL_MSK
: XPAR_GPIO_RGHT_STRM_DSBL_MSK);
u_int32_t value = Beb_Read32(csp0base, reg);
// disabling in firmware

View File

@ -41,8 +41,8 @@ int Beb_SetTop(enum TOPINDEX ind);
int Beb_SetMaster(enum MASTERINDEX ind);
int Beb_SetActivate(int enable);
int Beb_GetActivate(int *retval);
int Beb_SetDataStream(int left, int enable);
int Beb_GetDataStream(int left, int *retval);
int Beb_SetDataStream(enum portPositiion port, int enable);
int Beb_GetDataStream(ienum portPositiion port, int *retval);
int Beb_Set32bitOverflow(int val);
int Beb_GetTenGigaFlowControl();

View File

@ -2051,38 +2051,38 @@ int getActivate(int *retval) {
return OK;
}
int setDataStream(int left, int enable) {
int setDataStream(enum portPositiion port, int enable) {
if (enable < 0) {
LOG(logERROR, ("Invalid setDataStream enable argument: %d\n", enable));
return FAIL;
}
if (left < 0) {
LOG(logERROR, ("Invalid setDataStream left argument: %d\n", left));
LOG(logERROR, ("Invalid setDataStream port argument: %d\n", port));
return FAIL;
}
#ifdef VIRTUAL
if (left) {
if (port == LEFT) {
eiger_virtual_left_datastream = enable;
} else {
eiger_virtual_right_datastream = enable;
}
#else
if (!Beb_SetDataStream(left, enable)) {
if (!Beb_SetDataStream(port, enable)) {
return FAIL;
}
#endif
return OK;
}
int getDataStream(int left, int *retval) {
int getDataStream(enum portPositiion port, int *retval) {
#ifdef VIRTUAL
if (left) {
if (port == LEFT) {
*retval = eiger_virtual_left_datastream;
} else {
*retval = eiger_virtual_right_datastream;
}
#else
if (!Beb_GetDataStream(left, retval)) {
if (!Beb_GetDataStream(port, retval)) {
return FAIL;
}
#endif

View File

@ -474,8 +474,8 @@ int getAllTrimbits();
int getBebFPGATemp();
int setActivate(int enable);
int getActivate(int *retval);
int getDataStream(int left, int *retval);
int setDataStream(int left, int enable);
int getDataStream(enum portPositiion port, int *retval);
int setDataStream(enum portPositiion port, int enable);
// gotthard specific - adc phase
#elif GOTTHARDD

View File

@ -7058,7 +7058,7 @@ int get_receiver_parameters(int file_des) {
// data stream left
#ifdef EIGERD
i32 = 0;
getDataStream(1, &i32);
getDataStream(LEFT, &i32);
#else
i32 = 0;
#endif
@ -7069,7 +7069,7 @@ int get_receiver_parameters(int file_des) {
// data stream right
#ifdef EIGERD
i32 = 0;
getDataStream(0, &i32);
getDataStream(RIGHT, &i32);
#else
i32 = 0;
#endif
@ -8251,33 +8251,31 @@ int get_gain_caps(int file_des) {
int get_datastream(int file_des) {
ret = OK;
memset(mess, 0, sizeof(mess));
int arg = -1;
enum portPosition arg = LEFT;
int retval = -1;
if (receiveData(file_des, &arg, sizeof(arg), INT32) < 0)
return printSocketReadError();
LOG(logDEBUG1, ("Getting data stream enable [left:%d]\n", arg));
LOG(logDEBUG1, ("Getting data stream enable [port:%d]\n", arg));
#ifndef EIGERD
functionNotImplemented();
#else
// get only
int leftFpga = arg;
if (leftFpga != 0 && leftFpga != 1) {
if (arg != LEFT && arg != RIGHT) {
ret = FAIL;
sprintf(
mess,
"Could not get data stream enable. Invalid side %d. Left argument"
"should be 0 or 1.\n",
leftFpga);
"Could not get data stream enable. Invalid port position %d. Only left and right allowed\n",
arg);
LOG(logERROR, (mess));
} else {
ret = getDataStream(leftFpga, &retval);
ret = getDataStream(arg, &retval);
LOG(logDEBUG1, ("datastream (%s) retval: %u\n",
(leftFpga ? "left" : "right"), retval));
(arg == LEFT? "left" : "right"), retval));
if (ret == FAIL) {
sprintf(mess, "Could not get %s data stream enable.\n",
(leftFpga ? "left" : "right"));
(arg == LEFT ? "left" : "right"));
LOG(logERROR, (mess));
}
}
@ -8300,39 +8298,38 @@ int set_datastream(int file_des) {
#else
// only set
if (Server_VerifyLock() == OK) {
int leftFpga = args[0];
enum portPosition port = static_cast<portPosition>(args[0]);
int enable = args[1];
char msg[256];
memset(msg, 0, sizeof(msg));
sprintf(msg, "%s %s fpga datastream", (enable ? "enable" : "disable"),
(leftFpga ? "left" : "right"));
if (leftFpga != 0 && leftFpga != 1) {
(port == LEFT ? "left" : "right"));
if (port != LEFT && port != RIGHT) {
ret = FAIL;
sprintf(mess,
"Could not %s. Invalid side %d. Left argument should be 0 "
"or 1.\n",
msg, leftFpga);
"Could not %s. Invalid port position %d. Only left and right allowed\n",
msg, port);
LOG(logERROR, (mess));
} else if (enable != 0 && enable != 1) {
ret = FAIL;
sprintf(mess, "Could not %s. Invalid enable %d. \n", msg, enable);
LOG(logERROR, (mess));
} else {
ret = setDataStream(leftFpga, enable);
ret = setDataStream(port, enable);
if (ret == FAIL) {
sprintf(mess, "Could not %s\n", msg);
LOG(logERROR, (mess));
} /*else {
} else {
int retval = -1;
ret = getDataStream(leftFpga, &retval);
ret = getDataStream(port, &retval);
LOG(logDEBUG1, ("%s retval: %u\n", msg, retval));
if (ret == FAIL) {
sprintf(mess, "Could not get %s data stream enable.\n",
(leftFpga ? "left" : "right"));
(port == LEFT ? "left" : "right"));
LOG(logERROR, (mess));
}
validate(&ret, mess, enable, retval, msg, DEC);
}*/
}
}
}
#endif