ServiceLink: Korrektur Telegram sende-empfangs-logik

master
Harald Wolff 2016-02-24 16:36:02 +01:00
parent 67b9da31b8
commit 23d8d4e42c
1 changed files with 7 additions and 6 deletions

View File

@ -284,6 +284,7 @@ public class ServiceLink {
long rstart,rend;
ServiceTelegram telegram = new ServiceTelegram();
ServiceTelegram rx = new ServiceTelegram();
telegram.setRequest(request);
telegram.setAchse(achse);
@ -298,11 +299,11 @@ public class ServiceLink {
rstart = System.currentTimeMillis();
for (int n = 0; n<3; n++)
{
telegram.recv();
rx.recv();
if (
(telegram.getAchse() == achse) &&
(telegram.getKnoten() == knoten) &&
(telegram.getRegister() == register)
(rx.getAchse() == achse) &&
(rx.getKnoten() == knoten) &&
(rx.getRegister() == register)
)
break;
};
@ -310,10 +311,10 @@ public class ServiceLink {
requestTime.cycle((int)(rend - rstart));
if ((telegram.getRequest() & REQ_ACK)==0)
if ((rx.getRequest() & REQ_ACK)==0)
throw new ServiceLinkRequestFailedException(telegram);
return telegram;
return rx;
}
public synchronized NewSerialPort getSerialPort() {