- Fixed a normalisation problem in diffscan when the first value
did not have enough counts - Reduced polling frequency in emon - Fixed a scriptcontext bug which would cause it to dump core in SctTransact on interrupts - Fixed an issue with missing <nl> at the end of batch files - Added a feature which does not call halt when counting stops in hmcontrol.c This is necessary for the BOA CCD - Initalized doNotFree properly in hipadaba.c - Added the travelling salesman reflection measurement algorithm - Added another component to amorset - Removed old SicsWait from nserver.c - Added a means to nxscript to write 16 bit data for BOA - Modified tasub to accept a drivabel as a motor and not only a motor. This became necessary to make EIGER work as A2 on EIGER is a virtual motor
This commit is contained in:
16
el734hp.c
16
el734hp.c
@ -77,7 +77,7 @@ typedef struct __MoDriv {
|
||||
#define BADCOUNT -15
|
||||
/*-------------------------------------------------------------------
|
||||
This reruns the command when an emergency stop has been detected.
|
||||
This ougth to fix the problem that there is still another *ES in the
|
||||
This ought to fix the problem that there is still another *ES in the
|
||||
line even after releasing the emergency stop button
|
||||
--------------------------------------------------------------------*/
|
||||
static int transactEL734(prs232 self, void *send, int sendLen,
|
||||
@ -93,8 +93,8 @@ static int transactEL734(prs232 self, void *send, int sendLen,
|
||||
oldTimeout = getRS232Timeout(self);
|
||||
setRS232Timeout(self, 0);
|
||||
if (availableRS232(self)) {
|
||||
len = sizeof(rubbish);
|
||||
readRS232(self, rubbish, &len);
|
||||
len = sizeof(rubbish);
|
||||
readRS232(self, rubbish, &len);
|
||||
}
|
||||
setRS232Timeout(self, oldTimeout);
|
||||
|
||||
@ -102,15 +102,17 @@ static int transactEL734(prs232 self, void *send, int sendLen,
|
||||
/*
|
||||
Actually do something. Some controllers send one erroneus *ES when the
|
||||
emergency stop had been released. Therefore we believe an emergency stop
|
||||
message only at the second try. This is the logic below.
|
||||
message only at the second try. This is the logic below. Some also send
|
||||
more \r\n style rubbish on emergency stops too. This is what we try to
|
||||
read away in the while loop below too.
|
||||
*/
|
||||
status = transactRS232(self, send, sendLen, reply, replylen);
|
||||
if (status >= 1) {
|
||||
pReply = (char *) reply;
|
||||
if (strstr(pReply, "*ES") != NULL) {
|
||||
if (availableRS232(self)) {
|
||||
len = replylen;
|
||||
readRS232TillTerm(self, reply, &len);
|
||||
while(availableRS232(self)) {
|
||||
len = sizeof(rubbish);
|
||||
readRS232(self, rubbish, &len);
|
||||
}
|
||||
status = transactRS232(self, send, sendLen, reply, replylen);
|
||||
if (status >= 1) {
|
||||
|
Reference in New Issue
Block a user