gotthard server: minor fixes

This commit is contained in:
2018-12-04 14:12:11 +01:00
parent 98b5e893b1
commit 4e65a1d964
6 changed files with 29 additions and 23 deletions

View File

@ -11,6 +11,7 @@ u_int64_t CSP0BASE = 0;
#define CSP0 0x20200000
#define MEM_SIZE 0x100000
/** I2C defines */
#define I2C_CLOCK_MHZ (131.25)

View File

@ -10,6 +10,11 @@
#define DEFAULT_PORTNO 1952
#define DEFAULT_BACKLOG 5
// blackfin limits
#define CPU_DRVR_SND_LMT (30000) // rough limit
#define CPU_RSND_PCKT_LOOP (10)
#define CPU_RSND_WAIT_US (1)
// Global variables from errno.h
extern int errno;
@ -309,8 +314,8 @@ int sendDataOnly(int file_des, void* buf,int length) {
// setting a max packet size for blackfin driver (and network driver does not do a check if packets sent)
int bytesToSend = length - bytesSent;
if (bytesToSend > BLACKFIN_DRVR_SND_LMT)
bytesToSend = BLACKFIN_DRVR_SND_LMT;
if (bytesToSend > CPU_DRVR_SND_LMT)
bytesToSend = CPU_DRVR_SND_LMT;
// send
int rc = write(file_des, (char*)((char*)buf + bytesSent), bytesToSend);
@ -326,12 +331,12 @@ int sendDataOnly(int file_des, void* buf,int length) {
(isControlServer ? "control":"stop"), retry));
++retry;
// wrote nothing for many loops
if (retry >= BLACKFIN_RSND_PCKT_LOOP) {
if (retry >= CPU_RSND_PCKT_LOOP) {
FILE_LOG(logERROR, ("Could not write to %s socket. Buffer full! Too fast! No more.\n",
(isControlServer ? "control":"stop")));
return bytesSent;
}
usleep(BLACKFIN_RSND_WAIT_US);
usleep(CPU_RSND_WAIT_US);
}
// wrote something, reset retry
else {

View File

@ -2435,9 +2435,12 @@ int set_all_trimbits(int file_des) {
int set_ctb_pattern(int file_des) {
ret = OK;
memset(mess, 0, sizeof(mess));
#ifdef CHIPTESTBOARDD
int retval32 = -1;
int64_t retval64 = -1;
int retvals[3] = {-1, -1, -1};
#endif
int mode = -1;
// mode 0: control or word
@ -2482,7 +2485,7 @@ int set_ctb_pattern(int file_des) {
case 3:// wait time
if (receiveData(file_des, &loopLevel, sizeof(loopLevel), INT32) < 0)
return printSocketReadError();
if (receiveData(file_des, &t, sizeof(t), INT32) < 0)
if (receiveData(file_des, &timeval, sizeof(timeval), INT64) < 0)
return printSocketReadError();
case 4:// set word
if (receiveData(file_des, &pattern, sizeof(pattern), INT64) < 0)
@ -2562,9 +2565,9 @@ int set_ctb_pattern(int file_des) {
else if ((startAddr == -1 && stopAddr == -1 && numLoops == -1) || (Server_VerifyLock() == OK)) {
setPatternLoop(loopLevel, &startAddr, &stopAddr, &numLoops);
}
retval[0] = startAddr;
retval[1] = stopAddr;
retval[2] = numLoops;
retvals[0] = startAddr;
retvals[1] = stopAddr;
retvals[2] = numLoops;
return Server_SendResult(file_des, INT32, UPDATE, retvals, sizeof(retvals);
@ -2659,15 +2662,17 @@ int write_adc_register(int file_des) {
#else
#ifndef VIRTUAL
// only set
if (Server_VerifyLock() == OK)
if (Server_VerifyLock() == OK) {
#ifdef JUNGFRAUD
setAdc9257(addr, val);
#elif GOTTHARDD
if (getBoardRevision() == 1)
if (getBoardRevision() == 1) {
setAdc9252(addr, val);
else
} else {
setAdc9257(addr, val);
}
#endif
}
#endif
#endif
return Server_SendResult(file_des, INT32, UPDATE, NULL, 0);