diff --git a/src/de/c3seidenstrasse/networkcontroller/communication/SssMessageProcessor.java b/src/de/c3seidenstrasse/networkcontroller/communication/SssMessageProcessor.java index c10880c..471dec0 100644 --- a/src/de/c3seidenstrasse/networkcontroller/communication/SssMessageProcessor.java +++ b/src/de/c3seidenstrasse/networkcontroller/communication/SssMessageProcessor.java @@ -2,8 +2,10 @@ import de.c3seidenstrasse.networkcontroller.network.AirSupplier; import de.c3seidenstrasse.networkcontroller.network.NetworkComponent; +import de.c3seidenstrasse.networkcontroller.route.Message; import de.c3seidenstrasse.networkcontroller.route.Network; import de.c3seidenstrasse.networkcontroller.route.Transport; +import de.c3seidenstrasse.networkcontroller.route.Message.MessageType; import de.c3seidenstrasse.networkcontroller.utils.RouteNotFoundException; import javafx.application.Platform; @@ -18,62 +20,55 @@ public class SssMessageProcessor implements Runnable { @Override public void run() { - System.out.println("MSG: " + this.message[0]); - System.out.println("SRC: " + this.message[1]); - System.out.println("DST: " + this.message[2]); - System.out.println("PL1: " + this.message[3]); + Message messageObject = new Message(this.message, true); Platform.runLater(() -> { - this.n.saveBusToList(this.message, true); + System.out.println(messageObject); + this.n.saveBusToList(messageObject); }); if (this.message[1] == AirSupplier.CHANGER_ID) { // delegate message to AirSupplier this.n.getAirsupplier().messageRecieved(this.message[0], this.message[1], this.message[3]); return; } - switch (this.message[0]) { - case 0x00: - // Kapsel erkannt + + switch (messageObject.getType()) { + case DETECT: final NetworkComponent nc = this.n.getNodeById((int) this.message[1]); nc.capsulePassed(); break; - case 0x01: - // Verbindung herstellen + case CONNECT: // verwerfen break; - case 0x02: - // Verbindung wurde hergestellt + case CONNECTED: + // final NetworkComponent nc1 = this.n.getNodeById((int) this.message[1]); nc1.setCurrentExit((int) this.message[3]); break; - case 0x03: - // Anforderung direkter Transfer + case REQUEST: + // final NetworkComponent src = this.n.getNodeById((int) this.message[1]); final NetworkComponent dst = this.n.getNodeById((int) this.message[3]); try { final Transport t = new Transport(src, dst); this.n.addTransport(t); - final byte[] message = { 0x05, 0x00, this.message[1], this.message[3], 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - this.n.send(message); + // FIXME not sure if the start should go into byte 1 or 2, so I put it into both bytes. + this.n.send(new Message(MessageType.ACK_ROUTE, this.message[1], this.message[1], this.message[3])); + } catch (final RouteNotFoundException e) { // forget it e.printStackTrace(); } break; - case 0x04: - // Anforderung Barcode Transfer + case DUMMY_4: // TODO implement barcode transfer break; - case 0x05: - // Best�tigung Transfer + case ACK_ROUTE: // verwerfen break; - case 0x06: - // Transfer Start + case STARTED: // verwerfen break; - case 0x07: - // Barcode gelesen + case BARCODE: // TODO implement barcode transfer break; } diff --git a/src/de/c3seidenstrasse/networkcontroller/gui/NetworkScreen.fxml b/src/de/c3seidenstrasse/networkcontroller/gui/NetworkScreen.fxml index abfa260..b62e169 100644 --- a/src/de/c3seidenstrasse/networkcontroller/gui/NetworkScreen.fxml +++ b/src/de/c3seidenstrasse/networkcontroller/gui/NetworkScreen.fxml @@ -7,7 +7,7 @@ - + @@ -22,23 +22,23 @@