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);