diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/.ratings b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/.ratings
index fb49c78dbf7ab72ffc9afd9221b7fcd8eb128c87..3e2fa539383d646c81f50bbc0c0ebcf617552aa3 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/.ratings
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/.ratings
@@ -4,6 +4,6 @@ CanTransmissionCatalog.java ec4637eda80234429a9f382a37713588a0fbb83a RED
 ConsoleOutputExecutable.java 599295ac093cbc5f2913be9c92094588c7276543 YELLOW
 HeaderCopyGenerator.java 18239a3adae35256e32dad19df9d8f38acbf7e66 RED
 MultiUnitMainGenerator.java 458754b89c2d79db3fee08baa444424772e40fb7 RED
-PWMActuatorExecutable.java 9731e9a117563e9278b7677414362a37bb9e471c YELLOW
+PWMActuatorExecutable.java d5d75c70ec12a3e008f744ff15b3c103b5d57f6c YELLOW
 RaspberryPIExecutable.java cafff8199da9cc59688289c9c26097e6872e9702 RED
 SingleUnitMainGenerator.java fe13cbffac938bb7d93b3eece4ff7884c3878075 YELLOW
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/PWMActuatorExecutable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/PWMActuatorExecutable.java
index 9731e9a117563e9278b7677414362a37bb9e471c..d5d75c70ec12a3e008f744ff15b3c103b5d57f6c 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/PWMActuatorExecutable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/PWMActuatorExecutable.java
@@ -49,6 +49,12 @@ public class PWMActuatorExecutable extends PiHALLibraryExecutableBase<ActuatorPW
 		return "static int actuator_pwm_" + singletonPostfix + " = -1;\n";
 	}
 
+	/** {@inheritDoc} */
+	@Override
+	public String getSingletonAuxiliaryFunctions(String singletonPostfix) {
+		return null;
+	}
+
 	/** {@inheritDoc} */
 	@Override
 	public String getSingletonInitializationCode(String singletonPostfix) {
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/brick/.ratings b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/brick/.ratings
index 4286de42e5b740283366829966c58aaaef9d94cd..bfb8ec0db88d77dcf2ae469a45192f5000331665 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/brick/.ratings
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/brick/.ratings
@@ -1,2 +1,2 @@
-BrickExecutableBase.java 2d30dde26cfc0b5be177e925d8aa958ce755d297 RED
-UltraSonicSensorExecutable.java 843640ab30327abc8be23fed819bf642437b5a5d RED
+BrickExecutableBase.java d2a673b444a431747e479c92c2e880c2c5b95251 RED
+UltraSonicSensorExecutable.java 118f81db427f895bc447dbb5c57aab47a0c1a1d7 RED
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/brick/BrickExecutableBase.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/brick/BrickExecutableBase.java
index 2d30dde26cfc0b5be177e925d8aa958ce755d297..d2a673b444a431747e479c92c2e880c2c5b95251 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/brick/BrickExecutableBase.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/brick/BrickExecutableBase.java
@@ -44,6 +44,12 @@ abstract class BrickExecutableBase<T extends EObject> extends BrickLibraryExecut
 		return "IPConnection " + getConnectionVariable(singletonPostfix) + ";\n";
 	}
 
+	/** {@inheritDoc} */
+	@Override
+	public String getSingletonAuxiliaryFunctions(String singletonPostfix) {
+		return null;
+	}
+
 	/** {@inheritDoc} */
 	@Override
 	public String getSingletonInitializationCode(String singletonPostfix) {
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/brick/UltraSonicSensorExecutable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/brick/UltraSonicSensorExecutable.java
index 843640ab30327abc8be23fed819bf642437b5a5d..118f81db427f895bc447dbb5c57aab47a0c1a1d7 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/brick/UltraSonicSensorExecutable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/brick/UltraSonicSensorExecutable.java
@@ -45,6 +45,13 @@ public class UltraSonicSensorExecutable extends BrickExecutableBase<UltraSonicSe
 		return null;
 	}
 
