diff --git a/Praktikum/VINF_MaerklinControl/.classpath b/Praktikum/VINF_MaerklinControl/.classpath index ef0f0db4af6180ed5196999f319a0c944249c726..423fc1c028e9c1fd9775f261ca668d3c11307374 100644 --- a/Praktikum/VINF_MaerklinControl/.classpath +++ b/Praktikum/VINF_MaerklinControl/.classpath @@ -1,8 +1,8 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="src" path="src"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> - <classpathentry kind="con" path="org.eclipse.fx.ide.jdt.core.JAVAFX_CONTAINER"/> - <classpathentry kind="lib" path="/home/lukas/VInf/Praktikum/VINF_MaerklinControl/controlsfx-8.40.12.jar"/> - <classpathentry kind="output" path="bin"/> -</classpath> +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> + <classpathentry kind="con" path="org.eclipse.fx.ide.jdt.core.JAVAFX_CONTAINER"/> + <classpathentry kind="lib" path="D:/Users/Philipp/gitlab/VInf/Praktikum/VINF_MaerklinControl/controlsfx-8.40.12.jar"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/Praktikum/VINF_MaerklinControl/.gitignore b/Praktikum/VINF_MaerklinControl/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..84c048a73cc2e5dd24f807669eb99b0ce3123195 --- /dev/null +++ b/Praktikum/VINF_MaerklinControl/.gitignore @@ -0,0 +1 @@ +/build/ diff --git a/Praktikum/VINF_MaerklinControl/bin/.gitignore b/Praktikum/VINF_MaerklinControl/bin/.gitignore index d0380dd1b383afcf938027633d2902f4e14690f3..c14b100539d33e27c566ee63e8f25be8379cf169 100644 --- a/Praktikum/VINF_MaerklinControl/bin/.gitignore +++ b/Praktikum/VINF_MaerklinControl/bin/.gitignore @@ -1,2 +1 @@ /gui/ -/server/ diff --git a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection$1.class b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection$1.class index 8c7406566956bc80f1591fbdb997baa29832d085..91a92d0511ba80da321a112ff9c9f46348ff5281 100644 Binary files a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection$1.class and b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection$1.class differ diff --git a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection$2.class b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection$2.class index 52b295989212a8cf50796042d80b93876beca142..824dae680925b6eeb32b9d0a9c62a3b97b954c79 100644 Binary files a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection$2.class and b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection$2.class differ diff --git a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection$3.class b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection$3.class index cc66112a4c85e7c1f47ce261361bbb793688f443..744366b7f03a08ef18d230db577a5c1456acb36d 100644 Binary files a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection$3.class and b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection$3.class differ diff --git a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection.class b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection.class index 0339784c9952b60e7239ff861176ccc43b5e1439..7e71f251611ed0d532eefdea856567f20da664fb 100644 Binary files a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection.class and b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection.class differ diff --git a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$UpdateFunctionality$1.class b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$UpdateFunctionality$1.class index 8c037974b5e8340892e397a3122f397e185e4519..86accba0c001ecc868558a047b7eb9c9133b916b 100644 Binary files a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$UpdateFunctionality$1.class and b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$UpdateFunctionality$1.class differ diff --git a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$UpdateFunctionality.class b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$UpdateFunctionality.class index 524bad0156be456637d6d9385a366b90d6275a41..d4dd5a8184f3066f63fae0511990b93ae30dab75 100644 Binary files a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$UpdateFunctionality.class and b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$UpdateFunctionality.class differ diff --git a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp.class b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp.class index 36a9f37d398b91874658fe206feaf3874f7f2eab..9c912940a43206d9b74ab2466c61498d4886fb68 100644 Binary files a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp.class and b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp.class differ diff --git a/Praktikum/VINF_MaerklinControl/bin/gui/view/EngineController.class b/Praktikum/VINF_MaerklinControl/bin/gui/view/EngineController.class index 0923efc00374208b57eb94f6414e4750bfeda6a7..06031cbb88424aba6ae1302ab7dd6d0f0982b52e 100644 Binary files a/Praktikum/VINF_MaerklinControl/bin/gui/view/EngineController.class and b/Praktikum/VINF_MaerklinControl/bin/gui/view/EngineController.class differ diff --git a/Praktikum/VINF_MaerklinControl/build/build.xml b/Praktikum/VINF_MaerklinControl/build/build.xml index e4b798a61000ce54533f3758edbefaa37c2af86e..2c02d90adb7e02148433f939c391a2ed488f76c9 100644 --- a/Praktikum/VINF_MaerklinControl/build/build.xml +++ b/Praktikum/VINF_MaerklinControl/build/build.xml @@ -97,15 +97,14 @@ <fx:application id="fxApplication" name="Märklin Control" mainClass="gui.MainApp" - toolkit="fx" - version="0.9" + version="1.0" /> <mkdir dir="build/classes/META-INF" /> - <fx:jar destfile="dist/VINF_MaerklinControl.jar"> + <fx:jar destfile="dist/Märklin Control.jar"> <fx:application refid="fxApplication"/> <fileset dir="build/classes"> </fileset> @@ -114,7 +113,7 @@ <manifest> <attribute name="Implementation-Vendor" value="lf.ps"/> <attribute name="Implementation-Title" value="Märklin Control"/> - <attribute name="Implementation-Version" value="0.9"/> + <attribute name="Implementation-Version" value="1.0"/> <attribute name="JavaFX-Feature-Proxy" value="None"/> </manifest> </fx:jar> @@ -128,11 +127,11 @@ includeDT="false" offlineAllowed="true" outdir="${basedir}/deploy" - outfile="VINF_MaerklinControl" nativeBundles="exe" + outfile="Märklin Control" nativeBundles="exe" updatemode="background" > <fx:platform basedir="${java.home}"/> - <fx:info title="VINF_MaerklinControl" vendor="lf.ps"/> + <fx:info title="Märklin Control" vendor="lf.ps"/> <fx:application refId="fxApplication"/> <fx:resources refid="appRes"/> diff --git a/Praktikum/VINF_MaerklinControl/build/build/classes/gui/MainApp$EstablishConnection$1.class b/Praktikum/VINF_MaerklinControl/build/build/classes/gui/MainApp$EstablishConnection$1.class index d5f15fd46ccfafc40f45e68790d96cb914a6c91e..4bdd9299a33754aa78397bd9350beed669ed07de 100644 Binary files a/Praktikum/VINF_MaerklinControl/build/build/classes/gui/MainApp$EstablishConnection$1.class and b/Praktikum/VINF_MaerklinControl/build/build/classes/gui/MainApp$EstablishConnection$1.class differ diff --git a/Praktikum/VINF_MaerklinControl/build/build/classes/gui/MainApp$EstablishConnection$2.class b/Praktikum/VINF_MaerklinControl/build/build/classes/gui/MainApp$EstablishConnection$2.class index 73188c27211a468413b13f48a6c4394abb4fdf44..86c5410b96076e97a3ba66e2076558655813ac58 100644 Binary files a/Praktikum/VINF_MaerklinControl/build/build/classes/gui/MainApp$EstablishConnection$2.class and b/Praktikum/VINF_MaerklinControl/build/build/classes/gui/MainApp$EstablishConnection$2.class differ diff --git a/Praktikum/VINF_MaerklinControl/build/build/classes/gui/MainApp$EstablishConnection.class b/Praktikum/VINF_MaerklinControl/build/build/classes/gui/MainApp$EstablishConnection.class index f4bcce177a7078ab7d667f3ceacd3a1da9de7f11..086baa0b446bdc09440de9a050bfb689e2073252 100644 Binary files a/Praktikum/VINF_MaerklinControl/build/build/classes/gui/MainApp$EstablishConnection.class and b/Praktikum/VINF_MaerklinControl/build/build/classes/gui/MainApp$EstablishConnection.class differ diff --git a/Praktikum/VINF_MaerklinControl/build/build/classes/gui/MainApp$UpdateFunctionality$1.class b/Praktikum/VINF_MaerklinControl/build/build/classes/gui/MainApp$UpdateFunctionality$1.class index 9dbbd302f47463dc5e2587663acdc501cfd03a96..2580206f497ac06291616d292ca66724f7225505 100644 Binary files a/Praktikum/VINF_MaerklinControl/build/build/classes/gui/MainApp$UpdateFunctionality$1.class and b/Praktikum/VINF_MaerklinControl/build/build/classes/gui/MainApp$UpdateFunctionality$1.class differ diff --git a/Praktikum/VINF_MaerklinControl/build/build/classes/gui/MainApp$UpdateFunctionality.class b/Praktikum/VINF_MaerklinControl/build/build/classes/gui/MainApp$UpdateFunctionality.class index 0e7045bc2524fa77577947ea1ddfe0f4fe972f02..3b79ecac1f50f073cd6befa07ce1f718a6bfa060 100644 Binary files a/Praktikum/VINF_MaerklinControl/build/build/classes/gui/MainApp$UpdateFunctionality.class and b/Praktikum/VINF_MaerklinControl/build/build/classes/gui/MainApp$UpdateFunctionality.class differ diff --git a/Praktikum/VINF_MaerklinControl/build/build/classes/gui/MainApp.class b/Praktikum/VINF_MaerklinControl/build/build/classes/gui/MainApp.class index 0d6c40cfaae235aca37aa634eda26d2ad458c620..fc73e783f3fcd5cb1f3668aadaa5e01949446949 100644 Binary files a/Praktikum/VINF_MaerklinControl/build/build/classes/gui/MainApp.class and b/Praktikum/VINF_MaerklinControl/build/build/classes/gui/MainApp.class differ diff --git a/Praktikum/VINF_MaerklinControl/build/build/classes/server/UDPListener.class b/Praktikum/VINF_MaerklinControl/build/build/classes/server/UDPListener.class index e989840483d3c4ae8c9a473e1b70aafbd203f084..98171f3ab58a3d3188d2cb9f6f0ee98cd1b8db25 100644 Binary files a/Praktikum/VINF_MaerklinControl/build/build/classes/server/UDPListener.class and b/Praktikum/VINF_MaerklinControl/build/build/classes/server/UDPListener.class differ diff --git a/Praktikum/VINF_MaerklinControl/build/build/src/gui/MainApp.java b/Praktikum/VINF_MaerklinControl/build/build/src/gui/MainApp.java index fc13d4868095e42e0f3b2e05a0c12f5a6cbb7165..992fdaa14ed01b5a760bdea09dded681eb701b61 100644 --- a/Praktikum/VINF_MaerklinControl/build/build/src/gui/MainApp.java +++ b/Praktikum/VINF_MaerklinControl/build/build/src/gui/MainApp.java @@ -7,8 +7,6 @@ import java.net.Socket; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; -import javax.xml.bind.DatatypeConverter; - import gui.model.Engine; import gui.model.Switch; import gui.model.Settings; @@ -306,7 +304,7 @@ public class MainApp extends Application { settingsController.updateSettingsStatus(); } catch (Exception e) { - setStatus("Error at: establishConnection (shutting down connection"); + setStatus("Error at: establishConnection (shutting down connection)"); e.printStackTrace(); } } @@ -323,9 +321,15 @@ public class MainApp extends Application { CONTROLLER_INSTANCE = controller; } + public void updateGUI () { + engineController.updateEngineStatus(); + for (Switch sw : switches){ + sw.getController().get().updateSwitchStatus(); + } + } + @Override public void run() { - Thread.yield(); if (!connectionEstablished) { try (Socket socket = new Socket(configuration.getSocketAddress().get().getHostName(), configuration.getSocketAddress().get().getPort())) { client = socket; @@ -346,22 +350,44 @@ public class MainApp extends Application { }); while (connectionEstablished) { - Thread.sleep(100); + Platform.runLater(new Runnable() { + + @Override + public void run() { + updateGUI(); + } + + }); + Thread.sleep(50); } } catch (Exception e) { + connectionEstablished = false; + running = false; Platform.runLater(new Runnable() { @Override public void run() { - CONTROLLER_INSTANCE.setStatus("Error at: establishConnection (establishing connection"); + CONTROLLER_INSTANCE.setStatus("Error at: establishConnection (establishing connection)"); + CONTROLLER_INSTANCE.settingsController.updateSettingsStatus(); } }); e.printStackTrace(); } finally { - CONTROLLER_INSTANCE.UTILITY_THREAD_EXECUTOR.shutdownNow(); + try { + byte[] datagram = {Properties.SEPERATOR, (byte) 0x00, (byte) 0x00, (byte) Properties.SESSION_ABORT, (byte) 0x00, (byte) 0x00}; + out.write(datagram); + client.close(); + connectionEstablished = false; + running = false; + settingsController.updateSettingsStatus(); + + } catch (Exception e) { + setStatus("Error at: establishConnection (shutting down connection)"); + e.printStackTrace(); + } } } } @@ -378,7 +404,7 @@ public class MainApp extends Application { } public void parseDatagram (byte[] datagram) { - System.out.println("2: "+DatatypeConverter.printHexBinary(datagram)); + //System.out.println("2: "+DatatypeConverter.printHexBinary(datagram)); if (datagram.length < 5) { setStatus("Error while updating!"); return; @@ -409,13 +435,6 @@ public class MainApp extends Application { } } - public void updateGUI () { - engineController.updateEngineStatus(); - for (Switch sw : switches){ - sw.getController().get().updateSwitchStatus(); - } - } - @Override public void run() { int stopCounter, dataCounter, counter; @@ -445,7 +464,7 @@ public class MainApp extends Application { for (int i = 0; i < Properties.IN_BUFFER_SIZE; i++) { datagram[i] = buffer[counter-Properties.IN_BUFFER_SIZE+i+1]; } - System.out.println("1: "+DatatypeConverter.printHexBinary(datagram)); + //System.out.println("1: "+DatatypeConverter.printHexBinary(datagram)); parseDatagram(datagram); } else if (dataCounter > 5 && startByte) { @@ -457,14 +476,6 @@ public class MainApp extends Application { while (INPUT_STREAM.available() != 0) { INPUT_STREAM.read(); } - Platform.runLater(new Runnable() { - - @Override - public void run() { - updateGUI(); - } - - }); Thread.sleep(50); } } diff --git a/Praktikum/VINF_MaerklinControl/build/build/src/server/UDPListener.java b/Praktikum/VINF_MaerklinControl/build/build/src/server/UDPListener.java index 0563ea5fa357bd093b18b96b28b25408bf8b7f23..e2d66c56b28c07eef70e15d8cbf8849c352cc792 100644 --- a/Praktikum/VINF_MaerklinControl/build/build/src/server/UDPListener.java +++ b/Praktikum/VINF_MaerklinControl/build/build/src/server/UDPListener.java @@ -7,12 +7,16 @@ import javax.xml.bind.DatatypeConverter; public class UDPListener implements Runnable{ + // Defining the size of the datagrams received from the Maerklin-control-station + public final static int MAERKLIN_DATAGRAM_SIZE = 13; + + // Listener-port private final static int port = 15730; - private byte[] in = new byte[13]; + private byte[] in; public UDPListener(){ - // Nothing to do... + in = new byte[MAERKLIN_DATAGRAM_SIZE]; } public void listen(){ @@ -97,7 +101,7 @@ public class UDPListener implements Runnable{ for (Engine train : Engine.engines){ if (train.getEngineID() == getAddress()){ train.engineSpeed = getEngineSpeed(); - //System.out.println("Speed of Engine "+train.getEngineID()+" changed to "+train.getEngineSpeed()); + System.out.println("Speed of Engine "+train.getEngineID()+" changed to "+train.getEngineSpeed()); break; } } @@ -106,7 +110,8 @@ public class UDPListener implements Runnable{ for (Engine train : Engine.engines){ if (train.getEngineID() == getAddress()){ train.engineDirection = getEngineDirection(); - //System.out.println("Direction of Engine "+train.getEngineID()+" changed to "+train.getEngineDirection()); + train.engineSpeed = 0; + System.out.println("Direction of Engine "+train.getEngineID()+" changed to "+train.getEngineDirection()); break; } } @@ -115,7 +120,7 @@ public class UDPListener implements Runnable{ for (Switch sw : Switch.switches){ if (sw.getSwitchID() == getAddress()){ sw.switchDirection = getEngineDirection(); - //System.out.println("Direction of Switch "+sw.getSwitchID()+" changed to "+sw.getSwitchDirection()); + System.out.println("Direction of Switch "+sw.getSwitchID()+" changed to "+sw.getSwitchDirection()); break; } } diff --git a/Praktikum/VINF_MaerklinControl/build/deploy/VINF_MaerklinControl.jar b/Praktikum/VINF_MaerklinControl/build/deploy/VINF_MaerklinControl.jar index eef9eff31d7e45750a5e98aa91e50f3936ac93ab..df341d1d5d2c2d6a752541e6866a6a224d47f1d0 100644 Binary files a/Praktikum/VINF_MaerklinControl/build/deploy/VINF_MaerklinControl.jar and b/Praktikum/VINF_MaerklinControl/build/deploy/VINF_MaerklinControl.jar differ diff --git a/Praktikum/VINF_MaerklinControl/build/deploy/VINF_MaerklinControl.jnlp b/Praktikum/VINF_MaerklinControl/build/deploy/VINF_MaerklinControl.jnlp index 3ab857f01d6515f467880fcb681e6964f935ab30..2b4c625462731d61ec9bff0888d3abecc554cdd1 100644 --- a/Praktikum/VINF_MaerklinControl/build/deploy/VINF_MaerklinControl.jnlp +++ b/Praktikum/VINF_MaerklinControl/build/deploy/VINF_MaerklinControl.jnlp @@ -8,7 +8,7 @@ </information> <resources> <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/> - <jar href="VINF_MaerklinControl.jar" size="38833" download="eager" /> + <jar href="VINF_MaerklinControl.jar" size="39342" download="eager" /> <jar href="libs\controlsfx-8.40.12.jar" size="996389" download="eager" /> </resources> <jfx:javafx-desc width="0" height="0" main-class="gui.MainApp" name="M�rklin Control" /> diff --git a/Praktikum/VINF_MaerklinControl/build/project/src/gui/MainApp.java b/Praktikum/VINF_MaerklinControl/build/project/src/gui/MainApp.java index fc13d4868095e42e0f3b2e05a0c12f5a6cbb7165..992fdaa14ed01b5a760bdea09dded681eb701b61 100644 --- a/Praktikum/VINF_MaerklinControl/build/project/src/gui/MainApp.java +++ b/Praktikum/VINF_MaerklinControl/build/project/src/gui/MainApp.java @@ -7,8 +7,6 @@ import java.net.Socket; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; -import javax.xml.bind.DatatypeConverter; - import gui.model.Engine; import gui.model.Switch; import gui.model.Settings; @@ -306,7 +304,7 @@ public class MainApp extends Application { settingsController.updateSettingsStatus(); } catch (Exception e) { - setStatus("Error at: establishConnection (shutting down connection"); + setStatus("Error at: establishConnection (shutting down connection)"); e.printStackTrace(); } } @@ -323,9 +321,15 @@ public class MainApp extends Application { CONTROLLER_INSTANCE = controller; } + public void updateGUI () { + engineController.updateEngineStatus(); + for (Switch sw : switches){ + sw.getController().get().updateSwitchStatus(); + } + } + @Override public void run() { - Thread.yield(); if (!connectionEstablished) { try (Socket socket = new Socket(configuration.getSocketAddress().get().getHostName(), configuration.getSocketAddress().get().getPort())) { client = socket; @@ -346,22 +350,44 @@ public class MainApp extends Application { }); while (connectionEstablished) { - Thread.sleep(100); + Platform.runLater(new Runnable() { + + @Override + public void run() { + updateGUI(); + } + + }); + Thread.sleep(50); } } catch (Exception e) { + connectionEstablished = false; + running = false; Platform.runLater(new Runnable() { @Override public void run() { - CONTROLLER_INSTANCE.setStatus("Error at: establishConnection (establishing connection"); + CONTROLLER_INSTANCE.setStatus("Error at: establishConnection (establishing connection)"); + CONTROLLER_INSTANCE.settingsController.updateSettingsStatus(); } }); e.printStackTrace(); } finally { - CONTROLLER_INSTANCE.UTILITY_THREAD_EXECUTOR.shutdownNow(); + try { + byte[] datagram = {Properties.SEPERATOR, (byte) 0x00, (byte) 0x00, (byte) Properties.SESSION_ABORT, (byte) 0x00, (byte) 0x00}; + out.write(datagram); + client.close(); + connectionEstablished = false; + running = false; + settingsController.updateSettingsStatus(); + + } catch (Exception e) { + setStatus("Error at: establishConnection (shutting down connection)"); + e.printStackTrace(); + } } } } @@ -378,7 +404,7 @@ public class MainApp extends Application { } public void parseDatagram (byte[] datagram) { - System.out.println("2: "+DatatypeConverter.printHexBinary(datagram)); + //System.out.println("2: "+DatatypeConverter.printHexBinary(datagram)); if (datagram.length < 5) { setStatus("Error while updating!"); return; @@ -409,13 +435,6 @@ public class MainApp extends Application { } } - public void updateGUI () { - engineController.updateEngineStatus(); - for (Switch sw : switches){ - sw.getController().get().updateSwitchStatus(); - } - } - @Override public void run() { int stopCounter, dataCounter, counter; @@ -445,7 +464,7 @@ public class MainApp extends Application { for (int i = 0; i < Properties.IN_BUFFER_SIZE; i++) { datagram[i] = buffer[counter-Properties.IN_BUFFER_SIZE+i+1]; } - System.out.println("1: "+DatatypeConverter.printHexBinary(datagram)); + //System.out.println("1: "+DatatypeConverter.printHexBinary(datagram)); parseDatagram(datagram); } else if (dataCounter > 5 && startByte) { @@ -457,14 +476,6 @@ public class MainApp extends Application { while (INPUT_STREAM.available() != 0) { INPUT_STREAM.read(); } - Platform.runLater(new Runnable() { - - @Override - public void run() { - updateGUI(); - } - - }); Thread.sleep(50); } } diff --git a/Praktikum/VINF_MaerklinControl/build/project/src/server/UDPListener.java b/Praktikum/VINF_MaerklinControl/build/project/src/server/UDPListener.java index 0563ea5fa357bd093b18b96b28b25408bf8b7f23..0a5c2456a5a7162a3a3c2f9d7faa3968fbcaa613 100644 --- a/Praktikum/VINF_MaerklinControl/build/project/src/server/UDPListener.java +++ b/Praktikum/VINF_MaerklinControl/build/project/src/server/UDPListener.java @@ -7,12 +7,16 @@ import javax.xml.bind.DatatypeConverter; public class UDPListener implements Runnable{ + // Defining the size of the datagrams received from the Maerklin-control-station + public final static int MAERKLIN_DATAGRAM_SIZE = 13; + + // Listener-port private final static int port = 15730; - private byte[] in = new byte[13]; + private byte[] in; public UDPListener(){ - // Nothing to do... + in = new byte[MAERKLIN_DATAGRAM_SIZE]; } public void listen(){ @@ -97,7 +101,7 @@ public class UDPListener implements Runnable{ for (Engine train : Engine.engines){ if (train.getEngineID() == getAddress()){ train.engineSpeed = getEngineSpeed(); - //System.out.println("Speed of Engine "+train.getEngineID()+" changed to "+train.getEngineSpeed()); + // System.out.println("Speed of Engine "+train.getEngineID()+" changed to "+train.getEngineSpeed()); break; } } @@ -106,7 +110,8 @@ public class UDPListener implements Runnable{ for (Engine train : Engine.engines){ if (train.getEngineID() == getAddress()){ train.engineDirection = getEngineDirection(); - //System.out.println("Direction of Engine "+train.getEngineID()+" changed to "+train.getEngineDirection()); + train.engineSpeed = 0; + // System.out.println("Direction of Engine "+train.getEngineID()+" changed to "+train.getEngineDirection()); break; } } @@ -115,7 +120,7 @@ public class UDPListener implements Runnable{ for (Switch sw : Switch.switches){ if (sw.getSwitchID() == getAddress()){ sw.switchDirection = getEngineDirection(); - //System.out.println("Direction of Switch "+sw.getSwitchID()+" changed to "+sw.getSwitchDirection()); + // System.out.println("Direction of Switch "+sw.getSwitchID()+" changed to "+sw.getSwitchDirection()); break; } } diff --git a/Praktikum/VINF_MaerklinControl/doc/documentation/Benutzerhandbuch.docx b/Praktikum/VINF_MaerklinControl/doc/documentation/Benutzerhandbuch.docx new file mode 100644 index 0000000000000000000000000000000000000000..759ba2fc9a073fcb9c24d32c09209182c02384e1 Binary files /dev/null and b/Praktikum/VINF_MaerklinControl/doc/documentation/Benutzerhandbuch.docx differ diff --git a/Praktikum/VINF_MaerklinControl/doc/documentation/Benutzerhandbuch.pdf b/Praktikum/VINF_MaerklinControl/doc/documentation/Benutzerhandbuch.pdf new file mode 100644 index 0000000000000000000000000000000000000000..94e77a2bc56c5d8ef4fc6e5aa3d00363003e2c56 Binary files /dev/null and b/Praktikum/VINF_MaerklinControl/doc/documentation/Benutzerhandbuch.pdf differ diff --git "a/Praktikum/VINF_MaerklinControl/doc/presentation/~$Pr\303\244sentation M\303\244rklin Control.pptx" "b/Praktikum/VINF_MaerklinControl/doc/presentation/~$Pr\303\244sentation M\303\244rklin Control.pptx" new file mode 100644 index 0000000000000000000000000000000000000000..b8926b8a9ba43cc60737e9485137739c72879b2d Binary files /dev/null and "b/Praktikum/VINF_MaerklinControl/doc/presentation/~$Pr\303\244sentation M\303\244rklin Control.pptx" differ diff --git a/Praktikum/VINF_MaerklinControl/src/gui/MainApp.java b/Praktikum/VINF_MaerklinControl/src/gui/MainApp.java index c826dfc5cfcdae44199cda06a011cda31dc34af7..992fdaa14ed01b5a760bdea09dded681eb701b61 100644 --- a/Praktikum/VINF_MaerklinControl/src/gui/MainApp.java +++ b/Praktikum/VINF_MaerklinControl/src/gui/MainApp.java @@ -7,8 +7,6 @@ import java.net.Socket; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; -import javax.xml.bind.DatatypeConverter; - import gui.model.Engine; import gui.model.Switch; import gui.model.Settings; @@ -102,7 +100,7 @@ public class MainApp extends Application { @Override public void start(Stage primaryStage) { this.primaryStage = primaryStage; - this.primaryStage.setTitle("M�rklin Control Client"); + this.primaryStage.setTitle("M�rklin Control Client"); this.primaryStage.getIcons().add(new Image("file:res/BO.png")); initRootLayout(); initTabs();