canfestival/canfestival.py
changeset 778 4f9e6d9a3d98
parent 777 daa6941fe21a
child 779 7499535588e6
equal deleted inserted replaced
777:daa6941fe21a 778:4f9e6d9a3d98
   398                        "nodes_proceed_sync" : "",
   398                        "nodes_proceed_sync" : "",
   399                        "slavebootups" : "",
   399                        "slavebootups" : "",
   400                        "slavebootup_register" : "",
   400                        "slavebootup_register" : "",
   401                        "post_sync" : "",
   401                        "post_sync" : "",
   402                        "post_sync_register" : "",
   402                        "post_sync_register" : "",
       
   403                        "pre_op" : "",
       
   404                        "pre_op_register" : "",
   403                        }
   405                        }
   404         for child in self.IECSortedChildren():
   406         for child in self.IECSortedChildren():
   405             childlocstr = "_".join(map(str,child.GetCurrentLocation()))
   407             childlocstr = "_".join(map(str,child.GetCurrentLocation()))
   406             nodename = "OD_%s" % childlocstr
   408             nodename = "OD_%s" % childlocstr
   407             
   409             
   423                 if len(SlaveIDs) == 0:
   425                 if len(SlaveIDs) == 0:
   424                     # define post_SlaveBootup lookup functions
   426                     # define post_SlaveBootup lookup functions
   425                     format_dict["slavebootups"] += (
   427                     format_dict["slavebootups"] += (
   426                         "static void %s_post_SlaveBootup(CO_Data* d, UNS8 nodeId){}\n"%(nodename))
   428                         "static void %s_post_SlaveBootup(CO_Data* d, UNS8 nodeId){}\n"%(nodename))
   427                 else:
   429                 else:
   428                     # for id in SlaveIDs:
       
   429                     #     format_dict["slavebootups"] += (
       
   430                     #     "int %s_slave_%d_booted = 0;\n"%(nodename, id))
       
   431                     # define post_SlaveBootup lookup functions
       
   432                     format_dict["slavebootups"] += (
   430                     format_dict["slavebootups"] += (
   433                         "static void %s_post_SlaveBootup(CO_Data* d, UNS8 nodeId){\n"%(nodename)+
   431                         "static void %s_post_SlaveBootup(CO_Data* d, UNS8 nodeId){\n"%(nodename)+
   434                         "    check_and_start_node(d, nodeId);\n"+
   432                         "    check_and_start_node(d, nodeId);\n"+
   435                         "}\n")
   433                         "}\n")
   436                 # register previously declared func as post_SlaveBootup callback for that node
   434                 # register previously declared func as post_SlaveBootup callback for that node
   451                         "        align_tick(%d);\n"%(align_ratio)+
   449                         "        align_tick(%d);\n"%(align_ratio)+
   452                         "    }\n"+
   450                         "    }\n"+
   453                         "}\n")
   451                         "}\n")
   454                     format_dict["post_sync_register"] += (
   452                     format_dict["post_sync_register"] += (
   455                         "%s_Data.post_sync = %s_post_sync;\n"%(nodename,nodename))
   453                         "%s_Data.post_sync = %s_post_sync;\n"%(nodename,nodename))
       
   454                     format_dict["pre_op"] += (
       
   455                         "static void %s_preOperational(CO_Data* d){\n    "%(nodename)+
       
   456                         "".join(["    if(check_and_start_node(d, %d)!=1) return;\n"%NdId for NdId in SlaveIDs])+
       
   457                         "}\n")
       
   458                     format_dict["pre_op_register"] += (
       
   459                         "%s_Data.preOperational = %s_pre_op;\n"%(nodename,nodename))
   456                 format_dict["nodes_init"] += 'NODE_SLAVE_INIT(%s, %s)\n    '%(
   460                 format_dict["nodes_init"] += 'NODE_SLAVE_INIT(%s, %s)\n    '%(
   457                        nodename,
   461                        nodename,
   458                        child_data.getNodeId())
   462                        child_data.getNodeId())
   459     
   463     
   460             # Include generated OD headers
   464             # Include generated OD headers