--- a/c_ext/c_ext.py Mon Aug 14 22:23:17 2017 +0300
+++ b/c_ext/c_ext.py Mon Aug 14 22:30:41 2017 +0300
@@ -47,13 +47,13 @@
"retrieveFunction",
"publishFunction"]
EditorType = CFileEditor
-
+
def GetIconName(self):
return "Cfile"
def CodeFileName(self):
return os.path.join(self.CTNPath(), "cfile.xml")
-
+
def CTNGenerate_C(self, buildpath, locations):
"""
Generate C code
@@ -70,17 +70,17 @@
current_location = self.GetCurrentLocation()
# define a unique name for the generated C file
location_str = "_".join(map(str, current_location))
-
+
text = "/* Code generated by Beremiz c_ext confnode */\n\n"
text += "#include <stdio.h>\n\n"
-
+
# Adding includes
text += "/* User includes */\n"
text += self.CodeFile.includes.getanyText().strip()
text += "\n"
-
+
text += '#include "iec_types_all.h"\n\n'
-
+
# Adding variables
config = self.GetCTRoot().GetProjectConfigNames()[0]
text += "/* User variables reference */\n"
@@ -93,36 +93,35 @@
text += "extern %(type)s %(global)s;\n" % var_infos
text += "#define %(name)s %(global)s.value\n" % var_infos
text += "\n"
-
+
# Adding user global variables and routines
text += "/* User internal user variables and routines */\n"
text += self.CodeFile.globals.getanyText().strip()
text += "\n"
-
+
# Adding Beremiz confnode functions
text += "/* Beremiz confnode functions */\n"
text += "int __init_%s(int argc,char **argv)\n{\n" % location_str
text += self.CodeFile.initFunction.getanyText().strip()
text += " return 0;\n}\n\n"
-
+
text += "void __cleanup_%s(void)\n{\n" % location_str
text += self.CodeFile.cleanUpFunction.getanyText().strip()
text += "\n}\n\n"
-
+
text += "void __retrieve_%s(void)\n{\n" % location_str
text += self.CodeFile.retrieveFunction.getanyText().strip()
text += "\n}\n\n"
-
+
text += "void __publish_%s(void)\n{\n" % location_str
text += self.CodeFile.publishFunction.getanyText().strip()
text += "\n}\n\n"
-
+
Gen_Cfile_path = os.path.join(buildpath, "CFile_%s.c" % location_str)
cfile = open(Gen_Cfile_path,'w')
cfile.write(text)
cfile.close()
-
+
matiec_CFLAGS = '"-I%s"' % os.path.abspath(self.GetCTRoot().GetIECLibPath())
-
+
return [(Gen_Cfile_path, str(self.CExtension.getCFLAGS() + matiec_CFLAGS))],str(self.CExtension.getLDFLAGS()),True
-