From 442ce120fd45a45c2a8701aa873978b0764c93ac Mon Sep 17 00:00:00 2001
From: Lucas Stratmann <lucas.stratmann@student.reutlingen-university.de>
Date: Thu, 17 Sep 2020 18:52:14 +0200
Subject: [PATCH] Bugfixes and Cleanup

---
 README.md                                            | 12 ++++++++++++
 src/tec/letsgoing/ardublock/simulator/Simulator.java | 11 ++++-------
 .../simulator/simcode/comm/CodeConnectString.java    |  4 ++--
 .../simulator/simcode/control/CodeElseIf.java        |  2 +-
 .../simulator/simcode/control/CodeForCount.java      |  3 ++-
 .../ardublock/simulator/simcode/control/CodeIf.java  |  2 +-
 .../ardublock/simulator/simcode/logic/CodeNOT.java   |  2 +-
 .../simulator/simcode/logic/CodeStringEqual.java     |  2 +-
 .../simulator/simcode/logic/CodeStringUnequal.java   |  2 +-
 .../ardublock/simulator/simcode/math/CodeMap.java    | 12 ++++++------
 .../simulator/simcode/vars/CodeBoolGet.java          |  3 ++-
 .../ardublock/simulator/simcode/vars/CodeIntSet.java |  1 -
 .../ardublock/simulator/view/modules/ArduinoUno.java |  4 ----
 .../ardublock/simulator/view/modules/Button.java     |  2 --
 .../ardublock/simulator/view/modules/Modul.java      |  1 -
 .../ardublock/simulator/view/modules/Poti.java       |  2 --
 16 files changed, 33 insertions(+), 32 deletions(-)

diff --git a/README.md b/README.md
index d33a58f..f79dbd4 100644
--- a/README.md
+++ b/README.md
@@ -12,7 +12,19 @@ Zu den geplanten Features gehören unter anderem:
 -Simulation der Basis-Blöcke
 -Simulation der letsgoING-Module
 
+
+##Verwendung
+Dieses Java Projekt ist theoretisch alleine lauffähig, dies ist aber nicht sinnvoll, da so das Programm manuell in der main() programmiert werden muss.
+Für die korrekte Verwendung muss sich im Eclipse Workspace auch das Ardublock, sowiew das Openblocks-Projekt befinden.
+(möglicherweise werden auch Maven-Bibilotheken benötigt)
+Der Simulator wird dann aus Ardublock gestartet und die main() dieses Projekts wird nicht benötigt.
+
 ## Dokumentation
 Nach Abschluss der Entwicklung wird hier eine Dokumentation zur Verfügung stehen.
 Bis dahin, wird hier das aktuelle UML als .DIA zur Verfügung gestellt.
 
+
+##Beteiligte:
+Lucas Stratmann lucas.stratmann@student.reutlingen-university.de
+
+
diff --git a/src/tec/letsgoing/ardublock/simulator/Simulator.java b/src/tec/letsgoing/ardublock/simulator/Simulator.java
index 29f3a5f..5c60829 100644
--- a/src/tec/letsgoing/ardublock/simulator/Simulator.java
+++ b/src/tec/letsgoing/ardublock/simulator/Simulator.java
@@ -12,7 +12,6 @@ import tec.letsgoing.ardublock.simulator.arduino.Arduino;
 import tec.letsgoing.ardublock.simulator.simcode.SimCode;
 import tec.letsgoing.ardublock.simulator.simcode.comm.CodeSerialPrint;
 import tec.letsgoing.ardublock.simulator.simcode.control.CodeDelay;
-import tec.letsgoing.ardublock.simulator.simcode.control.CodeFor;
 import tec.letsgoing.ardublock.simulator.simcode.control.CodeWhile;
 import tec.letsgoing.ardublock.simulator.simcode.datatypes.SimTypeBool;
 import tec.letsgoing.ardublock.simulator.simcode.datatypes.SimTypeInt;
@@ -22,8 +21,6 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 import tec.letsgoing.ardublock.simulator.simcode.io.CodeAnalogRead;
 import tec.letsgoing.ardublock.simulator.simcode.io.CodeAnalogWrite;
 import tec.letsgoing.ardublock.simulator.simcode.io.CodeDigitalWrite;
