From 720e6f81bf1488af49e8cddad0edb3bbf70a219c Mon Sep 17 00:00:00 2001
From: Florian Hoelzl <hoelzl@fortiss.org>
Date: Thu, 7 Dec 2017 12:25:21 +0000
Subject: [PATCH] Added rumblepad to RasPi platform. refs 2507

---
 .../trunk/META-INF/MANIFEST.MF                |  5 +-
 .../trunk/model/raspberry.ecore               | 53 +++++++++++++------
 .../trunk/plugin.xml                          |  8 +++
 3 files changed, 50 insertions(+), 16 deletions(-)

diff --git a/org.fortiss.af3.platform.raspberry/trunk/META-INF/MANIFEST.MF b/org.fortiss.af3.platform.raspberry/trunk/META-INF/MANIFEST.MF
index 857b6c71..ba6bbcc1 100644
--- a/org.fortiss.af3.platform.raspberry/trunk/META-INF/MANIFEST.MF
+++ b/org.fortiss.af3.platform.raspberry/trunk/META-INF/MANIFEST.MF
@@ -15,6 +15,9 @@ Export-Package: org.fortiss.af3.platform.raspberry.model,
  org.fortiss.af3.platform.raspberry.model.gamepad.impl,
  org.fortiss.af3.platform.raspberry.model.gamepad.util,
  org.fortiss.af3.platform.raspberry.model.impl,
+ org.fortiss.af3.platform.raspberry.model.rumblepad,
+ org.fortiss.af3.platform.raspberry.model.rumblepad.impl,
+ org.fortiss.af3.platform.raspberry.model.rumblepad.util,
  org.fortiss.af3.platform.raspberry.model.util,
  org.fortiss.af3.platform.raspberry.util
 Bundle-ActivationPolicy: lazy
@@ -24,7 +27,7 @@ Require-Bundle: org.fortiss.af3.project,
  org.eclipse.core.runtime,
  org.eclipse.emf.ecore;visibility:=reexport,
  org.fortiss.tooling.base;visibility:=reexport,
- org.fortiss.af3.platform;visibility:=reexport;bundle-version="2.5.0",
+ org.fortiss.af3.platform;bundle-version="2.5.0";visibility:=reexport,
  org.fortiss.tooling.base.ui;bundle-version="2.11.0",
  org.fortiss.af3.generator.common
 Import-Package: org.fortiss.af3.deployment.generator,
diff --git a/org.fortiss.af3.platform.raspberry/trunk/model/raspberry.ecore b/org.fortiss.af3.platform.raspberry/trunk/model/raspberry.ecore
index af513bc4..4b57a64b 100644
--- a/org.fortiss.af3.platform.raspberry/trunk/model/raspberry.ecore
+++ b/org.fortiss.af3.platform.raspberry/trunk/model/raspberry.ecore
@@ -2,21 +2,21 @@
 <ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="model" nsURI="http://www.fortiss.org/af3/platform/raspberry"
     nsPrefix="org-fortiss-af3-platform-raspberry">
-  <eClassifiers xsi:type="ecore:EClass" name="RaspberryPi" eSuperTypes="platform:/resource/org.fortiss.af3.platform/model/platform.ecore#//ExecutionUnit">
+  <eClassifiers xsi:type="ecore:EClass" name="RaspberryPi" eSuperTypes="../../org.fortiss.af3.platform/model/platform.ecore#//ExecutionUnit">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="canCoordinationID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="ipAddress" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="coordinatorUnit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="cycleTime" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="CanBus" eSuperTypes="platform:/resource/org.fortiss.af3.platform/model/platform.ecore#//TransmissionUnit"/>
-  <eClassifiers xsi:type="ecore:EClass" name="CanConnector" eSuperTypes="platform:/resource/org.fortiss.af3.platform/model/platform.ecore#//Transceiver"/>
-  <eClassifiers xsi:type="ecore:EClass" name="ActuatorPWM" eSuperTypes="platform:/resource/org.fortiss.af3.platform/model/platform.ecore#//Transmitter">
+  <eClassifiers xsi:type="ecore:EClass" name="CanBus" eSuperTypes="../../org.fortiss.af3.platform/model/platform.ecore#//TransmissionUnit"/>
+  <eClassifiers xsi:type="ecore:EClass" name="CanConnector" eSuperTypes="../../org.fortiss.af3.platform/model/platform.ecore#//Transceiver"/>
+  <eClassifiers xsi:type="ecore:EClass" name="ActuatorPWM" eSuperTypes="../../org.fortiss.af3.platform/model/platform.ecore#//Transmitter">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="channelID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
   </eClassifiers>
   <eSubpackages name="gamepad" nsURI="http://www.fortiss.org/af3/platform/raspberry/gamepad"
       nsPrefix="org-fortiss-af3-platform-raspberry-gamepad">
     <eClassifiers xsi:type="ecore:EClass" name="GamepadReceiverBase" abstract="true"
