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