From 0c0173d26081d291417cb209a4a275dc55e9ad7a Mon Sep 17 00:00:00 2001
From: Lucas Stratmann <lucas.stratmann@student.reutlingen-university.de>
Date: Thu, 2 Jul 2020 20:05:15 +0200
Subject: [PATCH] finished basic blocks and UML

---
 UML.dia                                       | Bin 13108 -> 17331 bytes
 UML.dia~                                      | Bin 12491 -> 0 bytes
 .../ardublock/simulator/Simulator.java        |  15 ++++++++---
 .../ardublock/simulator/arduino/Arduino.java  |   2 --
 .../ardublock/simulator/simcode/SimCode.java  |   2 --
 .../simulator/simcode/control/CodeElse.java   |   2 --
 .../simcode/control/CodeForCount.java         |  16 +++++++----
 .../simcode/control/CodeWhileMillis.java      |  25 +++++++++++++++---
 .../simulator/simcode/vars/CodeIntCreate.java |   1 -
 .../simulator/simcode/vars/CodeIntGet.java    |   1 -
 .../simulator/simcode/vars/CodeMillis.java    |   2 +-
 11 files changed, 46 insertions(+), 20 deletions(-)
 delete mode 100644 UML.dia~

diff --git a/UML.dia b/UML.dia
index 7a11e1ecf0c9287e9854cc1d325ab5c52bb427f0..f9f2622288ad09c5e631c423b1693e4af6b500fd 100644
GIT binary patch
literal 17331
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

literal 13108
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

diff --git a/UML.dia~ b/UML.dia~
deleted file mode 100644
index 32d01b2ddb4a62250cd899166e84d080a9c9ead4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 12491
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

diff --git a/src/tec/letsgoing/ardublock/simulator/Simulator.java b/src/tec/letsgoing/ardublock/simulator/Simulator.java
index 93d9eca..cab02ba 100644
--- a/src/tec/letsgoing/ardublock/simulator/Simulator.java
+++ b/src/tec/letsgoing/ardublock/simulator/Simulator.java
@@ -9,7 +9,6 @@ import java.util.Vector;
 
 import tec.letsgoing.ardublock.simulator.arduino.Arduino;
 import tec.letsgoing.ardublock.simulator.simcode.SimCode;
-import tec.letsgoing.ardublock.simulator.simcode.comm.CodeConnectString;
 import tec.letsgoing.ardublock.simulator.simcode.comm.CodeSerialPrint;
 import tec.letsgoing.ardublock.simulator.simcode.control.CodeDelay;
 import tec.letsgoing.ardublock.simulator.simcode.control.CodeFor;
@@ -27,6 +26,7 @@ import tec.letsgoing.ardublock.simulator.view.GUI;
 /**
  * @author Lucas
  */