+	/** {@inheritDoc} */
+	@Override
+	public String getInstanceAuxiliaryFunctions(String postfix, String singletonPostfix) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
 	/** {@inheritDoc} */
 	@Override
 	public String getInitializationCode(String postfix, String singletonPostfix) {
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/framework/.ratings b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/framework/.ratings
index f3f18830a57ba1b5f96c5c87a2f6e33ce4595390..e550da08394a407a99838a1b571b971c5fa139f0 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/framework/.ratings
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/framework/.ratings
@@ -1,11 +1,11 @@
 IInstanceExecutable.java 3affc638b5802896ff7bfae6f9185fc0dfa8c8d2 YELLOW
-IInstanceInitializationExecutable.java 6adb384fcfbba6aeb6e04c62249deb48fa64cc1e YELLOW
+IInstanceInitializationExecutable.java 6941c4eb9622149d548f338c6727541cd23895ce YELLOW
 IInstanceTerminationExecutable.java 2663162a843e8954a11083d78e16b17659df0d27 YELLOW
 IRasPiHeaderExecutable.java f14b5714e7b982e097f6ac6e95eb91223a30d048 YELLOW
 IRasPiLibraryBasedExecutable.java cf3548f22185e666fdcf6d4658b783734c0e5e8e YELLOW
 IRasPiSourceBasedExecutable.java 79646213964346ace17013f5c8df5de13dafb1f0 YELLOW
 IReadableExecutable.java b50e2e1b3dc6d3557a3c923765b65b769960a95e YELLOW
 ISingletonExecutable.java d7a794f50cf4746fa9378ffaa89283130b5273b1 YELLOW
-ISingletonInitializationExecutable.java 620e5e92e1750cce7e96b8a529a3d800e270ed9c YELLOW
+ISingletonInitializationExecutable.java 973c7305f5b0c26e03d9294d2b481caada29053c YELLOW
 ISingletonTerminationExecutable.java a55e86fc68c083eaa7a81b4d08bafacd72c701b2 YELLOW
 IWriteableExecutable.java 43b0b80631fdd6e9f13cdc6fe3e63bbb98c62647 YELLOW
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/framework/IInstanceInitializationExecutable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/framework/IInstanceInitializationExecutable.java
index 6adb384fcfbba6aeb6e04c62249deb48fa64cc1e..6941c4eb9622149d548f338c6727541cd23895ce 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/framework/IInstanceInitializationExecutable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/framework/IInstanceInitializationExecutable.java
@@ -34,6 +34,9 @@ public interface IInstanceInitializationExecutable extends IInstanceExecutable {
 	 */
 	String getVariableDeclaration(String postfix, String singletonPostfix);
 
+	/** Returns the auxiliary function code needed by this executable. */
+	String getInstanceAuxiliaryFunctions(String postfix, String singletonPostfix);
+
 	/**
 	 * Returns the initialization code for the given {@code postfix} and, optionally,
 	 * {@code singletonPostfix}.
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/framework/ISingletonInitializationExecutable.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/framework/ISingletonInitializationExecutable.java
index 620e5e92e1750cce7e96b8a529a3d800e270ed9c..973c7305f5b0c26e03d9294d2b481caada29053c 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/framework/ISingletonInitializationExecutable.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/framework/ISingletonInitializationExecutable.java
@@ -33,6 +33,9 @@ public interface ISingletonInitializationExecutable extends ISingletonExecutable
 	 */
 	String getSingletonVariableDeclarationCode(String singletonPostfix);
 
+	/** Returns the auxiliary function code needed by this executable. */
+	String getSingletonAuxiliaryFunctions(String singletonPostfix);
+
 	/** Returns the common initialization code. */
 	String getSingletonInitializationCode(String singletonPostfix);
 }
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/.ratings b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/.ratings
index e66dbbe9e0e06292636dfcdcb399b7fcc174a02e..69dfb9fbc86f281baabe72648ef4bec3be0b0ed3 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/.ratings
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/.ratings
@@ -7,7 +7,7 @@ ButtonL1Executable.java ab68cddae1d323ff0ecd7956133c44d1ef0f9168 YELLOW
 ButtonL2Executable.java 336b9d8d26a682b701f7a2ca078369c9cc621fbb YELLOW
 ButtonR1Executable.java 700ef701ed77a0d3f8141166fe647ac5cd4ad570 YELLOW
 ButtonR2Executable.java 9b4acdc37505f41c60d8216c92bcbd3f43a2ccec YELLOW
-GamepadExecutableBase.java cd8d005beb92a52298af719b335dff5861ae98fa YELLOW
+GamepadExecutableBase.java dec7e1aad421a6e09bf37b2b6f189746c2b53f12 YELLOW
 Left_StickXExecutable.java c3e7f28f44fa27bd79e14ed7e60f44be2dc5a9ab YELLOW
 Left_StickYExecutable.java f81cc1e3124eb712507825bc54e7d0f633fde640 YELLOW
 Right_StickXExecutable.java ade165c88d0c6758efa167e5ba445eff87a0fd79 YELLOW
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/GamepadExecutableBase.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/GamepadExecutableBase.java
index cd8d005beb92a52298af719b335dff5861ae98fa..dec7e1aad421a6e09bf37b2b6f189746c2b53f12 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/GamepadExecutableBase.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/gamepad/GamepadExecutableBase.java
@@ -38,6 +38,12 @@ abstract class GamepadExecutableBase<T extends EObject> extends PiHALLibraryExec
 		return "static gamepad_configuration_t* gamepad_config" + singletonPostfix + ";\n";
 	}
 
