diff -r 31e63e25b4cc -r 64beb9e9c749 c_ext/c_ext.py --- 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 = """ @@ -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 \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