+
 public class Simulator implements Runnable, ActionListener {
 	private static Simulator instance;
 	private Arduino arduino;
@@ -112,7 +112,6 @@ public class Simulator implements Runnable, ActionListener {
 		gui.dispose();
 
 		createSubClasses();
-		// FIXME Delete Old Functions on Reload?
 		for (SimCodeFunction function : functionsCode) {
 			arduino.addFunction(function);
 		}
@@ -140,7 +139,17 @@ public class Simulator implements Runnable, ActionListener {
 		return true;
 	}
 
-	// TODO Function to Reset the saved Functions
+	/**
+	 * Function to Clear the Storage of saved Functions in Simulator-Class. After
+	 * this a reload is needed to clear the Arduino.
+	 * 
+	 * @return boolean=true if the functions where correctly reset
+	 */
+	public boolean resetFunctions() {
+		functionsCode.clear();
+		arduino.reset();
+		return true;
+	}
 
 	public void actionPerformed(ActionEvent arg0) {
 		String command = arg0.getActionCommand();
diff --git a/src/tec/letsgoing/ardublock/simulator/arduino/Arduino.java b/src/tec/letsgoing/ardublock/simulator/arduino/Arduino.java
index ac9ab5d..1970fe8 100644
--- a/src/tec/letsgoing/ardublock/simulator/arduino/Arduino.java
+++ b/src/tec/letsgoing/ardublock/simulator/arduino/Arduino.java
@@ -3,12 +3,10 @@
  */
 package tec.letsgoing.ardublock.simulator.arduino;
 
-import java.util.Arrays;
 import java.util.Vector;
 
 import tec.letsgoing.ardublock.simulator.simcode.SimCode;
 import tec.letsgoing.ardublock.simulator.simcode.datatypes.SimTypeInt;
-import tec.letsgoing.ardublock.simulator.simcode.datatypes.SimTypeString;
 import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 import tec.letsgoing.ardublock.simulator.view.GUI;
 
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/SimCode.java b/src/tec/letsgoing/ardublock/simulator/simcode/SimCode.java
index 22b8de4..c306437 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/SimCode.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/SimCode.java
@@ -3,8 +3,6 @@
  */
 package tec.letsgoing.ardublock.simulator.simcode;
 
-import java.util.Vector;
-
 import tec.letsgoing.ardublock.simulator.arduino.Arduino;
 import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeElse.java b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeElse.java
index ad9ef65..200f52e 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeElse.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeElse.java
@@ -14,14 +14,12 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
  *
  */
 public class CodeElse extends CodeTypeIf {
-	private CodeTypeIf follow;
 	private Vector<SimCode> codeBlocks;
 
 	public CodeElse(Vector<SimCode> _vec) {
 		codeBlocks = _vec;
 	}
 
-	// TODO If kann erweitert werden durch else/elseif
 	@Override
 	public SimCode run(Arduino _arduino, SimCodeFunction functionHead) {
 
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeForCount.java b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeForCount.java
index 0937d34..d441b28 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeForCount.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeForCount.java
@@ -18,24 +18,30 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 public class CodeForCount extends SimCode {
 	private SimTypeInt count;
 	private SimTypeString varname;
-	private Vector<SimCode> blocks;
+	private Vector<SimCode> codeblocks;
 
 	public CodeForCount(SimTypeInt _count, SimTypeString _varname, Vector<SimCode> _blocks) {
 		count = _count;
 		varname = _varname;
-		blocks = _blocks;
+		codeblocks = _blocks;
 	}
 
 	@Override
 	public SimCode run(Arduino _arduino, SimCodeFunction functionHead) {
-		// TODO Auto-generated method stub
+		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));
+			for (SimCode block : codeblocks) {
+				block.run(_arduino, functionHead);
+			}
+		}
 		return null;
 	}
 
 	@Override
 	public String toString() {
-		// TODO Auto-generated method stub
-		return null;
+
+		return "";
 	}
 
 }
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeWhileMillis.java b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeWhileMillis.java
index 3d7a909..6ca2717 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeWhileMillis.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeWhileMillis.java
@@ -3,8 +3,12 @@
  */
 package tec.letsgoing.ardublock.simulator.simcode.control;
 
+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.SimTypeInt;
+import tec.letsgoing.ardublock.simulator.simcode.datatypes.SimTypeString;
 import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
@@ -12,17 +16,32 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
  *
  */
 public class CodeWhileMillis extends SimCode {
+	private SimTypeInt duration;
+	private SimTypeString varname;
+	private Vector<SimCode> blocks;
+
+	public CodeWhileMillis(SimTypeInt _duration, SimTypeString _varname, Vector<SimCode> _blocks) {
+		duration = _duration;
+		varname = _varname;
+		blocks = _blocks;
+	}
 
 	@Override
 	public SimCode run(Arduino _arduino, SimCodeFunction functionHead) {
-		// TODO Auto-generated method stub
+		functionHead.createVariable(varname.toString(), new SimTypeInt(_arduino.getMillis()));
+		int startTime = _arduino.getMillis();
+		int dura = duration.run(_arduino, functionHead).getValue();
+		while (startTime + dura < _arduino.getMillis()) {
+			for (SimCode block : blocks) {
+				block.run(_arduino, functionHead);
+			}
+		}
 		return null;
 	}
 
 	@Override
 	public String toString() {
-		// TODO Auto-generated method stub
-		return null;
+		return "";
 	}
 
 }
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntCreate.java b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntCreate.java
index 3243028..8a29e0f 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntCreate.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntCreate.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/simcode/vars/CodeIntGet.java b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntGet.java
index 4186814..4c21be5 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntGet.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntGet.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/simcode/vars/CodeMillis.java b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeMillis.java
index b5e1cc6..e5194e8 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeMillis.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeMillis.java
@@ -15,7 +15,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 public class CodeMillis extends SimCode {
 
 	@Override
-	public SimCode run(Arduino _arduino, SimCodeFunction functionHead) {
+	public SimTypeInt run(Arduino _arduino, SimCodeFunction functionHead) {
 		return new SimTypeInt(_arduino.getMillis());
 	}
 
-- 
GitLab