diff --git a/.project b/.project
new file mode 100644
index 00000000..7cc853fb
--- /dev/null
+++ b/.project
@@ -0,0 +1,11 @@
+
+
+ moped
+
+
+
+
+
+
+
+
diff --git a/simulator/Axelsson1421418945099-tcpioteclipseorg1883/.lck b/simulator/Axelsson1421418945099-tcpioteclipseorg1883/.lck
new file mode 100644
index 00000000..e69de29b
diff --git a/simulator/configs/system1.xml b/simulator/configs/system1.xml
index 1d29c807..353bab5e 100644
--- a/simulator/configs/system1.xml
+++ b/simulator/configs/system1.xml
@@ -5,7 +5,7 @@
default
MOPED
SICS
- 20UYA31581L000000
+ 20JAX31581L000000
diff --git a/simulator/src/main/java/fresta/pirte/PIRTE.java b/simulator/src/main/java/fresta/pirte/PIRTE.java
index e8d6c077..360c875a 100644
--- a/simulator/src/main/java/fresta/pirte/PIRTE.java
+++ b/simulator/src/main/java/fresta/pirte/PIRTE.java
@@ -23,6 +23,8 @@
import fresta.port.instances.VirtualPublishRPort;
import fresta.port.instances.VirtualLEDRPort;
import fresta.port.instances.VirtualVoltagePPort;
+import fresta.port.instances.VirtualAcceleratorRPort;
+import fresta.port.instances.VirtualSteeringRPort;
import autosar.RTE;
import sics.plugin.PlugInComponent;
import sics.port.EcuVirtualPPort;
@@ -56,6 +58,8 @@ public PIRTE(int id) {
this.id = id;
vrports.put(0, new VirtualPublishRPort(0));
+ vpports.put(new Integer(3), new VirtualAcceleratorRPort(3));
+ vpports.put(new Integer(4), new VirtualSteeringRPort(4));
vpports.put(new Integer(5), new VirtualFrontWheelPPort(5));
vpports.put(new Integer(6), new VirtualRearWheelPPort(6));
vpports.put(new Integer(7), new VirtualVoltagePPort(7));
diff --git a/simulator/src/main/java/fresta/port/instances/VirtualAcceleratorRPort.java b/simulator/src/main/java/fresta/port/instances/VirtualAcceleratorRPort.java
new file mode 100644
index 00000000..6229afed
--- /dev/null
+++ b/simulator/src/main/java/fresta/port/instances/VirtualAcceleratorRPort.java
@@ -0,0 +1,16 @@
+package fresta.port.instances;
+
+import gui.CarModel;
+import sics.port.EcuVirtualRPort;
+
+public class VirtualAcceleratorRPort extends EcuVirtualRPort {
+
+ public VirtualAcceleratorRPort(int id) {
+ super(id);
+ }
+
+ @Override
+ public void deliver(Object data) {
+ CarModel.motorPower = ((int) data) / 100.0;
+ }
+}
diff --git a/simulator/src/main/java/fresta/port/instances/VirtualLEDRPort.java b/simulator/src/main/java/fresta/port/instances/VirtualLEDRPort.java
index d8296d49..e1b98cb4 100644
--- a/simulator/src/main/java/fresta/port/instances/VirtualLEDRPort.java
+++ b/simulator/src/main/java/fresta/port/instances/VirtualLEDRPort.java
@@ -1,5 +1,6 @@
package fresta.port.instances;
+import gui.CarModel;
import sics.port.EcuVirtualRPort;
public class VirtualLEDRPort extends EcuVirtualRPort {
@@ -15,6 +16,8 @@ public void deliver(Object data) {
String pin = dataStr.substring(0, barIndex);
String value = dataStr.substring(barIndex+1);
+ CarModel.lamp[Integer.parseInt(pin)] = (value == "1");
+
// Currently, this method just prints the value of the LED pin.
// TODO: Show the LEDs in the graphical GUI.
System.out.println("LED + " + pin + " = " + value);
diff --git a/simulator/src/main/java/fresta/port/instances/VirtualSteeringRPort.java b/simulator/src/main/java/fresta/port/instances/VirtualSteeringRPort.java
new file mode 100644
index 00000000..325f3bd3
--- /dev/null
+++ b/simulator/src/main/java/fresta/port/instances/VirtualSteeringRPort.java
@@ -0,0 +1,16 @@
+package fresta.port.instances;
+
+import gui.CarModel;
+import sics.port.EcuVirtualRPort;
+
+public class VirtualSteeringRPort extends EcuVirtualRPort {
+
+ public VirtualSteeringRPort(int id) {
+ super(id);
+ }
+
+ @Override
+ public void deliver(Object data) {
+ CarModel.steeringAngle = ((int) data) / 100.0;
+ }
+}
\ No newline at end of file
diff --git a/simulator/src/main/java/gui/CarModel.java b/simulator/src/main/java/gui/CarModel.java
index 46fcb425..e93859e7 100644
--- a/simulator/src/main/java/gui/CarModel.java
+++ b/simulator/src/main/java/gui/CarModel.java
@@ -44,6 +44,9 @@ public class CarModel extends SimulatorModel implements PhysicalObjectModel {
/** The steering angle. */
public static double steeringAngle; // Current steering angle, as -1 .. 1 of
// maxSteeringAngle
+
+ /** Lamps */
+ public static boolean lamp[]; // True when lamp is on, False otherwise
// Variables calculated by the simulation.
/** The vehicle speed. */
@@ -77,9 +80,19 @@ public class CarModel extends SimulatorModel implements PhysicalObjectModel {
// hazardLightOn
public static boolean hazardLightOn;
+ // battery voltage
+ public static double voltage;
+
/** The limited speed. */
static double limitedSpeed;
+ public CarModel() {
+ lamp = new boolean[3];
+ lamp[0] = false;
+ lamp[1] = false;
+ lamp[2] = false;
+ }
+
/*
* (non-Javadoc)
*
diff --git a/simulator/target/maven-archiver/pom.properties b/simulator/target/maven-archiver/pom.properties
index b701dfb0..1486fc3e 100644
--- a/simulator/target/maven-archiver/pom.properties
+++ b/simulator/target/maven-archiver/pom.properties
@@ -1,5 +1,5 @@
#Generated by Maven
-#Fri Jan 16 12:00:41 CET 2015
+#Fri Jan 16 15:33:42 CET 2015
version=1.0
groupId=se.sics.sse.fresta
artifactId=simulator