-        eSuperTypes="platform:/resource/org.fortiss.af3.platform/model/platform.ecore#//Receiver"/>
+        eSuperTypes="../../org.fortiss.af3.platform/model/platform.ecore#//Receiver"/>
     <eClassifiers xsi:type="ecore:EClass" name="Button1" eSuperTypes="#//gamepad/GamepadReceiverBase"/>
     <eClassifiers xsi:type="ecore:EClass" name="Button2" eSuperTypes="#//gamepad/GamepadReceiverBase"/>
     <eClassifiers xsi:type="ecore:EClass" name="Button3" eSuperTypes="#//gamepad/GamepadReceiverBase"/>
@@ -32,19 +32,42 @@
   </eSubpackages>
   <eSubpackages name="brick" nsURI="http://www.fortiss.org/af3/platform/raspberry/brick"
       nsPrefix="org-fortiss-af3-platform-raspberry">
-    <eClassifiers xsi:type="ecore:EClass" name="UIDUnit" abstract="true" eSuperTypes="platform:/resource/org.fortiss.tooling.kernel/model/kernel.ecore#//INamedCommentedElement">
+    <eClassifiers xsi:type="ecore:EClass" name="UIDUnit" abstract="true" eSuperTypes="../../org.fortiss.tooling.kernel/model/kernel.ecore#//INamedCommentedElement">
       <eStructuralFeatures xsi:type="ecore:EAttribute" name="uniqueBrickletID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     </eClassifiers>
-    <eClassifiers xsi:type="ecore:EClass" name="UltraSonicSensor" eSuperTypes="platform:/resource/org.fortiss.af3.platform/model/platform.ecore#//Receiver #//brick/UIDUnit"/>
-    <eClassifiers xsi:type="ecore:EClass" name="LaserRangeSensor" eSuperTypes="platform:/resource/org.fortiss.af3.platform/model/platform.ecore#//Receiver #//brick/UIDUnit"/>
-    <eClassifiers xsi:type="ecore:EClass" name="AccelerationXSensor" eSuperTypes="platform:/resource/org.fortiss.af3.platform/model/platform.ecore#//Receiver #//brick/UIDUnit"/>
-    <eClassifiers xsi:type="ecore:EClass" name="AccelerationYSensor" eSuperTypes="platform:/resource/org.fortiss.af3.platform/model/platform.ecore#//Receiver #//brick/UIDUnit"/>
-    <eClassifiers xsi:type="ecore:EClass" name="AccelerationZSensor" eSuperTypes="platform:/resource/org.fortiss.af3.platform/model/platform.ecore#//Receiver #//brick/UIDUnit"/>
-    <eClassifiers xsi:type="ecore:EClass" name="AngularVelocityXSensor" eSuperTypes="platform:/resource/org.fortiss.af3.platform/model/platform.ecore#//Receiver #//brick/UIDUnit"/>
-    <eClassifiers xsi:type="ecore:EClass" name="AngularVelocityYSensor" eSuperTypes="platform:/resource/org.fortiss.af3.platform/model/platform.ecore#//Receiver #//brick/UIDUnit"/>
-    <eClassifiers xsi:type="ecore:EClass" name="AngularVelocityZSensor" eSuperTypes="platform:/resource/org.fortiss.af3.platform/model/platform.ecore#//Receiver #//brick/UIDUnit"/>
-    <eClassifiers xsi:type="ecore:EClass" name="ActuatorDigits" eSuperTypes="platform:/resource/org.fortiss.af3.platform/model/platform.ecore#//Transmitter #//brick/UIDUnit">
+    <eClassifiers xsi:type="ecore:EClass" name="UltraSonicSensor" eSuperTypes="../../org.fortiss.af3.platform/model/platform.ecore#//Receiver #//brick/UIDUnit"/>
+    <eClassifiers xsi:type="ecore:EClass" name="LaserRangeSensor" eSuperTypes="../../org.fortiss.af3.platform/model/platform.ecore#//Receiver #//brick/UIDUnit"/>
+    <eClassifiers xsi:type="ecore:EClass" name="AccelerationXSensor" eSuperTypes="../../org.fortiss.af3.platform/model/platform.ecore#//Receiver #//brick/UIDUnit"/>
+    <eClassifiers xsi:type="ecore:EClass" name="AccelerationYSensor" eSuperTypes="../../org.fortiss.af3.platform/model/platform.ecore#//Receiver #//brick/UIDUnit"/>
+    <eClassifiers xsi:type="ecore:EClass" name="AccelerationZSensor" eSuperTypes="../../org.fortiss.af3.platform/model/platform.ecore#//Receiver #//brick/UIDUnit"/>
+    <eClassifiers xsi:type="ecore:EClass" name="AngularVelocityXSensor" eSuperTypes="../../org.fortiss.af3.platform/model/platform.ecore#//Receiver #//brick/UIDUnit"/>
+    <eClassifiers xsi:type="ecore:EClass" name="AngularVelocityYSensor" eSuperTypes="../../org.fortiss.af3.platform/model/platform.ecore#//Receiver #//brick/UIDUnit"/>
+    <eClassifiers xsi:type="ecore:EClass" name="AngularVelocityZSensor" eSuperTypes="../../org.fortiss.af3.platform/model/platform.ecore#//Receiver #//brick/UIDUnit"/>
+    <eClassifiers xsi:type="ecore:EClass" name="ActuatorDigits" eSuperTypes="../../org.fortiss.af3.platform/model/platform.ecore#//Transmitter #//brick/UIDUnit">
       <eStructuralFeatures xsi:type="ecore:EAttribute" name="showHexValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
     </eClassifiers>
   </eSubpackages>
