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