|
@@ -0,0 +1,51 @@
|
|
|
+package at.acdp.urweb;
|
|
|
+
|
|
|
+import at.acdp.urweb.fhpp.IFHMaster;
|
|
|
+import at.acdp.urweb.fhpp.Status;
|
|
|
+import at.acdp.urweb.rtde.RTDEClient;
|
|
|
+import at.acdp.urweb.rtde.packets.RtdeInDataPackage;
|
|
|
+import at.acdp.urweb.rtde.packets.RtdeSetupInputs;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
+
|
|
|
+import java.io.IOException;
|
|
|
+import java.util.concurrent.CompletableFuture;
|
|
|
+
|
|
|
+public class PosThread implements Runnable{
|
|
|
+ private final static org.slf4j.Logger logger = LoggerFactory.getLogger(PosThread.class);
|
|
|
+
|
|
|
+ private final RTDEClient rtde;
|
|
|
+ private final IFHMaster fhm;
|
|
|
+ private Thread thread;
|
|
|
+ private volatile boolean _running=true;
|
|
|
+
|
|
|
+ public PosThread(RTDEClient r, IFHMaster fhm) {
|
|
|
+ this.rtde=r;
|
|
|
+ this.fhm=fhm;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void start() {
|
|
|
+ thread=new Thread(this);
|
|
|
+ thread.start();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ try {
|
|
|
+ var si=new RtdeSetupInputs()
|
|
|
+ .addVariable("input_int_register_24");
|
|
|
+ rtde.request(si);
|
|
|
+ while(_running) {
|
|
|
+ CompletableFuture<Status> s = fhm.readStatus();
|
|
|
+ Status ss=s.join();
|
|
|
+ var pos=new RtdeInDataPackage(si);
|
|
|
+ pos.put("input_int_register_24", String.valueOf(ss.istPosition));
|
|
|
+ rtde.request(pos);
|
|
|
+ Thread.sleep(100);
|
|
|
+ }
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ } catch (InterruptedException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|