equal
deleted
inserted
replaced
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 |