예제 #1
0
 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")
예제 #2
0
    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()
예제 #3
0
 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")
예제 #4
0
 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)
예제 #5
0
 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")