From 86c82e275b6db26dce35f0d003359daf45ea7099 Mon Sep 17 00:00:00 2001 From: Lucas Stratmann <lucas.stratmann@student.reutlingen-university.de> Date: Fri, 18 Sep 2020 16:50:10 +0200 Subject: [PATCH] changed pin Connections and Variable Handling --- src/tec/letsgoing/ardublock/simulator/Simulator.java | 2 +- .../simulator/simcode/comm/CodeConnectString.java | 2 +- .../simulator/simcode/functions/SimCodeFunction.java | 11 +++++++++++ src/tec/letsgoing/ardublock/simulator/view/GUI.java | 9 ++++++--- .../ardublock/simulator/view/modules/Button.java | 6 +++--- .../ardublock/simulator/view/modules/Poti.java | 4 ++-- 6 files changed, 24 insertions(+), 10 deletions(-) diff --git a/src/tec/letsgoing/ardublock/simulator/Simulator.java b/src/tec/letsgoing/ardublock/simulator/Simulator.java index 5c60829..2affd25 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 ed6254d..5a8e6d5 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 986b5cd..25171c6 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 bdb7273..e6f5764 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 e9298f1..1623069 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 0c215f8..28e0e57 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; } -- GitLab