-import tec.letsgoing.ardublock.simulator.simcode.math.CodeAdd;
-import tec.letsgoing.ardublock.simulator.simcode.vars.CodeMillis;
 import tec.letsgoing.ardublock.simulator.view.GUI;
 
 /**
@@ -194,14 +191,14 @@ public class Simulator implements Runnable, ActionListener {
 		SimTypeBool b1 = new SimTypeBool(true);
 		SimTypeBool b0 = new SimTypeBool(false);
 
-		SimTypeString s1 = new SimTypeString("CodeString Test");
-		SimTypeInt d1 = new SimTypeInt(9);
+		//SimTypeString s1 = new SimTypeString("CodeString Test");
+		//SimTypeInt d1 = new SimTypeInt(9);
 		SimTypeInt d5 = new SimTypeInt(5);
 		SimTypeInt d3 = new SimTypeInt(0);
 		SimTypeInt d9 = new SimTypeInt(9);
 		SimTypeInt delay = new SimTypeInt(testdelay);
-		SimTypeString s2 = new SimTypeString(d1);
-		CodeAdd s5 = new CodeAdd(d1, d5);
+		//SimTypeString s2 = new SimTypeString(d1);
+		//CodeAdd s5 = new CodeAdd(d1, d5);
 
 		// testLoop.add(new CodeDigitalWrite(d2, b0));
 		// testLoop.add(new CodeDelay(delay));
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/comm/CodeConnectString.java b/src/tec/letsgoing/ardublock/simulator/simcode/comm/CodeConnectString.java
index 0c0ba28..ed6254d 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/comm/CodeConnectString.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/comm/CodeConnectString.java
@@ -27,8 +27,8 @@ public class CodeConnectString extends SimCode {
 
 	@Override
 	public SimTypeString run(Arduino _arduino, SimCodeFunction functionHead) {
-
-		out = "" + block1.run(_arduino, functionHead).toString() + block2.run(_arduino, functionHead).toString();
+		// TODO Add Space between two 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/control/CodeElseIf.java b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeElseIf.java
index dd6fef6..ab0984a 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeElseIf.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeElseIf.java
@@ -7,8 +7,8 @@ import java.util.Vector;
 
 import tec.letsgoing.ardublock.simulator.arduino.Arduino;
 import tec.letsgoing.ardublock.simulator.simcode.SimCode;
-import tec.letsgoing.ardublock.simulator.simcode.datatypes.SimTypeIf;
 import tec.letsgoing.ardublock.simulator.simcode.datatypes.SimTypeBool;
+import tec.letsgoing.ardublock.simulator.simcode.datatypes.SimTypeIf;
 import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeForCount.java b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeForCount.java
index de74e4f..5b2bdf9 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeForCount.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeForCount.java
@@ -28,7 +28,8 @@ public class CodeForCount extends SimCode {
 		varname = _varname;
 		codeblocks = _blocks;
 	}
-	//TODO For/While Mit Vars ausrüsten
+
+	// TODO For/While Mit Vars ausrüsten
 	@Override
 	public SimCode run(Arduino _arduino, SimCodeFunction functionHead) {
 		// TODO delete Var after completion
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeIf.java b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeIf.java
index 0f8df71..7354a98 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeIf.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeIf.java
@@ -7,8 +7,8 @@ import java.util.Vector;
 
 import tec.letsgoing.ardublock.simulator.arduino.Arduino;
 import tec.letsgoing.ardublock.simulator.simcode.SimCode;
-import tec.letsgoing.ardublock.simulator.simcode.datatypes.SimTypeIf;
 import tec.letsgoing.ardublock.simulator.simcode.datatypes.SimTypeBool;
+import tec.letsgoing.ardublock.simulator.simcode.datatypes.SimTypeIf;
 import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeNOT.java b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeNOT.java
index 595f94c..ed0629a 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeNOT.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeNOT.java
@@ -17,7 +17,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 public class CodeNOT extends SimCode {
 	private SimTypeBool b1;
 
-	public CodeNOT(SimTypeBool _b1, SimTypeBool _b2) {
+	public CodeNOT(SimTypeBool _b1) {
 		b1 = _b1;
 	}
 
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeStringEqual.java b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeStringEqual.java
index 19abe19..a350363 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeStringEqual.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeStringEqual.java
@@ -26,7 +26,7 @@ public class CodeStringEqual extends SimCode {
 
 	@Override
 	public SimTypeBool run(Arduino _arduino, SimCodeFunction functionHead) {
-		if (b1.run(_arduino, functionHead).toString() == b2.run(_arduino, functionHead).toString()) {
+		if (b1.run(_arduino, functionHead).toString().equals(b2.run(_arduino, functionHead).toString())) {
 			return new SimTypeBool(true);
 		} else {
 			return new SimTypeBool(false);
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeStringUnequal.java b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeStringUnequal.java
index 877dc95..d74a969 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeStringUnequal.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeStringUnequal.java
@@ -26,7 +26,7 @@ public class CodeStringUnequal extends SimCode {
 
 	@Override
 	public SimTypeBool run(Arduino _arduino, SimCodeFunction functionHead) {
-		if (b1.run(_arduino, functionHead).toString() != b2.run(_arduino, functionHead).toString()) {
+		if (!b1.run(_arduino, functionHead).toString().equals(b2.run(_arduino, functionHead).toString())) {
 			return new SimTypeBool(true);
 		} else {
 			return new SimTypeBool(false);
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMap.java b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMap.java
index 4753285..2142d69 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMap.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMap.java
@@ -39,12 +39,12 @@ public class CodeMap extends SimCode {
 
 	@Override
 	public SimTypeInt run(Arduino _arduino, SimCodeFunction functionHead) {
-		int v = value.run(_arduino, functionHead).getValue();
-		int fL = fromLow.run(_arduino, functionHead).getValue();
-		int fH = fromHigh.run(_arduino, functionHead).getValue();
-		int tL = toLow.run(_arduino, functionHead).getValue();
-		int tH = toHigh.run(_arduino, functionHead).getValue();
-		return new SimTypeInt((v - fL) / (fH - fL) * (tH - tL) + tL);
+		float v = value.run(_arduino, functionHead).getValue();
+		float fL = fromLow.run(_arduino, functionHead).getValue();
+		float fH = fromHigh.run(_arduino, functionHead).getValue();
+		float tL = toLow.run(_arduino, functionHead).getValue();
+		float tH = toHigh.run(_arduino, functionHead).getValue();
+		return new SimTypeInt((int) ((v - fL) / (fH - fL) * (tH - tL) + tL));
 	}
 
 	@Override
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeBoolGet.java b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeBoolGet.java
index bf09c98..d3813b8 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeBoolGet.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeBoolGet.java
@@ -24,7 +24,8 @@ public class CodeBoolGet extends SimCode {
 
 	@Override
 	public SimTypeBool run(Arduino _arduino, SimCodeFunction functionHead) {
-		//FIXME Für alle Get und Set müssen die oberligenenden "Stackschichten" berücksichtigt werden.
+		// FIXME Für alle Get und Set müssen die oberligenenden "Stackschichten"
+		// berücksichtigt werden.
 		return (SimTypeBool) functionHead.readVariable(var.run(_arduino, functionHead).toString());
 	}
 
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntSet.java b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntSet.java
index a6e01e8..828da14 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntSet.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntSet.java
@@ -5,7 +5,6 @@ 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;
diff --git a/src/tec/letsgoing/ardublock/simulator/view/modules/ArduinoUno.java b/src/tec/letsgoing/ardublock/simulator/view/modules/ArduinoUno.java
index 133c335..84556bf 100644
--- a/src/tec/letsgoing/ardublock/simulator/view/modules/ArduinoUno.java
+++ b/src/tec/letsgoing/ardublock/simulator/view/modules/ArduinoUno.java
@@ -9,19 +9,15 @@ import java.awt.Graphics;
 import java.awt.Graphics2D;
 import java.awt.Image;
 import java.awt.Point;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
 import java.util.Vector;
 
 import javax.swing.ImageIcon;
 import javax.swing.JButton;
 import javax.swing.JLabel;
-import javax.swing.JToggleButton;
 
 import tec.letsgoing.ardublock.simulator.Simulator;
 import tec.letsgoing.ardublock.simulator.arduino.Arduino;
 import tec.letsgoing.ardublock.simulator.arduino.Pin;
-import tec.letsgoing.ardublock.simulator.view.GUI;
 
 /**
  * Modul für einen Arduino Uno
diff --git a/src/tec/letsgoing/ardublock/simulator/view/modules/Button.java b/src/tec/letsgoing/ardublock/simulator/view/modules/Button.java
index 0c7c9c0..e9298f1 100644
--- a/src/tec/letsgoing/ardublock/simulator/view/modules/Button.java
+++ b/src/tec/letsgoing/ardublock/simulator/view/modules/Button.java
@@ -3,9 +3,7 @@
  */
 package tec.letsgoing.ardublock.simulator.view.modules;
 
