Merge "A4MCAR - Script to set up web interface dependencies added."
diff --git a/rover/AMALTHEA model/rover081.amxmi b/rover/AMALTHEA model/rover081.amxmi
new file mode 100644
index 0000000..46ffa59
--- /dev/null
+++ b/rover/AMALTHEA model/rover081.amxmi
@@ -0,0 +1,246 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<am:Amalthea xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:am="http://app4mc.eclipse.org/amalthea/0.8.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <swModel>
+    <runnables name="Display_Sensors" activation="500ms?type=PeriodicActivation" callback="false" service="false">
+      <runnableItems xsi:type="am:RunnableInstructions">
+        <default xsi:type="am:InstructionsConstant" value="3173300"/>
+      </runnableItems>
+      <runnableItems xsi:type="am:LabelAccess" data="humidity?type=Label" access="read"/>
+      <runnableItems xsi:type="am:LabelAccess" data="temperature?type=Label" access="read"/>
+      <runnableItems xsi:type="am:LabelAccess" data="infrared_Frontleft?type=Label" access="read"/>
+      <runnableItems xsi:type="am:LabelAccess" data="US_distance_front?type=Label" access="read"/>
+      <runnableItems xsi:type="am:LabelAccess" data="bearing?type=Label" access="read"/>
+    </runnables>
+    <runnables name="InfraRed" activation="500ms?type=PeriodicActivation" callback="false" service="false">
+      <runnableItems xsi:type="am:RunnableInstructions">
+        <default xsi:type="am:InstructionsConstant" value="244100"/>
+      </runnableItems>
+      <runnableItems xsi:type="am:SemaphoreAccess" semaphore="sem_ir?type=Semaphore" access="request"/>
+      <runnableItems xsi:type="am:LabelAccess" data="infrared_Frontleft?type=Label" access="write"/>
+      <runnableItems xsi:type="am:SemaphoreAccess" semaphore="sem_ir?type=Semaphore" access="release"/>
+    </runnables>
+    <runnables name="MotorDriver" activation="100ms?type=PeriodicActivation" callback="false" service="false">
+      <runnableItems xsi:type="am:RunnableInstructions">
+        <default xsi:type="am:InstructionsConstant" value="122050"/>
+      </runnableItems>
+      <runnableItems xsi:type="am:SemaphoreAccess" semaphore="sem_kc?type=Semaphore" access="request"/>
+      <runnableItems xsi:type="am:LabelAccess" data="keycommand_shared?type=Label" access="write"/>
+      <runnableItems xsi:type="am:SemaphoreAccess" semaphore="sem_kc?type=Semaphore" access="release"/>
+    </runnables>
+    <runnables name="US_Grove_Front" activation="500ms?type=PeriodicActivation" callback="false" service="false">
+      <runnableItems xsi:type="am:RunnableInstructions">
+        <default xsi:type="am:InstructionsConstant" value="5858400"/>
+      </runnableItems>
+      <runnableItems xsi:type="am:SemaphoreAccess" semaphore="sem_us?type=Semaphore" access="request"/>
+      <runnableItems xsi:type="am:LabelAccess" data="US_distance_front?type=Label" access="write"/>
+      <runnableItems xsi:type="am:SemaphoreAccess" semaphore="sem_us?type=Semaphore" access="release"/>
+    </runnables>
+    <runnables name="US_SR04_Front" activation="500ms?type=PeriodicActivation" callback="false" service="false">
+      <runnableItems xsi:type="am:RunnableInstructions">
+        <default xsi:type="am:InstructionsConstant" value="4882000"/>
+      </runnableItems>
+      <runnableItems xsi:type="am:SemaphoreAccess" semaphore="sem_us?type=Semaphore" access="request"/>
+      <runnableItems xsi:type="am:LabelAccess" data="US_distance_front?type=Label" access="write"/>
+      <runnableItems xsi:type="am:SemaphoreAccess" semaphore="sem_us?type=Semaphore" access="release"/>
+    </runnables>
+    <runnables name="US_SR04_Back" activation="500ms?type=PeriodicActivation" callback="false" service="false">
+      <runnableItems xsi:type="am:RunnableInstructions">
+        <default xsi:type="am:InstructionsConstant" value="4882000"/>
+      </runnableItems>
+      <runnableItems xsi:type="am:SemaphoreAccess" semaphore="sem_us?type=Semaphore" access="request"/>
+      <runnableItems xsi:type="am:LabelAccess" data="US_distance_back?type=Label" access="write"/>
+      <runnableItems xsi:type="am:SemaphoreAccess" semaphore="sem_us?type=Semaphore" access="release"/>
+    </runnables>
+    <runnables name="Record_Timing" activation="2s?type=PeriodicActivation" callback="false" service="false">
+      <runnableItems xsi:type="am:RunnableInstructions">
+        <default xsi:type="am:InstructionsConstant" value="17087000"/>
+      </runnableItems>
+    </runnables>
+    <runnables name="Webserver" activation="50ms?type=PeriodicActivation" callback="false" service="false">
+      <runnableItems xsi:type="am:RunnableInstructions">
+        <default xsi:type="am:InstructionsConstant" value="488200"/>
+      </runnableItems>
+      <runnableItems xsi:type="am:SemaphoreAccess" semaphore="sem_kc?type=Semaphore" access="request"/>
+      <runnableItems xsi:type="am:LabelAccess" data="keycommand_shared?type=Label" access="write"/>
+      <runnableItems xsi:type="am:SemaphoreAccess" semaphore="sem_kc?type=Semaphore" access="release"/>
+    </runnables>
+    <runnables name="KeyCommand" activation="50ms?type=PeriodicActivation" callback="false" service="false">
+      <runnableItems xsi:type="am:RunnableInstructions">
+        <default xsi:type="am:InstructionsConstant" value="488200"/>
+      </runnableItems>
+      <runnableItems xsi:type="am:SemaphoreAccess" semaphore="sem_kc?type=Semaphore" access="request"/>
+      <runnableItems xsi:type="am:LabelAccess" data="keycommand_shared?type=Label" access="write"/>
+      <runnableItems xsi:type="am:SemaphoreAccess" semaphore="sem_kc?type=Semaphore" access="release"/>
+    </runnables>
+    <runnables name="Compass" activation="500ms?type=PeriodicActivation" callback="false" service="false">
+      <runnableItems xsi:type="am:RunnableInstructions">
+        <default xsi:type="am:InstructionsConstant" value="488200"/>
+      </runnableItems>
+      <runnableItems xsi:type="am:SemaphoreAccess" semaphore="sem_bear?type=Semaphore" access="request"/>
+      <runnableItems xsi:type="am:LabelAccess" data="bearing?type=Label" access="write"/>
+      <runnableItems xsi:type="am:SemaphoreAccess" semaphore="sem_bear?type=Semaphore" access="release"/>
+    </runnables>
+    <runnables name="Temperature" activation="500ms?type=PeriodicActivation" callback="false" service="false">
+      <runnableItems xsi:type="am:RunnableInstructions">
+        <default xsi:type="am:InstructionsConstant" value="488200"/>
+      </runnableItems>
+      <runnableItems xsi:type="am:SemaphoreAccess" semaphore="sem_temp?type=Semaphore" access="request"/>
+      <runnableItems xsi:type="am:LabelAccess" data="temperature?type=Label" access="write"/>
+      <runnableItems xsi:type="am:SemaphoreAccess" semaphore="sem_temp?type=Semaphore" access="release"/>
+      <runnableItems xsi:type="am:SemaphoreAccess" semaphore="sem_hum?type=Semaphore" access="request"/>
+      <runnableItems xsi:type="am:LabelAccess" data="humidity?type=Label" access="write"/>
+      <runnableItems xsi:type="am:SemaphoreAccess" semaphore="sem_hum?type=Semaphore" access="release"/>
+    </runnables>
+    <runnables name="ACC" activation="100ms?type=PeriodicActivation" callback="false" service="false" asilLevel="B">
+      <runnableItems xsi:type="am:LabelAccess" data="US_distance_front?type=Label" access="read"/>
+      <runnableItems xsi:type="am:SemaphoreAccess" semaphore="sem_kc?type=Semaphore" access="request"/>
+      <runnableItems xsi:type="am:LabelAccess" data="keycommand_shared?type=Label" access="write"/>
+      <runnableItems xsi:type="am:SemaphoreAccess" semaphore="sem_kc?type=Semaphore" access="release"/>
+      <runnableItems xsi:type="am:LabelAccess" data="US_distance_back?type=Label" access="read"/>
+      <runnableItems xsi:type="am:RunnableInstructions">
+        <default xsi:type="am:InstructionsConstant" value="0"/>
+      </runnableItems>
+    </runnables>
+    <runnables name="US_Grove_Back" activation="500ms?type=PeriodicActivation" callback="false" service="false">
+      <runnableItems xsi:type="am:RunnableInstructions">
+        <default xsi:type="am:InstructionsConstant" value="5858400"/>
+      </runnableItems>
+      <runnableItems xsi:type="am:SemaphoreAccess" semaphore="sem_us?type=Semaphore" access="request"/>
+      <runnableItems xsi:type="am:LabelAccess" data="US_distance_back?type=Label" access="write"/>
+      <runnableItems xsi:type="am:SemaphoreAccess" semaphore="sem_us?type=Semaphore" access="release"/>
+    </runnables>
+    <runnables name="RaspberryTest" activation="1s?type=PeriodicActivation" callback="false" service="false">
+      <runnableItems xsi:type="am:RunnableInstructions">
+        <default xsi:type="am:InstructionsConstant" value="1000"/>
+      </runnableItems>
+    </runnables>
+    <runnables name="Parking" activation="100ms?type=PeriodicActivation" callback="false" service="false">
+      <runnableItems xsi:type="am:RunnableInstructions">
+        <default xsi:type="am:InstructionsConstant" value="1000"/>
+      </runnableItems>
+      <runnableItems xsi:type="am:LabelAccess" data="US_distance_back?type=Label" access="read"/>
+      <runnableItems xsi:type="am:LabelAccess" data="US_distance_front?type=Label" access="read"/>
+    </runnables>
+    <runnables name="Record_Sensordata" activation="400ms?type=PeriodicActivation" callback="false" service="false">
+      <runnableItems xsi:type="am:RunnableInstructions">
+        <default xsi:type="am:InstructionsConstant" value="1000"/>
+      </runnableItems>
+      <runnableItems xsi:type="am:LabelAccess" data="bearing?type=Label" access="read"/>
+      <runnableItems xsi:type="am:LabelAccess" data="humidity?type=Label" access="read"/>
+      <runnableItems xsi:type="am:LabelAccess" data="infrared_Backleft?type=Label" access="read"/>
+      <runnableItems xsi:type="am:LabelAccess" data="infrared_Backright?type=Label" access="read"/>
+      <runnableItems xsi:type="am:LabelAccess" data="infrared_Frontleft?type=Label" access="read"/>
+      <runnableItems xsi:type="am:LabelAccess" data="infrared_Frontright?type=Label" access="read"/>
+      <runnableItems xsi:type="am:LabelAccess" data="temperature?type=Label" access="read"/>
+      <runnableItems xsi:type="am:LabelAccess" data="US_distance_back?type=Label" access="read"/>
+      <runnableItems xsi:type="am:LabelAccess" data="US_distance_front?type=Label" access="read"/>
+    </runnables>
+    <labels name="keycommand_shared" constant="false" bVolatile="false">
+      <size value="1" unit="B"/>
+    </labels>
+    <labels name="infrared_Frontleft" constant="false" bVolatile="false">
+      <size value="4" unit="B"/>
+    </labels>
+    <labels name="US_distance_front" constant="false" bVolatile="false">
+      <size value="4" unit="B"/>
+    </labels>
+    <labels name="US_distance_back" constant="false" bVolatile="false">
+      <size value="4" unit="B"/>
+    </labels>
+    <labels name="local_command" constant="false" bVolatile="false">
+      <size value="1" unit="B"/>
+    </labels>
+    <labels name="humidity" constant="false" bVolatile="false">
+      <size value="4" unit="B"/>
+    </labels>
+    <labels name="temperature" constant="false" bVolatile="false">
+      <size value="4" unit="B"/>
+    </labels>
+    <labels name="bearing" constant="false" bVolatile="false">
+      <size value="4" unit="B"/>
+    </labels>
+    <labels name="infrared_Frontright" constant="false" bVolatile="false">
+      <size value="4" unit="B"/>
+    </labels>
+    <labels name="infrared_Backleft" constant="false" bVolatile="false">
+      <size value="4" unit="B"/>
+    </labels>
+    <labels name="infrared_Backright" constant="false" bVolatile="false">
+      <size value="4" unit="B"/>
+    </labels>
+    <labels name="speed" constant="false" bVolatile="false">
+      <size value="4" unit="B"/>
+    </labels>
+    <labels name="steering" constant="false" bVolatile="false">
+      <size value="4" unit="B"/>
+    </labels>
+    <activations xsi:type="am:PeriodicActivation" name="50ms">
+      <min value="50" unit="ms"/>
+      <max value="50" unit="ms"/>
+    </activations>
+    <activations xsi:type="am:PeriodicActivation" name="100ms">
+      <min value="100" unit="ms"/>
+      <max value="100" unit="ms"/>
+    </activations>
+    <activations xsi:type="am:PeriodicActivation" name="500ms">
+      <min value="500" unit="ms"/>
+      <max value="500" unit="ms"/>
+    </activations>
+    <activations xsi:type="am:PeriodicActivation" name="1s">
+      <min value="1" unit="s"/>
+      <max value="1" unit="s"/>
+      <recurrence value="1" unit="s"/>
+    </activations>
+    <activations xsi:type="am:PeriodicActivation" name="400ms">
+      <min value="400" unit="ms"/>
+      <max value="400" unit="ms"/>
+      <recurrence value="400" unit="ms"/>
+    </activations>
+    <activations xsi:type="am:PeriodicActivation" name="2s">
+      <min value="2" unit="s"/>
+      <max value="2" unit="s"/>
+      <recurrence value="2" unit="s"/>
+    </activations>
+  </swModel>
+  <hwModel>
+    <coreTypes name="ARM Coretex-A53" bitWidth="64" instructionsPerCycle="1.0"/>
+    <system>
+      <ecus name="RPI3">
+        <microcontrollers name="ARM Coretex-A53">
+          <cores name="1" coreType="ARM+Coretex-A53?type=CoreType" lockstepGroup="0">
+            <quartzes name="Q1">
+              <frequency unit="Hz" value="1.2E9"/>
+            </quartzes>
+            <prescaler name="prescaler1" clockRatio="1.0" quartz="Q1?type=Quartz"/>
+          </cores>
+          <cores name="2" coreType="ARM+Coretex-A53?type=CoreType" lockstepGroup="0">
+            <quartzes name="Q2">
+              <frequency unit="Hz" value="1.2E9"/>
+            </quartzes>
+            <prescaler name="prescaler2" clockRatio="1.0" quartz="Q2?type=Quartz"/>
+          </cores>
+          <cores name="3" coreType="ARM+Coretex-A53?type=CoreType" lockstepGroup="0">
+            <quartzes name="Q3">
+              <frequency unit="Hz" value="1.2E9"/>
+            </quartzes>
+            <prescaler name="prescaler3" clockRatio="1.0" quartz="Q3?type=Quartz"/>
+          </cores>
+          <cores name="4" coreType="ARM+Coretex-A53?type=CoreType" lockstepGroup="0">
+            <quartzes name="Q4">
+              <frequency unit="Hz" value="1.2E9"/>
+            </quartzes>
+            <prescaler name="prescaler4" clockRatio="1.0" quartz="Q4?type=Quartz"/>
+          </cores>
+        </microcontrollers>
+      </ecus>
+    </system>
+  </hwModel>
+  <osModel>
+    <semaphores name="sem_ir" initialValue="0" maxValue="0" priorityCeilingProtocol="false"/>
+    <semaphores name="sem_us" initialValue="0" maxValue="0" priorityCeilingProtocol="false"/>
+    <semaphores name="sem_temp" initialValue="0" maxValue="0" priorityCeilingProtocol="false"/>
+    <semaphores name="sem_hum" initialValue="0" maxValue="0" priorityCeilingProtocol="false"/>
+    <semaphores name="sem_kc" initialValue="0" maxValue="0" priorityCeilingProtocol="false"/>
+    <semaphores name="sem_bear" initialValue="0" maxValue="0" priorityCeilingProtocol="false"/>
+  </osModel>
+</am:Amalthea>