+	/** {@inheritDoc} */
+	@Override
+	public final String getSingletonAuxiliaryFunctions(String singletonPostfix) {
+		return null;
+	}
+
 	/** {@inheritDoc} */
 	@Override
 	public final String getSingletonInitializationCode(String singletonPostfix) {
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/.ratings b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/.ratings
index 6ab3345dd45398263548626f8e12a913eb29fe90..53c0d3aed0e06d906bf4cb8c243591eeb093f06b 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/.ratings
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/.ratings
@@ -20,6 +20,6 @@ Left_StickYExecutable.java cc2b36f9bca913dc1956f34495cf9c77acb13c88 YELLOW
 R2PositionExecutable.java 19f778392841d02d281fd856564b75e1333dffaa YELLOW
 Right_StickXExecutable.java 97656a2ae56a70eac88153b123f2cd9c584af967 YELLOW
 Right_StickYExecutable.java f3d942123ca47d0ddbf32f4f46bfaf2b21732653 YELLOW
-RumblepadExecutableBase.java 3162f971885e5d85967f8eb732731632f9a1e9e6 YELLOW
+RumblepadExecutableBase.java be65c6bb0b4d6a86123c616787fe4bf2ddcc68a1 YELLOW
 SimpleRumbleFeatureExecutable.java 413b6fb3f5847f0d09f52341c98b95f74c352016 YELLOW
 StickExecutableBase.java 4e1188b3e3a3b6d53a6387d2cf472c89c27b7449 YELLOW
diff --git a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/RumblepadExecutableBase.java b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/RumblepadExecutableBase.java
index 3162f971885e5d85967f8eb732731632f9a1e9e6..be65c6bb0b4d6a86123c616787fe4bf2ddcc68a1 100644
--- a/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/RumblepadExecutableBase.java
+++ b/org.fortiss.af3.platform.raspberry/src/org/fortiss/af3/platform/raspberry/generator/executable/rumblepad/RumblepadExecutableBase.java
@@ -38,6 +38,12 @@ abstract class RumblepadExecutableBase<T extends EObject> extends PiHALLibraryEx
 		return "static gamepad_configuration_t rumblepad_config_" + singletonPostfix + ";\n";
 	}
 
+	/** {@inheritDoc} */
+	@Override
+	public final String getSingletonAuxiliaryFunctions(String singletonPostfix) {
+		return null;
+	}
+
 	/** {@inheritDoc} */
 	@Override
 	public final String getSingletonInitializationCode(String singletonPostfix) {