From 01898132b7683e1adcd326c88a5ce29fc1ff77cf Mon Sep 17 00:00:00 2001 From: Martin Eisenmann <eisenmann@fortiss.org> Date: Wed, 9 May 2018 15:48:25 +0200 Subject: [PATCH] First commit --- .../META-INF/MANIFEST.MF | 9 +++++- .../model/raspberry.ecore | 26 +++++++++++++++-- .../model/raspberry.genmodel | 28 ++++++++++++++++--- org.fortiss.af3.platform.raspberry/plugin.xml | 16 +++++++++++ 4 files changed, 72 insertions(+), 7 deletions(-) diff --git a/org.fortiss.af3.platform.raspberry/META-INF/MANIFEST.MF b/org.fortiss.af3.platform.raspberry/META-INF/MANIFEST.MF index e8655740..3287d0c5 100644 --- a/org.fortiss.af3.platform.raspberry/META-INF/MANIFEST.MF +++ b/org.fortiss.af3.platform.raspberry/META-INF/MANIFEST.MF @@ -11,10 +11,16 @@ Export-Package: org.fortiss.af3.platform.raspberry.model, org.fortiss.af3.platform.raspberry.model.brick, org.fortiss.af3.platform.raspberry.model.brick.impl, org.fortiss.af3.platform.raspberry.model.brick.util, + org.fortiss.af3.platform.raspberry.model.camera, + org.fortiss.af3.platform.raspberry.model.camera.impl, + org.fortiss.af3.platform.raspberry.model.camera.util, org.fortiss.af3.platform.raspberry.model.gamepad, 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.motorcontrol, + org.fortiss.af3.platform.raspberry.model.motorcontrol.impl, + org.fortiss.af3.platform.raspberry.model.motorcontrol.util, org.fortiss.af3.platform.raspberry.model.rumblepad, org.fortiss.af3.platform.raspberry.model.rumblepad.impl, org.fortiss.af3.platform.raspberry.model.rumblepad.util, @@ -32,7 +38,8 @@ Require-Bundle: org.fortiss.af3.project;visibility:=reexport, org.fortiss.tooling.base;visibility:=reexport, 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 + org.fortiss.af3.generator.common, + org.fortiss.af3.deployment;bundle-version="2.13.0" Import-Package: org.fortiss.af3.deployment.generator, org.fortiss.af3.platform.model diff --git a/org.fortiss.af3.platform.raspberry/model/raspberry.ecore b/org.fortiss.af3.platform.raspberry/model/raspberry.ecore index d4ea7cdd..2a877409 100644 --- a/org.fortiss.af3.platform.raspberry/model/raspberry.ecore +++ b/org.fortiss.af3.platform.raspberry/model/raspberry.ecore @@ -7,13 +7,19 @@ <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"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="cameraServerAddress" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="cameraServerPort" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> </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="ActuatorPWM" eSuperTypes="#//RaspberryPiTransmitterBase"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="channelID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="ConsoleOutput" eSuperTypes="platform:/resource/org.fortiss.af3.platform/model/platform.ecore#//Transmitter"/> + <eClassifiers xsi:type="ecore:EClass" name="ConsoleOutput" eSuperTypes="#//RaspberryPiTransmitterBase"/> + <eClassifiers xsi:type="ecore:EClass" name="RaspberryPiTransmitterBase" abstract="true" + eSuperTypes="platform:/resource/org.fortiss.af3.platform/model/platform.ecore#//Transmitter"/> + <eClassifiers xsi:type="ecore:EClass" name="RaspberryPiReceiverBase" abstract="true" + eSuperTypes="platform:/resource/org.fortiss.af3.platform/model/platform.ecore#//Receiver"/> <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" @@ -47,6 +53,9 @@ <eClassifiers xsi:type="ecore:EClass" name="ActuatorDigits" eSuperTypes="platform:/resource/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> + <eClassifiers xsi:type="ecore:EClass" name="LEDButtonRActuator" eSuperTypes="platform:/resource/org.fortiss.af3.platform/model/platform.ecore#//Transmitter #//brick/UIDUnit"/> + <eClassifiers xsi:type="ecore:EClass" name="LEDButtonGActuator" eSuperTypes="platform:/resource/org.fortiss.af3.platform/model/platform.ecore#//Transmitter #//brick/UIDUnit"/> + <eClassifiers xsi:type="ecore:EClass" name="LEDButtonBActuator" eSuperTypes="platform:/resource/org.fortiss.af3.platform/model/platform.ecore#//Transmitter #//brick/UIDUnit"/> </eSubpackages> <eSubpackages name="rumblepad" nsURI="http://www.fortiss.org/af3/platform/raspberry/rumblepad" nsPrefix="org-fortiss-af3-platform-raspberry-rumblepad"> @@ -77,4 +86,17 @@ <eClassifiers xsi:type="ecore:EClass" name="RumbleMagnitudeStrong" eSuperTypes="platform:/resource/org.fortiss.af3.platform/model/platform.ecore#//Transmitter"/> <eClassifiers xsi:type="ecore:EClass" name="RumbleMagnitudeWeak" eSuperTypes="platform:/resource/org.fortiss.af3.platform/model/platform.ecore#//Transmitter"/> </eSubpackages> + <eSubpackages name="motorcontrol" nsURI="http://www.fortiss.org/af3/platform/raspberry/motorcontrol" + nsPrefix="org-fortiss-af3-platform-raspberry-motorcontrol"> + <eClassifiers xsi:type="ecore:EClass" name="MotorControlInput" eSuperTypes="#//RaspberryPiReceiverBase"/> + <eClassifiers xsi:type="ecore:EClass" name="MotorControlOutput" eSuperTypes="#//RaspberryPiTransmitterBase"/> + </eSubpackages> + <eSubpackages name="camera" nsURI="http://www.fortiss.org/af3/platform/raspberry/camera" + nsPrefix="org-fortiss-af3-platform-raspberry-camera"> + <eClassifiers xsi:type="ecore:EClass" name="CameraDistanceLeft" eSuperTypes="#//RaspberryPiReceiverBase"/> + <eClassifiers xsi:type="ecore:EClass" name="CameraDistanceRight" eSuperTypes="#//RaspberryPiReceiverBase"/> + <eClassifiers xsi:type="ecore:EClass" name="CameraYawAngle" eSuperTypes="#//RaspberryPiReceiverBase"/> + <eClassifiers xsi:type="ecore:EClass" name="CameraDetectionStateLeft" eSuperTypes="#//RaspberryPiReceiverBase"/> + <eClassifiers xsi:type="ecore:EClass" name="CameraDetectionStateRight" eSuperTypes="#//RaspberryPiReceiverBase"/> + </eSubpackages> </ecore:EPackage> diff --git a/org.fortiss.af3.platform.raspberry/model/raspberry.genmodel b/org.fortiss.af3.platform.raspberry/model/raspberry.genmodel index 0db19dff..5976ed64 100644 --- a/org.fortiss.af3.platform.raspberry/model/raspberry.genmodel +++ b/org.fortiss.af3.platform.raspberry/model/raspberry.genmodel @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> <genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" - xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="(c) 2017 fortiss GmbH. GENERATED CODE: Do not edit, see Ecore metamodel instead!" - modelDirectory="/org.fortiss.af3.platform.raspberry/generated-src" modelPluginID="org.fortiss.af3.platform.raspberry" - modelName="Raspberry" importerID="org.eclipse.emf.importer.ecore" containmentProxies="true" - arrayAccessors="true" complianceLevel="7.0" copyrightFields="false" usedGenPackages="platform:/resource/org.fortiss.tooling.base/model/base.genmodel#//model platform:/resource/org.fortiss.af3.platform/model/platform.genmodel#//model platform:/resource/org.fortiss.tooling.kernel/model/kernel.genmodel#//model platform:/resource/org.fortiss.af3.allocation/model/allocation.genmodel#//model platform:/resource/org.fortiss.af3.component/model/component.genmodel#//model platform:/resource/org.fortiss.af3.project/model/project.genmodel#//model platform:/resource/org.fortiss.af3.expression/model/expression.genmodel#//model"> + xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.fortiss.af3.platform.raspberry/generated-src" + modelPluginID="org.fortiss.af3.platform.raspberry" modelName="Raspberry" importerID="org.eclipse.emf.importer.ecore" + containmentProxies="true" arrayAccessors="true" complianceLevel="7.0" copyrightFields="false" + usedGenPackages="platform:/resource/org.fortiss.tooling.base/model/base.genmodel#//model platform:/resource/org.fortiss.af3.platform/model/platform.genmodel#//model platform:/resource/org.fortiss.tooling.kernel/model/kernel.genmodel#//model platform:/resource/org.fortiss.af3.allocation/model/allocation.genmodel#//model platform:/resource/org.fortiss.af3.component/model/component.genmodel#//model platform:/resource/org.fortiss.af3.project/model/project.genmodel#//model platform:/resource/org.fortiss.af3.expression/model/expression.genmodel#//model"> <foreignModel>raspberry.ecore</foreignModel> <genPackages prefix="RaspberryPiModel" basePackage="org.fortiss.af3.platform.raspberry" disposableProviderFactory="true" ecorePackage="raspberry.ecore#/"> @@ -12,6 +12,8 @@ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute raspberry.ecore#//RaspberryPi/ipAddress"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute raspberry.ecore#//RaspberryPi/coordinatorUnit"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute raspberry.ecore#//RaspberryPi/cycleTime"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute raspberry.ecore#//RaspberryPi/cameraServerAddress"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute raspberry.ecore#//RaspberryPi/cameraServerPort"/> </genClasses> <genClasses ecoreClass="raspberry.ecore#//CanBus"/> <genClasses ecoreClass="raspberry.ecore#//CanConnector"/> @@ -19,6 +21,8 @@ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute raspberry.ecore#//ActuatorPWM/channelID"/> </genClasses> <genClasses ecoreClass="raspberry.ecore#//ConsoleOutput"/> + <genClasses image="false" ecoreClass="raspberry.ecore#//RaspberryPiTransmitterBase"/> + <genClasses image="false" ecoreClass="raspberry.ecore#//RaspberryPiReceiverBase"/> <nestedGenPackages prefix="Gamepad" basePackage="org.fortiss.af3.platform.raspberry.model" disposableProviderFactory="true" ecorePackage="raspberry.ecore#//gamepad"> <genClasses image="false" ecoreClass="raspberry.ecore#//gamepad/GamepadReceiverBase"/> @@ -51,6 +55,9 @@ <genClasses ecoreClass="raspberry.ecore#//brick/ActuatorDigits"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute raspberry.ecore#//brick/ActuatorDigits/showHexValue"/> </genClasses> + <genClasses ecoreClass="raspberry.ecore#//brick/LEDButtonRActuator"/> + <genClasses ecoreClass="raspberry.ecore#//brick/LEDButtonGActuator"/> + <genClasses ecoreClass="raspberry.ecore#//brick/LEDButtonBActuator"/> </nestedGenPackages> <nestedGenPackages prefix="Rumblepad" basePackage="org.fortiss.af3.platform.raspberry.model" disposableProviderFactory="true" ecorePackage="raspberry.ecore#//rumblepad"> @@ -80,5 +87,18 @@ <genClasses ecoreClass="raspberry.ecore#//rumblepad/RumbleMagnitudeStrong"/> <genClasses ecoreClass="raspberry.ecore#//rumblepad/RumbleMagnitudeWeak"/> </nestedGenPackages> + <nestedGenPackages prefix="Motorcontrol" basePackage="org.fortiss.af3.platform.raspberry.model" + disposableProviderFactory="true" ecorePackage="raspberry.ecore#//motorcontrol"> + <genClasses ecoreClass="raspberry.ecore#//motorcontrol/MotorControlInput"/> + <genClasses ecoreClass="raspberry.ecore#//motorcontrol/MotorControlOutput"/> + </nestedGenPackages> + <nestedGenPackages prefix="Camera" basePackage="org.fortiss.af3.platform.raspberry.model" + disposableProviderFactory="true" ecorePackage="raspberry.ecore#//camera"> + <genClasses ecoreClass="raspberry.ecore#//camera/CameraDistanceLeft"/> + <genClasses ecoreClass="raspberry.ecore#//camera/CameraDistanceRight"/> + <genClasses ecoreClass="raspberry.ecore#//camera/CameraYawAngle"/> + <genClasses ecoreClass="raspberry.ecore#//camera/CameraDetectionStateLeft"/> + <genClasses ecoreClass="raspberry.ecore#//camera/CameraDetectionStateRight"/> + </nestedGenPackages> </genPackages> </genmodel:GenModel> diff --git a/org.fortiss.af3.platform.raspberry/plugin.xml b/org.fortiss.af3.platform.raspberry/plugin.xml index ab3724b0..62127ce5 100644 --- a/org.fortiss.af3.platform.raspberry/plugin.xml +++ b/org.fortiss.af3.platform.raspberry/plugin.xml @@ -34,6 +34,22 @@ genModel="model/raspberry.genmodel"/> </extension> + <extension point="org.eclipse.emf.ecore.generated_package"> + <!-- @generated raspberry --> + <package + uri="http://www.fortiss.org/af3/platform/raspberry/motorcontrol" + class="org.fortiss.af3.platform.raspberry.model.motorcontrol.MotorcontrolPackage" + genModel="model/raspberry.genmodel"/> + </extension> + + <extension point="org.eclipse.emf.ecore.generated_package"> + <!-- @generated raspberry --> + <package + uri="http://www.fortiss.org/af3/platform/raspberry/camera" + class="org.fortiss.af3.platform.raspberry.model.camera.CameraPackage" + genModel="model/raspberry.genmodel"/> + </extension> + <extension point="org.eclipse.emf.ecore.generated_package"> <!-- @generated raspberry --> <package -- GitLab