diff --git a/src/avatartranslator/AvatarSignal.java b/src/avatartranslator/AvatarSignal.java
index 4f697ced1528bd97ae5272967e2cf1b9b8f747ea..1fa12f2c09cca625e1e5941e4a66a7a538a2b8e4 100644
--- a/src/avatartranslator/AvatarSignal.java
+++ b/src/avatartranslator/AvatarSignal.java
@@ -117,6 +117,16 @@ public class AvatarSignal extends AvatarMethod {
         return ret;
 	}
 
+	public int getNbParams(){
+        int cpt = 0;
+	
+        for(AvatarAttribute attribute: parameters) {           
+           cpt ++;            
+        }
+        return cpt;
+	}
+
+
     public AvatarSignal advancedClone(AvatarStateMachineOwner _block) {
 	AvatarSignal as = new AvatarSignal(getName(), getInOut(), getReferenceObject());
 	setAdvancedClone((AvatarMethod)as, _block);
diff --git a/src/ddtranslatorSoclib/toSoclib/TasksAndMainGenerator.java b/src/ddtranslatorSoclib/toSoclib/TasksAndMainGenerator.java
index b3ff949903db0e975ac86e429dc56f384aa4a16d..73dcc23310ca43fb59cfb3389e9a18e6f459dec6 100755
--- a/src/ddtranslatorSoclib/toSoclib/TasksAndMainGenerator.java
+++ b/src/ddtranslatorSoclib/toSoclib/TasksAndMainGenerator.java
@@ -239,9 +239,14 @@ public class TasksAndMainGenerator {
 	mainFile.appendToMainCode(getChannelName(ar, i) + "_status.usage = 0;" + CR);
 	mainFile.appendToMainCode(getChannelName(ar, i) + "_status.lock = 0;" + CR2);
 	//DG 10.0.2 width=1??
-	mainFile.appendToMainCode(getChannelName(ar, i) + ".width = 1;" + CR);
-	//	mainFile.appendToMainCode(getChannelName(ar, i) + ".depth = 4;" + CR);//DG 10.02.2017 systematiquement des entiers pour le moment	
-mainFile.appendToMainCode(getChannelName(ar, i) + ".depth = 32;" + CR);//DG 14.02.
+	//mainFile.appendToMainCode(getChannelName(ar, i) + ".width = 1;" + CR);
+
+	mainFile.appendToMainCode(getChannelName(ar, i) + ".width = 4;" + CR);
+	//DG 16.02.
+	AvatarSignal sig = ar.getSignal1(0);//DG boucle?
+        int nbParams= sig.getNbParams();
+
+	mainFile.appendToMainCode(getChannelName(ar, i) + ".depth = "+(nbParams*4)+";" + CR);
 	mainFile.appendToMainCode(getChannelName(ar, i) + ".gdepth = " +getChannelName(ar, i)+".depth;" + CR);
 	mainFile.appendToMainCode(getChannelName(ar, i) + ".buffer = "+getChannelName(ar, i)+"_data;" + CR);
 	mainFile.appendToMainCode(getChannelName(ar, i) + ".status = &"+getChannelName(ar, i)+"_status;" + CR2);