def __write_extern(self, utest_file_descriptor): for item in self._priv_func_name_list: utest_file_descriptor.write("extern void " + item + "(void);\n") utest_file_descriptor.write("extern bool " + init_func_name(self._sm_name) + "(void);\n") utest_file_descriptor.write("extern void " + tick_func_name(self._sm_name) + "(void);\n") utest_file_descriptor.write("extern void " + reset_func_name(self._sm_name) + "(void);\n") utest_file_descriptor.write("extern FSM_t* smHandler;\n") utest_file_descriptor.write("extern const " + state_type(self._sm_name) + " " + transition_table_name(self._sm_name) + "[" + sm_state_common(self._sm_name) + "END" + "];\n") utest_file_descriptor.write("\n")
def _write_header_file(self): h_file_writer = open(RESULT_PATH + os.sep + "src" + os.sep + self._header_file_name, 'w+') h_file_writer.write("#ifndef " + header_guard(self._sm_name) + "\n") h_file_writer.write("#define " + header_guard(self._sm_name) + "\n") h_file_writer.write("\n") h_file_writer.write("#include <stdbool.h>\n") h_file_writer.write("\n") h_file_writer.write("bool " + init_func_name(self._sm_name) + "( void );\n") h_file_writer.write("void " + tick_func_name(self._sm_name) + "( void );\n") h_file_writer.write("\n") h_file_writer.write("#endif\n") h_file_writer.close()
def __create_tick_func(self, file_descriptor): file_descriptor.write("void " + tick_func_name(self._sm_name) + "(void){\n") file_descriptor.write(" FSM_Tick(smHandler);\n") file_descriptor.write("}\n")
def __create_private_interface_func_body(self, file_descriptor): priv_func_str = "static void Execute(void){\n" + " " + tick_func_name(self._sm_name) + "();\n" + "}\n\n" file_descriptor.write(priv_func_str) priv_func_str = "static void Reset(void){\n" + " " + reset_func_name(self._sm_name) + "();\n" + "}\n\n" file_descriptor.write(priv_func_str)
def __create_private_sm_func_defines(self, file_descriptor): file_descriptor.write("LIB_STATIC bool " + init_func_name(self._sm_name) + "(void);\n") file_descriptor.write("LIB_STATIC void " + tick_func_name(self._sm_name) + "(void);\n") file_descriptor.write("LIB_STATIC void " + reset_func_name(self._sm_name) + "(void);\n")