|
@@ -17,6 +17,7 @@ import org.slf4j.LoggerFactory;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.Timer;
|
|
import java.util.concurrent.CompletableFuture;
|
|
import java.util.concurrent.CompletableFuture;
|
|
import java.util.concurrent.Executors;
|
|
import java.util.concurrent.Executors;
|
|
import java.util.concurrent.ScheduledExecutorService;
|
|
import java.util.concurrent.ScheduledExecutorService;
|
|
@@ -26,7 +27,11 @@ public class FHMasterSim implements IFHMaster {
|
|
|
|
|
|
private final ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor();
|
|
private final ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor();
|
|
private volatile boolean started = false;
|
|
private volatile boolean started = false;
|
|
- private int curPos=-1;
|
|
|
|
|
|
+ private int targetPos=-1;
|
|
|
|
+ private float curPos=-1;
|
|
|
|
+ private float simSpeed=0.1f;
|
|
|
|
+
|
|
|
|
+
|
|
public FHMasterSim() {
|
|
public FHMasterSim() {
|
|
}
|
|
}
|
|
|
|
|
|
@@ -34,32 +39,28 @@ public class FHMasterSim implements IFHMaster {
|
|
public void start(Params app) throws InterruptedException {
|
|
public void start(Params app) throws InterruptedException {
|
|
started = true;
|
|
started = true;
|
|
while(true) {
|
|
while(true) {
|
|
- Thread.sleep(1000);
|
|
|
|
- readStatus();
|
|
|
|
|
|
+ Thread.sleep(30);
|
|
|
|
+ curPos = curPos + ((targetPos - curPos) * simSpeed);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
-
|
|
|
|
@Override
|
|
@Override
|
|
public void direktAuftrag(int pos, int speed, int start, boolean relative) {
|
|
public void direktAuftrag(int pos, int speed, int start, boolean relative) {
|
|
logger.info("direktAuftrag {},{},{},{}", pos, speed, start, relative);
|
|
logger.info("direktAuftrag {},{},{},{}", pos, speed, start, relative);
|
|
- curPos=pos;
|
|
|
|
|
|
+ targetPos=pos;
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public CompletableFuture<Status> readStatus() {
|
|
public CompletableFuture<Status> readStatus() {
|
|
Status s=new Status();
|
|
Status s=new Status();
|
|
- s.istPosition = curPos;
|
|
|
|
|
|
+ s.istPosition = (int) curPos;
|
|
s.enabled = true;
|
|
s.enabled = true;
|
|
return CompletableFuture.completedFuture(s);
|
|
return CompletableFuture.completedFuture(s);
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
@Override
|
|
@Override
|
|
public void bereitschaft() {
|
|
public void bereitschaft() {
|
|
logger.info("bereitschaft");
|
|
logger.info("bereitschaft");
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|