From 64772a004a276d62989240a26e55cd4d65e0812f Mon Sep 17 00:00:00 2001
From: Daniela Genius <genius@debussy.soc.lip6.fr>
Date: Thu, 16 Feb 2017 15:22:32 +0100
Subject: [PATCH] added counting of signals for syncchannel dimensioning

---
 src/avatartranslator/AvatarSignal.java                | 10 ++++++++++
 .../toSoclib/TasksAndMainGenerator.java               | 11 ++++++++---
 2 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/src/avatartranslator/AvatarSignal.java b/src/avatartranslator/AvatarSignal.java
index 4f697ced15..1fa12f2c09 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 b3ff949903..73dcc23310 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);
-- 
GitLab