--- a/c_ext/c_ext.py Mon Aug 21 20:17:19 2017 +0000
+++ b/c_ext/c_ext.py Mon Aug 21 23:22:58 2017 +0300
@@ -27,6 +27,7 @@
from CFileEditor import CFileEditor
from CodeFileTreeNode import CodeFile
+
class CFile(CodeFile):
XSD = """<?xml version="1.0" encoding="ISO-8859-1" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
@@ -47,13 +48,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 +71,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 +94,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 += "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 += "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 += "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 += "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')
+
+ 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
+ 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