plugger.py
changeset 275 ff7c8eb3f362
parent 274 8628f3dd0979
child 280 f2ef79f3dba0
equal deleted inserted replaced
274:8628f3dd0979 275:ff7c8eb3f362
  1063            "programs_declarations":
  1063            "programs_declarations":
  1064                "\n".join(["extern %(type)s %(C_path)s;"%p for p in self._ProgramList]),
  1064                "\n".join(["extern %(type)s %(C_path)s;"%p for p in self._ProgramList]),
  1065            "extern_variables_declarations":"\n".join([
  1065            "extern_variables_declarations":"\n".join([
  1066               {"PT":"extern %(type)s *%(C_path)s;",
  1066               {"PT":"extern %(type)s *%(C_path)s;",
  1067                "VAR":"extern %(type)s %(C_path)s;"}[v["vartype"]]%v 
  1067                "VAR":"extern %(type)s %(C_path)s;"}[v["vartype"]]%v 
  1068                for v in self._VariablesList if v["C_path"].find('.')<0]),
  1068                for v in self._VariablesList if v["vartype"] != "FB" and v["C_path"].find('.')<0]),
  1069            "subscription_table_count":
  1069            "subscription_table_count":
  1070                len(self._VariablesList),
  1070                len(self._VariablesList),
  1071            "variables_pointer_type_table_count":
  1071            "variables_pointer_type_table_count":
  1072                len(self._VariablesList),
  1072                len(self._VariablesList),
  1073            "variables_pointer_type_table_initializer":"\n".join([
  1073            "variables_pointer_type_table_initializer":"\n".join([
  1074                {"PT":"    variable_table[%(num)s].ptrvalue = (void*)(%(C_path)s);\n",
  1074                {"PT":"    variable_table[%(num)s].ptrvalue = (void*)(%(C_path)s);\n",
  1075                 "VAR":"    variable_table[%(num)s].ptrvalue = (void*)(&%(C_path)s);\n"}[v["vartype"]]%v + 
  1075                 "VAR":"    variable_table[%(num)s].ptrvalue = (void*)(&%(C_path)s);\n"}[v["vartype"]]%v + 
  1076                 "    variable_table[%(num)s].type = %(type)s_ENUM;\n"%v
  1076                 "    variable_table[%(num)s].type = %(type)s_ENUM;\n"%v
  1077                 for v in self._VariablesList if v["type"] in DebugTypes ])}
  1077                 for v in self._VariablesList if v["vartype"] != "FB" and v["type"] in DebugTypes ])}
  1078         
  1078         
  1079         return debug_code
  1079         return debug_code
  1080         
  1080         
  1081     def Generate_plc_common_main(self):
  1081     def Generate_plc_common_main(self):
  1082         """
  1082         """