diff --git a/src/tec/letsgoing/ardublock/simulator/Simulator.java b/src/tec/letsgoing/ardublock/simulator/Simulator.java index 6d6cfd4a261199a9f6d5a8520af2c8a270469b5a..29f3a5f5df6769a7ca5efe5e732c001228be4122 100644 --- a/src/tec/letsgoing/ardublock/simulator/Simulator.java +++ b/src/tec/letsgoing/ardublock/simulator/Simulator.java @@ -27,14 +27,13 @@ import tec.letsgoing.ardublock.simulator.simcode.vars.CodeMillis; import tec.letsgoing.ardublock.simulator.view.GUI; /** - * Diese Klasse verwaltet alle Elemente des Simulators. Sie ist geschrieben als Singelton. - * Daher wird die Instanz über getInstance geholt und der Konstruktor ist private. + * Diese Klasse verwaltet alle Elemente des Simulators. Sie ist geschrieben als + * Singelton. Daher wird die Instanz über getInstance geholt und der Konstruktor + * ist private. * * - * Pinmapping: - * RGB: 9,10,11 - * Poti: A5 - * Button: 3,4,5 + * Pinmapping: RGB: 9,10,11 Poti: A5 Button: 3,4,5 + * * @author Lucas * * @@ -48,7 +47,7 @@ public class Simulator implements Runnable, ActionListener { private Thread simuThread; private Vector<SimCodeFunction> functionsCode = new Vector<SimCodeFunction>(); - + private Simulator() { createSubClasses(); } @@ -121,7 +120,7 @@ public class Simulator implements Runnable, ActionListener { arduino.errorAbort("Thread Überwachung gestört - Bitte Programm neustarten"); } } - Point locationWindow=gui.getLocation(); + Point locationWindow = gui.getLocation(); gui.stopThread(); gui.dispose(); @@ -204,20 +203,20 @@ public class Simulator implements Runnable, ActionListener { SimTypeString s2 = new SimTypeString(d1); CodeAdd s5 = new CodeAdd(d1, d5); - //testLoop.add(new CodeDigitalWrite(d2, b0)); - //testLoop.add(new CodeDelay(delay)); - //testLoop.add(new CodeDigitalWrite(d2, b1)); - //testLoop.add(new CodeDelay(delay)); + // testLoop.add(new CodeDigitalWrite(d2, b0)); + // testLoop.add(new CodeDelay(delay)); + // testLoop.add(new CodeDigitalWrite(d2, b1)); + // testLoop.add(new CodeDelay(delay)); Vector<SimCode> forVec = new Vector<SimCode>(); forVec.add(new CodeDigitalWrite(d3, b1)); forVec.add(new CodeDelay(delay)); forVec.add(new CodeDigitalWrite(d3, b0)); forVec.add(new CodeDelay(delay)); - //testLoop.add(new CodeFor(d1, forVec)); - //testLoop.add(new CodeSerialPrint(new SimTypeString(new CodeMillis()), b1)); - testLoop.add(new CodeSerialPrint(new SimTypeString(new CodeAnalogRead(d5)),b1)); - testLoop.add(new CodeAnalogWrite(d9,new SimTypeInt(new CodeAnalogRead(d5)))); + // testLoop.add(new CodeFor(d1, forVec)); + // testLoop.add(new CodeSerialPrint(new SimTypeString(new CodeMillis()), b1)); + testLoop.add(new CodeSerialPrint(new SimTypeString(new CodeAnalogRead(d5)), b1)); + testLoop.add(new CodeAnalogWrite(d9, new SimTypeInt(new CodeAnalogRead(d5)))); testLoop.add(new CodeDelay(delay)); SimCodeFunction setupCode = new SimCodeFunction("setup", testSetup); diff --git a/src/tec/letsgoing/ardublock/simulator/arduino/Arduino.java b/src/tec/letsgoing/ardublock/simulator/arduino/Arduino.java index e9939a2eaea3c150eff8b6006850883918c614c9..23d4564b9744dfcfb5fab69016bd9c4883ffd852 100644 --- a/src/tec/letsgoing/ardublock/simulator/arduino/Arduino.java +++ b/src/tec/letsgoing/ardublock/simulator/arduino/Arduino.java @@ -11,7 +11,9 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; import tec.letsgoing.ardublock.simulator.view.GUI; /** - * Diese Klasse hält die Daten eines "virtuellen" Arduinos und verwaltet die Hardware + * Diese Klasse hält die Daten eines "virtuellen" Arduinos und verwaltet die + * Hardware + * * @author Lucas * * @@ -40,7 +42,7 @@ public class Arduino { public boolean setVariable(String _name, SimCode _value) { for (Variable var : vars) { - if (var.getName() == _name) { + if (var.getName().equals(_name)) { var.setValue(_value); return true; } @@ -52,7 +54,7 @@ public class Arduino { public SimCode readVariable(String _name) { for (Variable var : vars) { - if (var.getName() == _name) { + if (var.getName().equals(_name)) { return var.getValue(); } @@ -115,14 +117,14 @@ public class Arduino { } return true; } - + public void resetFunctions() { functions.clear(); } public void serialPrint(String content) { if (!stopFlag) { - gui.serialPrint(content); + gui.serialPrint(content); } } @@ -157,7 +159,7 @@ public class Arduino { } public void errorAbort(String error) { - this.serialPrint("Fehler im Programm: " + error + " - Programm wird beendet"); + this.serialPrint("Fehler im Programm: " + error + " - Programm wird beendet\n"); this.setStop(true); this.getPin(20).setValue(0); } diff --git a/src/tec/letsgoing/ardublock/simulator/arduino/Pin.java b/src/tec/letsgoing/ardublock/simulator/arduino/Pin.java index c24d32a23eb568c49d5d83dc8cd0d2095375dbc8..c27174e69cd8942641336ce6cb700d4827b7807c 100644 --- a/src/tec/letsgoing/ardublock/simulator/arduino/Pin.java +++ b/src/tec/letsgoing/ardublock/simulator/arduino/Pin.java @@ -8,13 +8,14 @@ import java.util.Observer; /** * Diese Klasse ist für einen Pin auf dem Arduino + * * @author Lucas * * * */ public class Pin extends Observable { - //FIXME Java 8 oder 11? + // FIXME Java 8 oder 11? private int value = 0; private boolean mode = false; // false == Input, true==Output diff --git a/src/tec/letsgoing/ardublock/simulator/arduino/Variable.java b/src/tec/letsgoing/ardublock/simulator/arduino/Variable.java index 22fdba87f6c770dc7152b586fde7629af8da3c4f..ed7de1732a8fd7c122a146c2b591e5ef32ee94ce 100644 --- a/src/tec/letsgoing/ardublock/simulator/arduino/Variable.java +++ b/src/tec/letsgoing/ardublock/simulator/arduino/Variable.java @@ -6,7 +6,9 @@ package tec.letsgoing.ardublock.simulator.arduino; import tec.letsgoing.ardublock.simulator.simcode.SimCode; /** - * Diese Klasse speichert eine Variable und stellt diese über Operationen zur Verfügung + * Diese Klasse speichert eine Variable und stellt diese über Operationen zur + * Verfügung + * * @author Lucas * * diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/SimCode.java b/src/tec/letsgoing/ardublock/simulator/simcode/SimCode.java index f607486a50046699419a9bb81c236b7094f794f3..556a2c1f471a31d87895bd1ae35cc768c67adb14 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/SimCode.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/SimCode.java @@ -8,8 +8,9 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * - * Jedes Codeelement erbt von dieser dieser Klasse. - * Durch die run()-Methode kann jedes Code-Objekt ausgeführt werden. + * Jedes Codeelement erbt von dieser dieser Klasse. Durch die run()-Methode kann + * jedes Code-Objekt ausgeführt werden. + * * @author Lucas * * diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/comm/CodeConnectString.java b/src/tec/letsgoing/ardublock/simulator/simcode/comm/CodeConnectString.java index 32c821df7f45b97b46bbfc90710bd1281481efcf..0c0ba28845a3cdbf5bb8674c93c39300c43b9424 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/comm/CodeConnectString.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/comm/CodeConnectString.java @@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * Verbinde einen beliebigen Block mit einer Zeichenkette + * * @author Lucas * * @@ -27,7 +28,7 @@ public class CodeConnectString extends SimCode { @Override public SimTypeString run(Arduino _arduino, SimCodeFunction functionHead) { - out = "" + block1.run(_arduino, functionHead) + block2.run(_arduino, functionHead); + out = "" + block1.run(_arduino, functionHead).toString() + block2.run(_arduino, functionHead).toString(); return new SimTypeString(out); } diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/comm/CodeSerialPrint.java b/src/tec/letsgoing/ardublock/simulator/simcode/comm/CodeSerialPrint.java index 2e43fff8c8443716f016153952516989e4f9140d..df1cc91ce29cf47cfac088aed48287e8c75c9e23 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/comm/CodeSerialPrint.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/comm/CodeSerialPrint.java @@ -11,6 +11,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * Sende Nachricht via Serial + * * @author Lucas * * diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeDelay.java b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeDelay.java index f62e7d7671128451c03f057da84db1ea827e3202..c9956a411f0555d36a135cfe8a12675021230125 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeDelay.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeDelay.java @@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * Warte Millisekunden. + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeElse.java b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeElse.java index f506535ab8ed64ab2cd576606caaa65ec4ad6cd4..5fa421263b32c09ca4edf648db187376a3eb2aab 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeElse.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeElse.java @@ -11,7 +11,9 @@ import tec.letsgoing.ardublock.simulator.simcode.datatypes.SimTypeIf; import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** - * Führe Befehle aus, falls "falls"-Block FALSCH (und evtl. "sonst falls"-Block) sind. + * Führe Befehle aus, falls "falls"-Block FALSCH (und evtl. "sonst falls"-Block) + * sind. + * * @author Lucas * */ @@ -37,5 +39,4 @@ public class CodeElse extends SimTypeIf { return null; } - } diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeElseIf.java b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeElseIf.java index e342fc22243d5625e366886b76c84eb82a5945d2..dd6fef6dc4aea21a7d146bc80662c3c71a37a1c9 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeElseIf.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeElseIf.java @@ -13,6 +13,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * Führe die Befehle aus wenn falls-Block FALSCH ist und Bedingung WAHR ist. + * * @author Lucas * */ @@ -21,7 +22,7 @@ public class CodeElseIf extends SimTypeIf { private SimTypeBool condition; private Vector<SimCode> codeBlocks; - public CodeElseIf(SimTypeIf _follow,SimTypeBool _condition, Vector<SimCode> _vec) { + public CodeElseIf(SimTypeIf _follow, SimTypeBool _condition, Vector<SimCode> _vec) { follow = _follow; condition = _condition; codeBlocks = _vec; @@ -42,7 +43,6 @@ public class CodeElseIf extends SimTypeIf { } } - @Override public String toString() { return null; diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeFor.java b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeFor.java index 6b3ffdcd3c6c0839150ce48a85549d3c0a8f6125..3ed8ae1cd4cf23d718c77594e9cca642bfc61768 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeFor.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeFor.java @@ -13,6 +13,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * * Wiederhole die Befehle x-mal. + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeForCount.java b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeForCount.java index 2c5588fd28fb97a3743e5ff1df3025af96e866f5..86854d3e23dc9935b235fb6ecba10da231692979 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeForCount.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeForCount.java @@ -12,7 +12,9 @@ import tec.letsgoing.ardublock.simulator.simcode.datatypes.SimTypeString; import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** - * Wiederhole die Befehle x-mal. Die Wiederholungen werden in der Variable gespeichert. + * Wiederhole die Befehle x-mal. Die Wiederholungen werden in der Variable + * gespeichert. + * * @author Lucas * */ @@ -29,6 +31,7 @@ public class CodeForCount extends SimCode { @Override public SimCode run(Arduino _arduino, SimCodeFunction functionHead) { + // TODO delete Var after completion functionHead.createVariable(varname.toString(), new SimTypeInt(0)); for (int i = 0; i < count.run(_arduino, functionHead).getValue(); i++) { functionHead.setVariable(varname.toString(), new SimTypeInt(i)); diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeIf.java b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeIf.java index 1013aca58657d6a1bfc4273f93bdfd76b86f2eeb..0f8df71be1bfd1143034e84344b1252f4546dcb4 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeIf.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeIf.java @@ -13,6 +13,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * Führe Befehle aus, wenn die Bedingung WAHR ist. + * * @author Lucas * * @@ -22,7 +23,7 @@ public class CodeIf extends SimTypeIf { private SimTypeBool condition; private Vector<SimCode> codeBlocks; - public CodeIf(SimTypeIf _follow,SimTypeBool _condition, Vector<SimCode> _vec) { + public CodeIf(SimTypeIf _follow, SimTypeBool _condition, Vector<SimCode> _vec) { condition = _condition; codeBlocks = _vec; follow = _follow; @@ -38,13 +39,14 @@ public class CodeIf extends SimTypeIf { } return null;// True Case } else { - follow.run(_arduino, functionHead); + if (follow != null) { + follow.run(_arduino, functionHead); + } return null; // False Case } } - public String toString() { return null; } diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeWhile.java b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeWhile.java index db69ab1742fe27153a6fd1e5d9c5053315713157..a08883eea09635ffcdaf3d065dcd928d39ea4a97 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeWhile.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeWhile.java @@ -12,6 +12,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * Führe Befehle aus, solange die Bedingung WAHR ist. + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeWhileMillis.java b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeWhileMillis.java index 4347dba488e4dc332898f01ca35d3f9dd7f16a35..06e82d9d4a5a9afa1713a9061c754023e7a07b69 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeWhileMillis.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeWhileMillis.java @@ -12,7 +12,9 @@ import tec.letsgoing.ardublock.simulator.simcode.datatypes.SimTypeString; import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** - * Befehle ausserhalb von mache werden nur alle x-Millisekunden ausgeführt\nDie Startzeit jedes Durchgangs wird in der Variable gespeichert + * Befehle ausserhalb von mache werden nur alle x-Millisekunden ausgeführt\nDie + * Startzeit jedes Durchgangs wird in der Variable gespeichert + * * @author Lucas * */ @@ -29,10 +31,12 @@ public class CodeWhileMillis extends SimCode { @Override public SimCode run(Arduino _arduino, SimCodeFunction functionHead) { + // TODO Docu: Vergleich der Zeiten bis zum Überlauf zwischen C und Java functionHead.createVariable(varname.toString(), new SimTypeInt(_arduino.getMillis())); int startTime = _arduino.getMillis(); int dura = duration.run(_arduino, functionHead).getValue(); - while (startTime + dura < _arduino.getMillis()) { + while (startTime + dura > _arduino.getMillis()) { + for (SimCode block : blocks) { block.run(_arduino, functionHead); } diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/datatypes/SimTypeBool.java b/src/tec/letsgoing/ardublock/simulator/simcode/datatypes/SimTypeBool.java index 060a6a4f31c04929ab4db7f38e10d98759a319f8..ea4d2958f3c256b20d677497154ea1f44e758f1c 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/datatypes/SimTypeBool.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/datatypes/SimTypeBool.java @@ -9,6 +9,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * Klasse für einen BooldatenTyp + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/datatypes/SimTypeIf.java b/src/tec/letsgoing/ardublock/simulator/simcode/datatypes/SimTypeIf.java index 21612c26cc339e6c74ec0c2345e7d6ac82b2d0fd..3ab3d4866795ec1bdd78acdbec60510510e04b54 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/datatypes/SimTypeIf.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/datatypes/SimTypeIf.java @@ -9,6 +9,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * Unterklasse für die If-Codeblöcke + * * @author Lucas * * @@ -21,6 +22,5 @@ public abstract class SimTypeIf extends SimCode { @Override public abstract String toString(); - } diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/datatypes/SimTypeInt.java b/src/tec/letsgoing/ardublock/simulator/simcode/datatypes/SimTypeInt.java index a30a6ab228332af8e569f647b408cd2b07d87875..1c91f6325e1c4b840eb9634c69d272595a950084 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/datatypes/SimTypeInt.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/datatypes/SimTypeInt.java @@ -9,8 +9,9 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * Klasse für einen Int-Datentyp + * * @author Lucas - * + * */ public class SimTypeInt extends SimCode { private int value = 0; diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/datatypes/SimTypeString.java b/src/tec/letsgoing/ardublock/simulator/simcode/datatypes/SimTypeString.java index d9e94a10b63adb24cecab69087ce330c3c29333d..39fac7acb5dd89f6c40edb1edbb545ff7eb8e811 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/datatypes/SimTypeString.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/datatypes/SimTypeString.java @@ -9,6 +9,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * Klasse für einen Zeichenketten Datentyp + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/functions/CodeExecuteFunction.java b/src/tec/letsgoing/ardublock/simulator/simcode/functions/CodeExecuteFunction.java index 0cca8f745ec5b5829a56950c092ea945ae7e85fa..a0f876f8c871be8b9da88762a401e62b2e5e9aaa 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/functions/CodeExecuteFunction.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/functions/CodeExecuteFunction.java @@ -8,6 +8,7 @@ import tec.letsgoing.ardublock.simulator.simcode.SimCode; /** * Führt das Unterprogramm mit dem Namen aus. + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/functions/SimCodeFunction.java b/src/tec/letsgoing/ardublock/simulator/simcode/functions/SimCodeFunction.java index dbca6faef45af6e1eeb036d092f3a67c7b989f60..986b5cd7b93d7db7558be64f1ea5032eaf51cdb2 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/functions/SimCodeFunction.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/functions/SimCodeFunction.java @@ -11,10 +11,15 @@ import tec.letsgoing.ardublock.simulator.simcode.SimCode; /** * Erstellt ein Unterprogramm. - * @author Lucas * + * @author Lucas + * */ public class SimCodeFunction extends SimCode { + // FIXME Jede Variable ist "lokal" = dem nächst höheren Funktionsaufruf + // zugeordnet, während Ardublock global ist. + // FIXME Auch machen IF und While keine neuen Stacks auf sondern schieben Ihre + // Variabeln auch in den "Loop" Block private String name; private Vector<SimCode> codeBlocks = new Vector<SimCode>(); private Vector<Variable> vars = new Vector<Variable>(); @@ -29,9 +34,8 @@ public class SimCodeFunction extends SimCode { public SimCode run(Arduino _arduino, SimCodeFunction functionHead) { if (functionHead == null) { isMain = true; - this.arduino = _arduino; } - + this.arduino = _arduino; vars = new Vector<Variable>(); for (SimCode code : codeBlocks) { code.run(_arduino, this); @@ -54,7 +58,7 @@ public class SimCodeFunction extends SimCode { public boolean setVariable(String _name, SimCode _value) { for (Variable var : vars) { - if (var.getName() == _name) { + if (var.getName().equals(_name)) { var.setValue(_value); return true; } @@ -68,7 +72,7 @@ public class SimCodeFunction extends SimCode { public SimCode readVariable(String _name) { for (Variable var : vars) { - if (var.getName() == _name) { + if (var.getName().equals(_name)) { return var.getValue(); } } @@ -78,7 +82,6 @@ public class SimCodeFunction extends SimCode { @Override public String toString() { - // TODO Auto-generated method stub return null; } diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/io/CodeAnalogRead.java b/src/tec/letsgoing/ardublock/simulator/simcode/io/CodeAnalogRead.java index 1ccd9183397d0cecab01d2d9dcfae5af8b4eb570..27ba239f80cdedca4c96774db214a4ce07efb3ce 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/io/CodeAnalogRead.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/io/CodeAnalogRead.java @@ -10,7 +10,8 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * Liest den analogen Wert vom Pin [0V=0;5V=1023] - * @author Lucas + * + * @author Lucas * */ public class CodeAnalogRead extends SimCode { diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/io/CodeAnalogWrite.java b/src/tec/letsgoing/ardublock/simulator/simcode/io/CodeAnalogWrite.java index f7cf70118e9f6c908f65accff08d437a77e3ac90..974f531c67b5c5e6b5d1632a0aedc18311f935cc 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/io/CodeAnalogWrite.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/io/CodeAnalogWrite.java @@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * PWM-Ausgang Wert[0-255] zuweisen + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/io/CodeDigitalRead.java b/src/tec/letsgoing/ardublock/simulator/simcode/io/CodeDigitalRead.java index bbe6a2349fca4f1cfe321159f25d3e03a8656aa8..9d291e000fde9f55515c06f348ccba141b1f3369 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/io/CodeDigitalRead.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/io/CodeDigitalRead.java @@ -11,6 +11,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * Liest den digitalen Wert des Pins ein [HIGH/LOW] + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/io/CodeDigitalWrite.java b/src/tec/letsgoing/ardublock/simulator/simcode/io/CodeDigitalWrite.java index e1aa849402a92662ed8037d0f804fe1cc62ddea1..989930cef0140b030b6ebcc70173496b33ef9669 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/io/CodeDigitalWrite.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/io/CodeDigitalWrite.java @@ -11,6 +11,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * Ausgang eines digitalen Ausgangs festlegen (HIGH/LOW) + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeAND.java b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeAND.java index 6a1bff7fd7d88632441c681cd42d9713f989e3da..9af25c836a0441289bf4b897c1aff93ed79d802a 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeAND.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeAND.java @@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * WAHR wenn beide Bedingungen erfüllt sind. + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeBoolEqual.java b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeBoolEqual.java index 1e8c8d4bb874b906e1c9743e16d5031202c0a27d..a315e413fae160a1ea260641e757372fd507c2f0 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeBoolEqual.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeBoolEqual.java @@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * WAHR wenn die beiden Bool-Werte identisch sind. + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeBoolUnequal.java b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeBoolUnequal.java index 6760fc5d745401407eb388c0ab2f36196ece9903..13348356f1cddda4aba8671eedf9622118ea82ce 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeBoolUnequal.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeBoolUnequal.java @@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * WAHR wenn die beiden Bool-Werte ungleich sind + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntBigger.java b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntBigger.java index f9153e226846c51b7d7e24101d6c290e82ab71a5..76df1b61c62907029b9f5aff0e4eb1acc17a73b5 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntBigger.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntBigger.java @@ -11,6 +11,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * WAHR wenn der Erste Wert größer als der Zweite ist + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntBiggerEqual.java b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntBiggerEqual.java index 29a45f1ee175249c50cce07f739883e8706f28af..fcaf93e3c0a59ce946209d23d614b3d1e4f05c88 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntBiggerEqual.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntBiggerEqual.java @@ -11,6 +11,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * WAHR wenn der Erste Wert größer oder gleich wie der Zweite ist + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntEqual.java b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntEqual.java index 4ff5332c0f9f9c4cd4a641752b40aeb1da87c3dd..fde07fd1b1c0bb14fc9b42f4dc769e09670a18c7 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntEqual.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntEqual.java @@ -11,6 +11,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * WAHR wenn beide Int Werte gleich sind. + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntSmaller.java b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntSmaller.java index 548a91f551af43d9d9842f61b1c4f502b893b8bb..3ed785105eca05632074d59b9d2da04f3b11d32c 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntSmaller.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntSmaller.java @@ -11,6 +11,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * WAHR wenn der Erste Wert kleiner als der Zweite ist + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntSmallerEqual.java b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntSmallerEqual.java index 8ace12a5c9c2259d792a91798997ace38b9fbdeb..802586476c24af9ca567d193ae47835b39ea0805 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntSmallerEqual.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntSmallerEqual.java @@ -11,6 +11,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * WAHR wenn der erste Wert kleiner oder gleich dem Zweiten ist. + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntUnequal.java b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntUnequal.java index e7e46d0824799410ee17f50c3b66fb7504792f2a..c9ce10ccebac1f1ed513dd3a9036bfd95aecac4d 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntUnequal.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntUnequal.java @@ -11,6 +11,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * WAHR wenn die beiden Int-Werte ungleich sind. + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeNOT.java b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeNOT.java index da4156aae4fb295ee2b691bc7424b78a168e0cee..595f94cbea5b25aaae7f0d07ddbcc4ac7c443b64 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeNOT.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeNOT.java @@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * WAHR wenn der Wert FALSCH ist. + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeOR.java b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeOR.java index 80da717232fa0dfde3df0dba55ab551444a716cd..68d856885aad50bb4582944b017e501c269fbfd9 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeOR.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeOR.java @@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * WAHR wenn einer der beiden Werte WAHR ist + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeStringEqual.java b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeStringEqual.java index 3099e1ce46510d6f356907b7693e1f3350ff9f37..19abe190b0616d4bb8f7ba06b3e09441375ecf2f 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeStringEqual.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeStringEqual.java @@ -11,6 +11,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * WAHR wenn beide Zeichenketten den identischen Inhalt besitzen + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeStringUnequal.java b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeStringUnequal.java index 971be78a538c7694917b4b4c93314e898705fcb9..877dc95107f478fc42731dd6ef9384063c7851e0 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeStringUnequal.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeStringUnequal.java @@ -11,6 +11,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * WAHR wenn beide Zeichenketten nicht identisch sind. + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeAbs.java b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeAbs.java index b5885d0642dcf63dc491b6169488ba18c9854015..3ebb920e81f0a0e221df04936ae88453412e3d48 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeAbs.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeAbs.java @@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * Der Betrag einer Zahl + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeAdd.java b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeAdd.java index 51a529b02ad80ef6bf35139238a805c508ad3c0c..42eb37c6f81865aaafae4b459166773966b546bb 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeAdd.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeAdd.java @@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * Die Addition zweier Zahlen + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeDivison.java b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeDivison.java index 9464ef4b633da5d0bfdc8cafffda15be74bacf26..6d097330921b766cae6995d0902dfa137b2f02f3 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeDivison.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeDivison.java @@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * Die Division zweier Zahlen + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeLimit.java b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeLimit.java index 73ba9e293a5aff8fb4f715353499cd1e60df3629..9ab9220c6267b1c23aa0a581081730d19852eb6e 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeLimit.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeLimit.java @@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * Limitiere einen analogen Wert + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMap.java b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMap.java index 7318ace8b8581d58ac213e6d8ed7302fe4b130ad..4753285f2c16298dab89283ea51eabbc9c2d2b7c 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMap.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMap.java @@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * Ordne einen Wert aus dem Bereich "von" auf den Bereich "zu" + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMap10to8.java b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMap10to8.java index df281eafac39244c08dac23493777b48774369a5..be723a4f2c6924371f7ed36b7d7d1b45d4f92946 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMap10to8.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMap10to8.java @@ -9,7 +9,9 @@ import tec.letsgoing.ardublock.simulator.simcode.datatypes.SimTypeInt; import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** - * Ordne Werte aus dem Bereich [0,1023] auf den Bereich von [0,255] zu. (10 Bit zu 8 Bit) + * Ordne Werte aus dem Bereich [0,1023] auf den Bereich von [0,255] zu. (10 Bit + * zu 8 Bit) + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMax.java b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMax.java index 1520ce0e52d5041907a1c785f4da08651153e29f..66e257de58e5870348ae05e6673b59716698c6e9 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMax.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMax.java @@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * Die Größere Zahl der beiden Eingaben + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMin.java b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMin.java index cf7194296933825fe1381ef019af619fd0ad9407..5a62b0b87b6f1537e174c3f7985811f57a2de038 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMin.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMin.java @@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * Die kleinere Zahl der beiden Eingaben + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMinus.java b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMinus.java index 45c7f081806c468b0f812b9ab0d65a88962fa451..3e75427040de4952265a932793c917a19d8e5ba1 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMinus.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMinus.java @@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * Die Differenz der beiden Zahlen + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeModulo.java b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeModulo.java index 0a303a7dd54374c074eedba036c85b64883db5b8..458f6ae23e3796aa421ead06389ae98c1626dedb 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeModulo.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeModulo.java @@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * Die Modulooperation von zwei Zahlen + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeProduct.java b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeProduct.java index 9bec6759032c32954751a6313b83859edb1ee626..b3645135faa939a6106c5f5714f2088da98d3b05 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeProduct.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeProduct.java @@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * Das Produkt aus 2 Zahlen + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeRandMax.java b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeRandMax.java index 8c342b9e5a932d249cf1c6d23032d53e0fb1d0b1..592ca7000c079655a09b32e661ce707812e1e4dc 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeRandMax.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeRandMax.java @@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * Erzeuge eine Zufallszahl zwischen 0 und max-1 + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeRandMinMax.java b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeRandMinMax.java index 8521609a15d3695f66b2ebd61a91a0501023dafa..9603fae6f9391615b8cb35e4c8ab50c0efa95f47 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeRandMinMax.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeRandMinMax.java @@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * Erzeuge eine Zufallszahl zwische min und max + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeBoolCreate.java b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeBoolCreate.java index 395399f3ddc8c5327f5021d4d23d9dfb86800006..be35918ca97934a65a7e6f7091d630d478942213 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeBoolCreate.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeBoolCreate.java @@ -11,6 +11,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * Erzeuge eine boolsche Variable + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeBoolGet.java b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeBoolGet.java index 95f0cec071f9239747e3f730631e4b338fd1fa48..82918ba600103d04a9fafb60500cbc5798fad98a 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeBoolGet.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeBoolGet.java @@ -11,6 +11,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * Lese eine boolsche Varibale + * * @author Lucas * */ @@ -23,7 +24,7 @@ public class CodeBoolGet extends SimCode { @Override public SimTypeBool run(Arduino _arduino, SimCodeFunction functionHead) { - return new SimTypeBool(functionHead.readVariable(var.run(_arduino, functionHead).toString())); + return (SimTypeBool) functionHead.readVariable(var.run(_arduino, functionHead).toString()); } @Override diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeBoolSet.java b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeBoolSet.java index 164e3afbf2a3854f3bb20d89bedafc769959cb4e..af5adf083841b2ea1611c49d81b2162ce6a92f0b 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeBoolSet.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeBoolSet.java @@ -11,6 +11,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * Setze eine boolsche Variable + * * @author Lucas * */ @@ -25,8 +26,11 @@ public class CodeBoolSet extends SimCode { @Override public SimCode run(Arduino _arduino, SimCodeFunction functionHead) { - functionHead.setVariable(var.run(_arduino, functionHead).toString(), - new SimTypeBool(value.run(_arduino, functionHead).getValue())); + // Wenn die Variable nicht vorhanden ist, so erzeuge Sie. + if (!functionHead.setVariable(var.run(_arduino, functionHead).toString(), + new SimTypeBool(value.run(_arduino, functionHead).getValue()))) { + functionHead.createVariable(var.run(_arduino, functionHead).toString(), value.run(_arduino, functionHead)); + } return null; } diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntCreate.java b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntCreate.java index 33a9a54103cd46ddd28c740a4d5fdb89d59efbaf..d916ec78b9943093fe4da553a2bcb0f002c2a4b5 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntCreate.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntCreate.java @@ -11,6 +11,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * Erzeuge eine analoge/Integer Variable + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntGet.java b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntGet.java index 3e8755ee378e030d81b9540bdd1b48c9d9308ee2..535790465dda48f5425333dc609fcafcc8b0aac3 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntGet.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntGet.java @@ -11,6 +11,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * Lese eine analoge/Integer Variable + * * @author Lucas * */ @@ -23,7 +24,7 @@ public class CodeIntGet extends SimCode { @Override public SimTypeInt run(Arduino _arduino, SimCodeFunction functionHead) { - return new SimTypeInt(functionHead.readVariable(var.run(_arduino, functionHead).toString())); + return (SimTypeInt) functionHead.readVariable(var.run(_arduino, functionHead).toString()); } @Override diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntSet.java b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntSet.java index 49dca07272e7e1ca0416b3552dedd50d1793ab19..a6e01e8eb1861b694bfc5cc875395920b5fe2be7 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntSet.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntSet.java @@ -5,12 +5,14 @@ package tec.letsgoing.ardublock.simulator.simcode.vars; import tec.letsgoing.ardublock.simulator.arduino.Arduino; import tec.letsgoing.ardublock.simulator.simcode.SimCode; +import tec.letsgoing.ardublock.simulator.simcode.datatypes.SimTypeBool; import tec.letsgoing.ardublock.simulator.simcode.datatypes.SimTypeInt; import tec.letsgoing.ardublock.simulator.simcode.datatypes.SimTypeString; import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * Setze eine analoge/Integer Variable + * * @author Lucas * */ @@ -25,8 +27,10 @@ public class CodeIntSet extends SimCode { @Override public SimCode run(Arduino _arduino, SimCodeFunction functionHead) { - functionHead.setVariable(var.run(_arduino, functionHead).toString(), - new SimTypeInt(value.run(_arduino, functionHead).getValue())); + if (!functionHead.setVariable(var.run(_arduino, functionHead).toString(), + new SimTypeInt(value.run(_arduino, functionHead).getValue()))) { + functionHead.createVariable(var.run(_arduino, functionHead).toString(), value.run(_arduino, functionHead)); + } return null; } diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeMillis.java b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeMillis.java index f23e410785fb9dc65b803f7f146f281e32a81c5a..e59f63368a139bc8fda7ed95436ec2645ae216b0 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeMillis.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeMillis.java @@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction; /** * Gibt die Zeit seit Programmstart in Millisekunden an + * * @author Lucas * */ diff --git a/src/tec/letsgoing/ardublock/simulator/view/GUI.java b/src/tec/letsgoing/ardublock/simulator/view/GUI.java index e282cabf87eeb53ece95ec0bf8cfe0cd664dc2d0..bc868c3e5140721f13a599ff3f920ae2c3ef965b 100644 --- a/src/tec/letsgoing/ardublock/simulator/view/GUI.java +++ b/src/tec/letsgoing/ardublock/simulator/view/GUI.java @@ -39,6 +39,7 @@ import tec.letsgoing.ardublock.simulator.view.modules.RGB; /** * Verwaltet die graphische Oberfläche. + * * @author Lucas * */ @@ -52,29 +53,33 @@ public class GUI extends JFrame implements Runnable, ActionListener { public GUI(Simulator simu) { super("ArdubBlock Simulator"); modules[0] = new RGB(new ImageIcon(getToolkit().getImage(GUI.class.getResource("/img/PM31_RGB_LED.png")))); - modules[1] = new Button(new ImageIcon(getToolkit().getImage(GUI.class.getResource("/img/PM26_Taster.png"))),new ImageIcon(getToolkit().getImage(GUI.class.getResource("/img/Taster_Off.png"))),new ImageIcon(getToolkit().getImage(GUI.class.getResource("/img/Taster_On.png")))); - modules[2] = new Poti(new ImageIcon(getToolkit().getImage(GUI.class.getResource("/img/PM24_Potentiometer.png")))); - modules[3] = new ArduinoUno(new ImageIcon(getToolkit().getImage(GUI.class.getResource("/img/ArduinoUno.png"))),simu); - + modules[1] = new Button(new ImageIcon(getToolkit().getImage(GUI.class.getResource("/img/PM26_Taster.png"))), + new ImageIcon(getToolkit().getImage(GUI.class.getResource("/img/Taster_Off.png"))), + new ImageIcon(getToolkit().getImage(GUI.class.getResource("/img/Taster_On.png")))); + modules[2] = new Poti( + new ImageIcon(getToolkit().getImage(GUI.class.getResource("/img/PM24_Potentiometer.png")))); + modules[3] = new ArduinoUno(new ImageIcon(getToolkit().getImage(GUI.class.getResource("/img/ArduinoUno.png"))), + simu); + this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setResizable(false); Container mainPane = this.getContentPane(); JPanel modulPanel = new JPanel(new BorderLayout()) { - @Override + @Override public void paint(Graphics g) { - + super.paint(g); - - for (int i =-1 ; i<2;i++) { + + for (int i = -1; i < 2; i++) { g.setColor(Color.BLACK); - g.fillRect(i*294+261, 183, 60, 5); + g.fillRect(i * 294 + 261, 183, 60, 5); g.setColor(Color.RED); - g.fillRect(i*294+261, 211, 60, 5); - + g.fillRect(i * 294 + 261, 211, 60, 5); + } drawConnections(g); - + } }; modulPanel.add(modules[0].getPane(), BorderLayout.WEST); @@ -86,8 +91,8 @@ public class GUI extends JFrame implements Runnable, ActionListener { mainPane.add(createControlPanel(simu), BorderLayout.LINE_END); mainPane.add(createSerialLog(), BorderLayout.PAGE_END); this.pack(); - - //this.setLocation(-1300, 0); //FIXME Code to Run the Window on second screen + + // this.setLocation(-1300, 0); //FIXME Code to Run the Window on second screen this.setVisible(true); } @@ -101,13 +106,11 @@ public class GUI extends JFrame implements Runnable, ActionListener { JButton reloadButton = new JButton(); JButton measButton = new JButton(); - goButton.setIcon(new ImageIcon(getToolkit().getImage(GUI.class.getResource("/img/Play.png")))); stopButton.setIcon(new ImageIcon(getToolkit().getImage(GUI.class.getResource("/img/Stop.png")))); reloadButton.setIcon(new ImageIcon(getToolkit().getImage(GUI.class.getResource("/img/Reload.png")))); measButton.setIcon(new ImageIcon(getToolkit().getImage(GUI.class.getResource("/img/Measure.png")))); - goButton.addActionListener(simu); stopButton.addActionListener(simu); reloadButton.addActionListener(simu); @@ -151,28 +154,40 @@ public class GUI extends JFrame implements Runnable, ActionListener { panel.add(scrollPane, BorderLayout.PAGE_END); return panel; } - + private void drawConnections(Graphics g) { - int[] assignment= {11,10,9,5,4,3,19}; + int[] assignment = { 11, 10, 9, 5, 4, 3, 19 }; g.setColor(Color.ORANGE); - Vector<Point> pinArduino=modules[3].getPinPos(); - Point posArduino=modules[3].getPosition(); - int counter=0; - Stroke roundLine=new BasicStroke(5,BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND); - for (int i=0;i<3;i++) { - Vector<Point> pos =modules[i].getPinPos(); - for (Point p:pos) { + Vector<Point> pinArduino = modules[3].getPinPos(); + Point posArduino = modules[3].getPosition(); + int counter = 0; + Stroke roundLine = new BasicStroke(5, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND); + for (int i = 0; i < 3; i++) { + Vector<Point> pos = modules[i].getPinPos(); + for (Point p : pos) { Graphics2D g2 = (Graphics2D) g; - g2.setStroke(roundLine); - if (counter>5) { - g2.drawLine(p.x+modules[i].getPosition().x, p.y+modules[i].getPosition().y, p.x+modules[i].getPosition().x, pinArduino.get(assignment[counter]).y+posArduino.y); - g2.drawLine(p.x+modules[i].getPosition().x, pinArduino.get(assignment[counter]).y+posArduino.y, pinArduino.get(assignment[counter]).x+posArduino.x, pinArduino.get(assignment[counter]).y+posArduino.y); - } else { - g2.drawLine(p.x+modules[i].getPosition().x, p.y+modules[i].getPosition().y, p.x+modules[i].getPosition().x, p.y+modules[i].getPosition().y+90-(counter)*10); - g2.drawLine(p.x+modules[i].getPosition().x, p.y+modules[i].getPosition().y+90-(counter)*10, pinArduino.get(assignment[counter]).x+posArduino.x, p.y+modules[i].getPosition().y+90-(counter)*10); - g2.drawLine(pinArduino.get(assignment[counter]).x+posArduino.x, p.y+modules[i].getPosition().y+90-(counter)*10, pinArduino.get(assignment[counter]).x+posArduino.x, pinArduino.get(assignment[counter]).y+posArduino.y); - //g2.drawLine(p.x+modules[i].getPosition().x, p.y+modules[i].getPosition().y, pinArduino.get(assignment[counter]).x+posArduino.x, pinArduino.get(assignment[counter]).y+posArduino.y); - } + g2.setStroke(roundLine); + if (counter > 5) { + g2.drawLine(p.x + modules[i].getPosition().x, p.y + modules[i].getPosition().y, + p.x + modules[i].getPosition().x, pinArduino.get(assignment[counter]).y + posArduino.y); + g2.drawLine(p.x + modules[i].getPosition().x, pinArduino.get(assignment[counter]).y + posArduino.y, + pinArduino.get(assignment[counter]).x + posArduino.x, + pinArduino.get(assignment[counter]).y + posArduino.y); + } else { + g2.drawLine(p.x + modules[i].getPosition().x, p.y + modules[i].getPosition().y, + p.x + modules[i].getPosition().x, p.y + modules[i].getPosition().y + 90 - (counter) * 10); + g2.drawLine(p.x + modules[i].getPosition().x, + p.y + modules[i].getPosition().y + 90 - (counter) * 10, + pinArduino.get(assignment[counter]).x + posArduino.x, + p.y + modules[i].getPosition().y + 90 - (counter) * 10); + g2.drawLine(pinArduino.get(assignment[counter]).x + posArduino.x, + p.y + modules[i].getPosition().y + 90 - (counter) * 10, + pinArduino.get(assignment[counter]).x + posArduino.x, + pinArduino.get(assignment[counter]).y + posArduino.y); + // g2.drawLine(p.x+modules[i].getPosition().x, p.y+modules[i].getPosition().y, + // pinArduino.get(assignment[counter]).x+posArduino.x, + // pinArduino.get(assignment[counter]).y+posArduino.y); + } counter++; } } diff --git a/src/tec/letsgoing/ardublock/simulator/view/modules/ArduinoUno.java b/src/tec/letsgoing/ardublock/simulator/view/modules/ArduinoUno.java index 08fc2be2a571522e16d2363c4c00d21352d35e7d..133c335c0471e47cd96a0c17e1b0834cb86e7696 100644 --- a/src/tec/letsgoing/ardublock/simulator/view/modules/ArduinoUno.java +++ b/src/tec/letsgoing/ardublock/simulator/view/modules/ArduinoUno.java @@ -25,6 +25,7 @@ import tec.letsgoing.ardublock.simulator.view.GUI; /** * Modul für einen Arduino Uno + * * @author Lucas * */ @@ -33,10 +34,10 @@ public class ArduinoUno extends Modul { private boolean ledOn; private int led13 = 0; - public ArduinoUno(ImageIcon _icon,Simulator simu) { - int locx=50; - int locy=50; - layerpane.setPreferredSize(new Dimension(587+locx, 418+locy));//587,418 + public ArduinoUno(ImageIcon _icon, Simulator simu) { + int locx = 50; + int locy = 50; + layerpane.setPreferredSize(new Dimension(587 + locx, 418 + locy));// 587,418 JLabel chiplabel = new JLabel(); ImageIcon chipIcon = _icon; chipIcon = new ImageIcon(chipIcon.getImage().getScaledInstance(587, 418, Image.SCALE_SMOOTH)); @@ -58,7 +59,7 @@ public class ArduinoUno extends Modul { }; - labelPower.setLocation(504+locx, 126+locy); + labelPower.setLocation(504 + locx, 126 + locy); labelPower.setSize(20, 20); layerpane.add(labelPower, 0); @@ -72,10 +73,10 @@ public class ArduinoUno extends Modul { }; - label13.setLocation(257+locx, 89+locy); + label13.setLocation(257 + locx, 89 + locy); label13.setSize(20, 20); layerpane.add(label13, 0); - + JButton button = new JButton(); button.setSize(70, 70); button.setActionCommand("reset"); @@ -83,14 +84,14 @@ public class ArduinoUno extends Modul { button.setOpaque(false); button.setContentAreaFilled(false); button.setBorderPainted(false); - + JLabel labelButton = new JLabel(); labelButton.add(button); labelButton.setSize(60, 51); - labelButton.setLocation(64+locx, 1+locy); - layerpane.add(labelButton,0); - - calculatePinPos(locx,locy); + labelButton.setLocation(64 + locx, 1 + locy); + layerpane.add(labelButton, 0); + + calculatePinPos(locx, locy); } @@ -113,35 +114,31 @@ public class ArduinoUno extends Modul { tmpPin.setObserver(this); return true; } - - private void calculatePinPos(int locx,int locy) { - Vector<Point> pins=new Vector<Point>(); - int offset=0; - for (int i=15;i>1;i--) { - if (i<8)offset=-11; - pins.add(new Point(i*20+locx+246+offset,locy+19)); + + private void calculatePinPos(int locx, int locy) { + Vector<Point> pins = new Vector<Point>(); + int offset = 0; + for (int i = 15; i > 1; i--) { + if (i < 8) + offset = -11; + pins.add(new Point(i * 20 + locx + 246 + offset, locy + 19)); } - for (int i=0;i<6;i++) { - pins.add(new Point(i*20+locx+447,locy+397)); + for (int i = 0; i < 6; i++) { + pins.add(new Point(i * 20 + locx + 447, locy + 397)); } - //Code to check the Pin Pos - /*JLabel label; - for (Point pin:pins) { - label= new JLabel() { - @Override - public void paintComponent(Graphics g) { - g.setColor(Color.RED); - g.fillRect(0, 0, 10, 10); - } - - }; - - label.setLocation(pin.x,pin.y); - label.setSize(10, 10); - layerpane.add(label, 0); - }*/ + // Code to check the Pin Pos + /* + * JLabel label; for (Point pin:pins) { label= new JLabel() { + * + * @Override public void paintComponent(Graphics g) { g.setColor(Color.RED); + * g.fillRect(0, 0, 10, 10); } + * + * }; + * + * label.setLocation(pin.x,pin.y); label.setSize(10, 10); layerpane.add(label, + * 0); } + */ this.setPinPos(pins); } - } diff --git a/src/tec/letsgoing/ardublock/simulator/view/modules/Button.java b/src/tec/letsgoing/ardublock/simulator/view/modules/Button.java index 4254988fe2808adb80d2a57d2249e9bfd41da93f..0c7c9c04959d108cd80d4eecb8d71f68491c686b 100644 --- a/src/tec/letsgoing/ardublock/simulator/view/modules/Button.java +++ b/src/tec/letsgoing/ardublock/simulator/view/modules/Button.java @@ -20,19 +20,20 @@ import tec.letsgoing.ardublock.simulator.arduino.Pin; /** * Modul mit 3 Toogle Buttons + * * @author Lucas * */ public class Button extends Modul implements ActionListener { private int[] lastState = { 0, 0, 0 }; - private ImageIcon iconOff,iconOn; + private ImageIcon iconOff, iconOn; public Button(ImageIcon _icon, ImageIcon _icon1, ImageIcon _icon2) { - iconOff=_icon1; - iconOn=_icon2; + iconOff = _icon1; + iconOn = _icon2; layerpane.setPreferredSize(new Dimension(294, 294)); JLabel chiplabel = new JLabel(); - ImageIcon chipIcon =_icon; + ImageIcon chipIcon = _icon; chiplabel.setIcon(chipIcon); chiplabel.setSize(294, 294); layerpane.add(chiplabel, 0); @@ -108,18 +109,18 @@ public class Button extends Modul implements ActionListener { } else { ((JToggleButton) arg0.getSource()).setIcon(iconOff); } - + int value = 0; if (bool) value = 1023; lastState[pin] = value; pins.get(pin).setValue(value); } - + private void calculatePinPos() { - Vector<Point> pins=new Vector<Point>(); - for (int i=0;i<3;i++) { - pins.add(new Point(i*30+117,235)); + Vector<Point> pins = new Vector<Point>(); + for (int i = 0; i < 3; i++) { + pins.add(new Point(i * 30 + 117, 235)); } this.setPinPos(pins); } diff --git a/src/tec/letsgoing/ardublock/simulator/view/modules/Modul.java b/src/tec/letsgoing/ardublock/simulator/view/modules/Modul.java index 3522dc48ad8e9a85e0053c668b3ac279c78a12f4..524193949d38b12172fe7daf03bd432f3f0e4b08 100644 --- a/src/tec/letsgoing/ardublock/simulator/view/modules/Modul.java +++ b/src/tec/letsgoing/ardublock/simulator/view/modules/Modul.java @@ -16,15 +16,16 @@ import tec.letsgoing.ardublock.simulator.arduino.Pin; /** * Oberklasse für alle Module + * * @author Lucas * */ -public abstract class Modul implements Observer { +public abstract class Modul implements Observer { private boolean active = true; private Point position; protected Vector<Pin> pins = new Vector<Pin>(); protected JLayeredPane layerpane = new JLayeredPane(); - protected Vector<Point> pinPos=new Vector<Point>(); + protected Vector<Point> pinPos = new Vector<Point>(); public void setState(boolean State) { active = State; @@ -39,7 +40,7 @@ public abstract class Modul implements Observer { } public Point getPosition() { - //return position; + // return position; return layerpane.getLocation(); } @@ -50,7 +51,7 @@ public abstract class Modul implements Observer { updateModul((Pin) Observable); } } - + } public abstract void updateModul(Pin pin); @@ -58,13 +59,13 @@ public abstract class Modul implements Observer { public void addPin(Pin _pin) { pins.add(_pin); } - + public Vector<Point> getPinPos() { return pinPos; } - + public void setPinPos(Vector<Point> _pins) { - pinPos=_pins; + pinPos = _pins; } public JLayeredPane getPane() { diff --git a/src/tec/letsgoing/ardublock/simulator/view/modules/Poti.java b/src/tec/letsgoing/ardublock/simulator/view/modules/Poti.java index 7c9076426a1dcdec0e42eec216ff2a857035a275..835651e84598fd7520957376651b351dccaedf19 100644 --- a/src/tec/letsgoing/ardublock/simulator/view/modules/Poti.java +++ b/src/tec/letsgoing/ardublock/simulator/view/modules/Poti.java @@ -24,10 +24,11 @@ import tec.letsgoing.ardublock.simulator.arduino.Pin; /** * Modul mit einem Potentiometer + * * @author Lucas * */ -public class Poti extends Modul implements ChangeListener, MouseWheelListener { +public class Poti extends Modul implements ChangeListener, MouseWheelListener { int value = 0; JSlider slider; @@ -37,74 +38,72 @@ public class Poti extends Modul implements ChangeListener, MouseWheelListener { ImageIcon chipIcon = _icon; chiplabel.setIcon(chipIcon); chiplabel.setSize(294, 294); - slider=new JSlider(JSlider.HORIZONTAL,0,1024,512); - + slider = new JSlider(JSlider.HORIZONTAL, 0, 1024, 512); + slider.setMajorTickSpacing(256); slider.setMinorTickSpacing(64); slider.setPaintTicks(true); - - //Create the label table - Hashtable<Integer,JLabel> labelTable = new Hashtable<Integer,JLabel>(); - labelTable.put( new Integer( 10 ), new JLabel("0 V") ); - labelTable.put( new Integer( 512 ), new JLabel("2.5 V") ); - labelTable.put( new Integer( 1023 ), new JLabel("5 V") ); - slider.setLabelTable( labelTable ); + + // Create the label table + Hashtable<Integer, JLabel> labelTable = new Hashtable<Integer, JLabel>(); + labelTable.put(new Integer(10), new JLabel("0 V")); + labelTable.put(new Integer(512), new JLabel("2.5 V")); + labelTable.put(new Integer(1023), new JLabel("5 V")); + slider.setLabelTable(labelTable); slider.setPaintLabels(true); - slider.setPreferredSize(new Dimension(180,50)); + slider.setPreferredSize(new Dimension(180, 50)); slider.setOpaque(false); slider.addChangeListener(this); slider.addMouseWheelListener(this); - - JPanel sliderPanel=new JPanel(); + + JPanel sliderPanel = new JPanel(); sliderPanel.add(slider); sliderPanel.setSize(200, 50); - sliderPanel.setLocation(47,170); + sliderPanel.setLocation(47, 170); sliderPanel.setOpaque(false); layerpane.add(chiplabel, 0); - layerpane.add(sliderPanel,0); - + layerpane.add(sliderPanel, 0); + calculatePinPos(); - - - + } public void updateModul(Pin arg0) { - if (pins.get(0).getValue()!=slider.getValue()) { + if (pins.get(0).getValue() != slider.getValue()) { pins.get(0).setValue(slider.getValue()); } } public boolean connect(Arduino arduino) { - this.addPin(arduino.getPin(5+13)); - arduino.getPin(5+13).setObserver(this); + this.addPin(arduino.getPin(5 + 13)); + arduino.getPin(5 + 13).setObserver(this); return true; } @Override public void stateChanged(ChangeEvent arg0) { - if (slider.getValue()==1024) slider.setValue(1023); //Kleiner Trick damit die 1024 angezeigt wird aber keinen Fehler verursacht + if (slider.getValue() == 1024) + slider.setValue(1023); // Kleiner Trick damit die 1024 angezeigt wird aber keinen Fehler verursacht pins.get(0).setValue(slider.getValue()); - + } @Override public void mouseWheelMoved(MouseWheelEvent arg0) { int notches = arg0.getWheelRotation(); if (notches > 0) { - slider.setValue(slider.getValue()+10); + slider.setValue(slider.getValue() + 10); } else { - slider.setValue(slider.getValue()-10); + slider.setValue(slider.getValue() - 10); } - - - + } + private void calculatePinPos() { - Vector<Point> pins=new Vector<Point>(); - pins.add(new Point(30+117,235)); + Vector<Point> pins = new Vector<Point>(); + pins.add(new Point(30 + 117, 235)); this.setPinPos(pins); } - + } diff --git a/src/tec/letsgoing/ardublock/simulator/view/modules/RGB.java b/src/tec/letsgoing/ardublock/simulator/view/modules/RGB.java index b9cc6d54b4d496a10d407d730ba9bef309ab6e90..2d00b9e36ca159c5438ca124d43b2beeb5694c15 100644 --- a/src/tec/letsgoing/ardublock/simulator/view/modules/RGB.java +++ b/src/tec/letsgoing/ardublock/simulator/view/modules/RGB.java @@ -18,6 +18,7 @@ import tec.letsgoing.ardublock.simulator.arduino.Pin; /** * Modul mit einer RGB LED + * * @author Lucas * */ @@ -49,7 +50,7 @@ public class RGB extends Modul { ledlabel.setSize(200, 200); layerpane.add(ledlabel, 0); calculatePinPos(); - + } public void updateModul(Pin pin) { @@ -77,11 +78,11 @@ public class RGB extends Modul { return true; } - + private void calculatePinPos() { - Vector<Point> pins=new Vector<Point>(); - for (int i=0;i<3;i++) { - pins.add(new Point(i*30+117,235)); + Vector<Point> pins = new Vector<Point>(); + for (int i = 0; i < 3; i++) { + pins.add(new Point(i * 30 + 117, 235)); } this.setPinPos(pins); }