diff --git a/src/tec/letsgoing/ardublock/simulator/Simulator.java b/src/tec/letsgoing/ardublock/simulator/Simulator.java index 5c6082973db19ab2ff4c5266bf387b4b95a09650..2affd255374a5d1ef2e341d0dc4e517fb601b223 100644 --- a/src/tec/letsgoing/ardublock/simulator/Simulator.java +++ b/src/tec/letsgoing/ardublock/simulator/Simulator.java @@ -29,7 +29,7 @@ import tec.letsgoing.ardublock.simulator.view.GUI; * ist private. * * - * Pinmapping: RGB: 9,10,11 Poti: A5 Button: 3,4,5 + * Pinmapping: RGB: 9,10,11 Poti: A0 Button: 2,3,4 * * @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 ed6254d944597f295723d3a6c4505e618ac2fa56..5a8e6d57abeb9a84667d392437346c7f398843f3 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/comm/CodeConnectString.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/comm/CodeConnectString.java @@ -27,7 +27,7 @@ public class CodeConnectString extends SimCode { @Override public SimTypeString run(Arduino _arduino, SimCodeFunction functionHead) { - // TODO Add Space between two inputs? + // TODO Added Space between to Inputs out = "" + block1.run(_arduino, functionHead).toString() + " " + block2.run(_arduino, functionHead).toString(); return new SimTypeString(out); } diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/functions/SimCodeFunction.java b/src/tec/letsgoing/ardublock/simulator/simcode/functions/SimCodeFunction.java index 986b5cd7b93d7db7558be64f1ea5032eaf51cdb2..25171c6eec23ce7ddd4659b92320fbdfb3046f51 100644 --- a/src/tec/letsgoing/ardublock/simulator/simcode/functions/SimCodeFunction.java +++ b/src/tec/letsgoing/ardublock/simulator/simcode/functions/SimCodeFunction.java @@ -25,6 +25,7 @@ public class SimCodeFunction extends SimCode { private Vector<Variable> vars = new Vector<Variable>(); private boolean isMain = false; private Arduino arduino; + private SimCodeFunction prevStack=null; public SimCodeFunction(String _name, Vector<SimCode> vec) { name = _name; @@ -34,7 +35,10 @@ public class SimCodeFunction extends SimCode { public SimCode run(Arduino _arduino, SimCodeFunction functionHead) { if (functionHead == null) { isMain = true; + } else { + prevStack=functionHead; } + this.arduino = _arduino; vars = new Vector<Variable>(); for (SimCode code : codeBlocks) { @@ -63,6 +67,10 @@ public class SimCodeFunction extends SimCode { return true; } } + if (prevStack!=null) { + if(prevStack.setVariable(_name, _value)) + return true; + } if (arduino.setVariable(_name, _value)) return true; @@ -76,6 +84,9 @@ public class SimCodeFunction extends SimCode { return var.getValue(); } } + if (prevStack!=null) { + return prevStack.readVariable(_name); + } return arduino.readVariable(_name); } diff --git a/src/tec/letsgoing/ardublock/simulator/view/GUI.java b/src/tec/letsgoing/ardublock/simulator/view/GUI.java index bdb727395828ede15b08338ddbab0e43366087d7..e6f57646f7a87f2dcd29484261d332a8e8e2116e 100644 --- a/src/tec/letsgoing/ardublock/simulator/view/GUI.java +++ b/src/tec/letsgoing/ardublock/simulator/view/GUI.java @@ -165,7 +165,7 @@ public class GUI extends JFrame implements Runnable, ActionListener { } private void drawConnections(Graphics g) { - int[] assignment = { 11, 10, 9, 5, 4, 3, 19 }; + int[] assignment = { 11, 10, 9, 4, 3,2 , 14 }; g.setColor(Color.ORANGE); Vector<Point> pinArduino = modules[3].getPinPos(); Point posArduino = modules[3].getPosition(); @@ -178,8 +178,11 @@ public class GUI extends JFrame implements Runnable, ActionListener { 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, + p.x + modules[i].getPosition().x, pinArduino.get(assignment[counter]).y + posArduino.y-40); + g2.drawLine(p.x + modules[i].getPosition().x, pinArduino.get(assignment[counter]).y + posArduino.y-40, + pinArduino.get(assignment[counter]).x + posArduino.x, + pinArduino.get(assignment[counter]).y + posArduino.y-40); + g2.drawLine(pinArduino.get(assignment[counter]).x + posArduino.x, pinArduino.get(assignment[counter]).y + posArduino.y-40, pinArduino.get(assignment[counter]).x + posArduino.x, pinArduino.get(assignment[counter]).y + posArduino.y); } else { diff --git a/src/tec/letsgoing/ardublock/simulator/view/modules/Button.java b/src/tec/letsgoing/ardublock/simulator/view/modules/Button.java index e9298f10f912d0f84837350b35ff745253e6bd08..16230697ab44b0a0640ab55cdd9f14fafc04afe4 100644 --- a/src/tec/letsgoing/ardublock/simulator/view/modules/Button.java +++ b/src/tec/letsgoing/ardublock/simulator/view/modules/Button.java @@ -84,15 +84,15 @@ public class Button extends Modul implements ActionListener { } public boolean connect(Arduino arduino) { - Pin tmpPin = arduino.getPin(5); + Pin tmpPin = arduino.getPin(4); this.addPin(tmpPin); tmpPin.setObserver(this); - tmpPin = arduino.getPin(4); + tmpPin = arduino.getPin(3); this.addPin(tmpPin); tmpPin.setObserver(this); - tmpPin = arduino.getPin(3); + tmpPin = arduino.getPin(2); this.addPin(tmpPin); tmpPin.setObserver(this); diff --git a/src/tec/letsgoing/ardublock/simulator/view/modules/Poti.java b/src/tec/letsgoing/ardublock/simulator/view/modules/Poti.java index 0c215f8460007796574cb0c18219e2a5b6fcab91..28e0e5771e00babfa0f04dab0bf2bba81fea6302 100644 --- a/src/tec/letsgoing/ardublock/simulator/view/modules/Poti.java +++ b/src/tec/letsgoing/ardublock/simulator/view/modules/Poti.java @@ -74,8 +74,8 @@ public class Poti extends Modul implements ChangeListener, MouseWheelListener { } public boolean connect(Arduino arduino) { - this.addPin(arduino.getPin(5 + 13)); - arduino.getPin(5 + 13).setObserver(this); + this.addPin(arduino.getPin(0 + 14)); + arduino.getPin(0 + 14).setObserver(this); return true; }