mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-25 15:50:03 +02:00
Merge branch 'developer' of github.com:slsdetectorgroup/slsDetectorPackage into developer
This commit is contained in:
commit
2815458652
Binary file not shown.
@ -64,7 +64,8 @@ The directory contains some executables that are needed to make your detector to
|
|||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
./on #to switch modules on
|
./on #to switch modules on
|
||||||
./off #to switch modules off
|
./off #to switch modules off
|
||||||
./hvget #gets the current HV value
|
./state #tells you if is ON or OFF
|
||||||
|
cat /var/log/pcu.log #displays the log if there are problem
|
||||||
./waterflow #returns the current waterflow returned by the flowmeter
|
./waterflow #returns the current waterflow returned by the flowmeter
|
||||||
./temp #returns the water temperature returned by the flowmeter
|
./temp #returns the water temperature returned by the flowmeter
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
@ -31,6 +31,9 @@ int myport=-1;
|
|||||||
//struct sockaddr_in address;
|
//struct sockaddr_in address;
|
||||||
//#define VERBOSE
|
//#define VERBOSE
|
||||||
|
|
||||||
|
#define BLACKFIN_DRVR_SND_LMT (30000) // rough limit
|
||||||
|
#define BLACKFIN_RSND_PCKT_LOOP (10)
|
||||||
|
#define BLACKFIN_RSND_WAIT_US (1)
|
||||||
|
|
||||||
int bindSocket(unsigned short int port_number) {
|
int bindSocket(unsigned short int port_number) {
|
||||||
int i;
|
int i;
|
||||||
@ -314,13 +317,46 @@ int receiveData(int file_des, void* buf,int length, intType itype){
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int sendDataOnly(int file_des, void* buf,int length) {
|
||||||
int sendDataOnly(int file_des, void* buf,int length) {
|
|
||||||
if (!length)
|
if (!length)
|
||||||
return 0;
|
return 0;
|
||||||
int ret = write(file_des, buf, length); //value of -1 is other end socket crash as sigpipe is ignored
|
|
||||||
if (ret < 0) cprintf(BG_RED, "Error writing to socket. Possible socket crash\n");
|
|
||||||
return ret;
|
int bytesSent = 0;
|
||||||
|
int retry = 0; // retry index when buffer is blocked (write returns 0)
|
||||||
|
while (bytesSent < 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;
|
||||||
|
|
||||||
|
// send
|
||||||
|
int rc = write(file_des, (char*)((char*)buf + bytesSent), bytesToSend);
|
||||||
|
// error
|
||||||
|
if (rc < 0) {
|
||||||
|
cprintf(BG_RED, "Error writing to socket. Possible socket crash\n");
|
||||||
|
return bytesSent;
|
||||||
|
}
|
||||||
|
// also error, wrote nothing, buffer blocked up, too fast sending for client
|
||||||
|
if (rc == 0) {
|
||||||
|
cprintf(RED, "Error writing to socket. Buffer full. Retry: %d\n", retry);
|
||||||
|
++retry;
|
||||||
|
// wrote nothing for many loops
|
||||||
|
if (retry >= BLACKFIN_RSND_PCKT_LOOP) {
|
||||||
|
cprintf(BG_RED, "Error writing to socket. Buffer full! Too fast! No more.\n");
|
||||||
|
return bytesSent;
|
||||||
|
}
|
||||||
|
usleep(BLACKFIN_RSND_WAIT_US);
|
||||||
|
}
|
||||||
|
// wrote something, reset retry
|
||||||
|
else {
|
||||||
|
retry = 0;
|
||||||
|
}
|
||||||
|
bytesSent += rc;
|
||||||
|
}
|
||||||
|
|
||||||
|
return bytesSent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
Path: slsDetectorsPackage/slsDetectorSoftware/jctbDetectorServer
|
Path: slsDetectorsPackage/slsDetectorSoftware/jctbDetectorServer
|
||||||
URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
||||||
Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
||||||
Repsitory UUID: 83600fcb15c8261173ab15a8ba8d1009693f2d23
|
Repsitory UUID: 40dedb8b07886171334c85a6f0035f02f868ac6d
|
||||||
Revision: 27
|
Revision: 28
|
||||||
Branch: anna
|
Branch: developer
|
||||||
Last Changed Author: Anna_Bergamaschi
|
Last Changed Author: Gemma_Tinti
|
||||||
Last Changed Rev: 3962
|
Last Changed Rev: 4052
|
||||||
Last Changed Date: 2018-09-04 11:59:37.000000002 +0200 ./firmware_funcs.c
|
Last Changed Date: 2018-11-21 11:31:54.000000002 +0100 ./server_funcs.c
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git"
|
#define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git"
|
||||||
#define GITREPUUID "83600fcb15c8261173ab15a8ba8d1009693f2d23"
|
#define GITREPUUID "40dedb8b07886171334c85a6f0035f02f868ac6d"
|
||||||
#define GITAUTH "Anna_Bergamaschi"
|
#define GITAUTH "Gemma_Tinti"
|
||||||
#define GITREV 0x3962
|
#define GITREV 0x4052
|
||||||
#define GITDATE 0x20180904
|
#define GITDATE 0x20181121
|
||||||
#define GITBRANCH "anna"
|
#define GITBRANCH "developer"
|
||||||
|
Binary file not shown.
@ -1877,6 +1877,7 @@ int start_acquisition(int file_des) {
|
|||||||
ret=FAIL;
|
ret=FAIL;
|
||||||
sprintf(mess,"Detector locked by %s\n",lastClientIP);
|
sprintf(mess,"Detector locked by %s\n",lastClientIP);
|
||||||
} else {
|
} else {
|
||||||
|
nframes = 0;
|
||||||
ret=startStateMachine();
|
ret=startStateMachine();
|
||||||
}
|
}
|
||||||
if (ret==FAIL)
|
if (ret==FAIL)
|
||||||
@ -2057,7 +2058,7 @@ int read_frame(int file_des) {
|
|||||||
printf("sending pointer %x of size %d\n",(unsigned int)(dataretval),dataBytes);
|
printf("sending pointer %x of size %d\n",(unsigned int)(dataretval),dataBytes);
|
||||||
#endif
|
#endif
|
||||||
n=sendDataOnly(file_des,dataretval,dataBytes);
|
n=sendDataOnly(file_des,dataretval,dataBytes);
|
||||||
printf("Sent %d bytes\n",n);
|
printf("Frame %d, Sent %d bytes\n", nframes, n);
|
||||||
} else {
|
} else {
|
||||||
if (getFrames()>-1) {
|
if (getFrames()>-1) {
|
||||||
dataret=FAIL;
|
dataret=FAIL;
|
||||||
@ -2122,7 +2123,7 @@ int start_and_read_all(int file_des) {
|
|||||||
return dataret;
|
return dataret;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
nframes = 0;
|
||||||
startStateMachine();
|
startStateMachine();
|
||||||
|
|
||||||
/* ret=startStateMachine();
|
/* ret=startStateMachine();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user