+  <eSubpackages name="rumblepad" nsURI="http://www.fortiss.org/af3/platform/raspberry/rumblepad"
+      nsPrefix="org-fortiss-af3-platform-raspberry-rumblepad">
+    <eClassifiers xsi:type="ecore:EClass" name="RumblepadReceiverBase" abstract="true"
+        eSuperTypes="../../org.fortiss.af3.platform/model/platform.ecore#//Receiver"/>
+    <eClassifiers xsi:type="ecore:EClass" name="ButtonA" eSuperTypes="#//rumblepad/RumblepadReceiverBase"/>
+    <eClassifiers xsi:type="ecore:EClass" name="ButtonB" eSuperTypes="#//rumblepad/RumblepadReceiverBase"/>
+    <eClassifiers xsi:type="ecore:EClass" name="ButtonX" eSuperTypes="#//rumblepad/RumblepadReceiverBase"/>
+    <eClassifiers xsi:type="ecore:EClass" name="ButtonY" eSuperTypes="#//rumblepad/RumblepadReceiverBase"/>
+    <eClassifiers xsi:type="ecore:EClass" name="ButtonL1" eSuperTypes="#//rumblepad/RumblepadReceiverBase"/>
+    <eClassifiers xsi:type="ecore:EClass" name="ButtonR1" eSuperTypes="#//rumblepad/RumblepadReceiverBase"/>
+    <eClassifiers xsi:type="ecore:EClass" name="ButtonL3" eSuperTypes="#//rumblepad/RumblepadReceiverBase"/>
+    <eClassifiers xsi:type="ecore:EClass" name="ButtonR3" eSuperTypes="#//rumblepad/RumblepadReceiverBase"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Left_StickX_Position" eSuperTypes="#//rumblepad/RumblepadReceiverBase"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Left_StickY_Position" eSuperTypes="#//rumblepad/RumblepadReceiverBase"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Right_StickX_Position" eSuperTypes="#//rumblepad/RumblepadReceiverBase"/>
+    <eClassifiers xsi:type="ecore:EClass" name="Right_StickY_Position" eSuperTypes="#//rumblepad/RumblepadReceiverBase"/>
+    <eClassifiers xsi:type="ecore:EClass" name="L2_Position" eSuperTypes="#//rumblepad/RumblepadReceiverBase"/>
+    <eClassifiers xsi:type="ecore:EClass" name="R2_Position" eSuperTypes="#//rumblepad/RumblepadReceiverBase"/>
+    <eClassifiers xsi:type="ecore:EClass" name="DPadUp" eSuperTypes="#//rumblepad/RumblepadReceiverBase"/>
+    <eClassifiers xsi:type="ecore:EClass" name="DPadDown" eSuperTypes="#//rumblepad/RumblepadReceiverBase"/>
+    <eClassifiers xsi:type="ecore:EClass" name="DPadLeft" eSuperTypes="#//rumblepad/RumblepadReceiverBase"/>
+    <eClassifiers xsi:type="ecore:EClass" name="DPadRight" eSuperTypes="#//rumblepad/RumblepadReceiverBase"/>
+  </eSubpackages>
 </ecore:EPackage>
diff --git a/org.fortiss.af3.platform.raspberry/trunk/plugin.xml b/org.fortiss.af3.platform.raspberry/trunk/plugin.xml
index bc4e1ce2..0171d29d 100644
--- a/org.fortiss.af3.platform.raspberry/trunk/plugin.xml
+++ b/org.fortiss.af3.platform.raspberry/trunk/plugin.xml
@@ -25,6 +25,14 @@
             class="org.fortiss.af3.platform.raspberry.model.gamepad.GamepadPackage"
             genModel="model/raspberry.genmodel"/>
    </extension>
+   
+   <extension point="org.eclipse.emf.ecore.generated_package">
+      <!-- @generated raspberry -->
+      <package
+            uri="http://www.fortiss.org/af3/platform/raspberry/rumblepad"
+            class="org.fortiss.af3.platform.raspberry.model.rumblepad.RumblepadPackage"
+            genModel="model/raspberry.genmodel"/>
+   </extension>
 
    <extension point="org.eclipse.emf.ecore.generated_package">
       <!-- @generated raspberry -->
-- 
GitLab