@@ -88,16 +88,12 @@ def xmlgen(data):
8888 ET .ElementTree (root ).write (path .join ('modelDescription.xml' ),
8989 encoding = 'utf-8' , xml_declaration = True , method = 'xml' , pretty_print = True )
9090
91- def dllgen (dst , src , data ):
91+ def dllgen (dst , data ):
9292
93- template_replace = {
93+ src = path . join ( path . dirname ( path . realpath ( __file__ )), 'templates/' )
9494
95- }
95+ template_replace = {
9696
97- causality_dict = {
98- 'input' :'U' ,
99- 'output' :'Y' ,
100- 'parameter' :'P'
10197 }
10298
10399 template_replace ['numReal' ] = int (data ['numReal' ])
@@ -106,8 +102,6 @@ def dllgen(dst, src, data):
106102 template_replace ['stepSize' ] = data ['StepSize' ]
107103 template_replace ['modelName' ] = data ['Model' ]
108104 template_replace ['GUID' ] = data ['GUID' ]
109- model_name = data ['Model' ]
110- model_nameS = model_name [:29 ]
111105
112106 real_string = ""
113107 int_string = ""
@@ -125,14 +119,16 @@ def dllgen(dst, src, data):
125119 template_replace ['intString' ] = int_string
126120 template_replace ['booleanString' ] = boolean_string
127121 with open (path .join (dst , 'Simulix_dllmain.c' ), 'w' ) as dllmain :
128- with open (src , 'r' ) as dllmainTemplate :
122+ with open (path .join (src , "Simulix_cg_license.txt" ), 'r' ) as license_text :
123+ dllmain .write (license_text .read ())
124+ with open (path .join (src , "Simulix_dllmain_template.c" ), 'r' ) as dllmainTemplate :
129125 dllmain .write (dllmainTemplate .read ().format (** template_replace ))
130126
131- def main (dst , src ):
127+ def main (dst ):
132128 data = read_json_file ("ModelOutputs.json" )
133129 data ["GUID" ] = str (uuid .uuid4 ())
134130
135- dllgen (dst , src , data )
131+ dllgen (dst , data )
136132 # remove index and offset keys that must not be known to xmlgen
137133 index_list = list (map (lambda d : d .pop ('index' ), data ['ModelVariables' ][0 ]['ScalarVariable' ]))
138134 offset_list = list (map (lambda d : d .pop ('offset' ), data ['ModelVariables' ][0 ]['ScalarVariable' ]))
@@ -141,6 +137,5 @@ def main(dst, src):
141137if __name__ == '__main__' :
142138 parser = argparse .ArgumentParser (description = "Generate a C file for a FMU" ,prog = "dllgen" ,usage = "%(prog)s [options]" )
143139 parser .add_argument ('-o' , help = 'Path to Simulix_dllmain.c output' , default = getcwd ())
144- parser .add_argument ('-t' , help = 'Path to template file' , default = path .join (path .dirname (path .realpath (__file__ )), 'templates/Simulix_dllmain_template.c' ))
145140 args = parser .parse_args ()
146- main (args .o , args . t )
141+ main (args .o )
0 commit comments