-import java.awt.Color;
 import java.awt.Dimension;
-import java.awt.Graphics;
 import java.awt.Point;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
diff --git a/src/tec/letsgoing/ardublock/simulator/view/modules/Modul.java b/src/tec/letsgoing/ardublock/simulator/view/modules/Modul.java
index 5241939..d45de05 100644
--- a/src/tec/letsgoing/ardublock/simulator/view/modules/Modul.java
+++ b/src/tec/letsgoing/ardublock/simulator/view/modules/Modul.java
@@ -9,7 +9,6 @@ import java.util.Observer;
 import java.util.Vector;
 
 import javax.swing.JLayeredPane;
-import javax.swing.JPanel;
 
 import tec.letsgoing.ardublock.simulator.arduino.Arduino;
 import tec.letsgoing.ardublock.simulator.arduino.Pin;
diff --git a/src/tec/letsgoing/ardublock/simulator/view/modules/Poti.java b/src/tec/letsgoing/ardublock/simulator/view/modules/Poti.java
index 835651e..0c215f8 100644
--- a/src/tec/letsgoing/ardublock/simulator/view/modules/Poti.java
+++ b/src/tec/letsgoing/ardublock/simulator/view/modules/Poti.java
@@ -3,9 +3,7 @@
  */
 package tec.letsgoing.ardublock.simulator.view.modules;
 
-import java.awt.Color;
 import java.awt.Dimension;
-import java.awt.Graphics;
 import java.awt.Point;
 import java.awt.event.MouseWheelEvent;
 import java.awt.event.MouseWheelListener;
-- 
GitLab