549 # define post_SlaveBootup lookup functions |
549 # define post_SlaveBootup lookup functions |
550 format_dict["slavebootups"] += ( |
550 format_dict["slavebootups"] += ( |
551 "static void %s_post_SlaveBootup(CO_Data* d, UNS8 nodeId){}\n" % (nodename)) |
551 "static void %s_post_SlaveBootup(CO_Data* d, UNS8 nodeId){}\n" % (nodename)) |
552 else: |
552 else: |
553 format_dict["slavebootups"] += ( |
553 format_dict["slavebootups"] += ( |
554 "static void %s_post_SlaveBootup(CO_Data* d, UNS8 nodeId){\n" % (nodename)+ |
554 "static void %s_post_SlaveBootup(CO_Data* d, UNS8 nodeId){\n" % (nodename) + |
555 " check_and_start_node(d, nodeId);\n"+ |
555 " check_and_start_node(d, nodeId);\n" + |
556 "}\n") |
556 "}\n") |
557 # register previously declared func as post_SlaveBootup callback for that node |
557 # register previously declared func as post_SlaveBootup callback for that node |
558 format_dict["slavebootup_register"] += ( |
558 format_dict["slavebootup_register"] += ( |
559 "%s_Data.post_SlaveBootup = %s_post_SlaveBootup;\n" % (nodename, nodename)) |
559 "%s_Data.post_SlaveBootup = %s_post_SlaveBootup;\n" % (nodename, nodename)) |
560 format_dict["pre_op"] += ( |
560 format_dict["pre_op"] += ( |
561 "static void %s_preOperational(CO_Data* d){\n " % (nodename)+ |
561 "static void %s_preOperational(CO_Data* d){\n " % (nodename) + |
562 "".join([" masterSendNMTstateChange(d, %d, NMT_Reset_Comunication);\n" % NdId for NdId in SlaveIDs])+ |
562 "".join([" masterSendNMTstateChange(d, %d, NMT_Reset_Comunication);\n" % NdId for NdId in SlaveIDs]) + |
563 "}\n") |
563 "}\n") |
564 format_dict["pre_op_register"] += ( |
564 format_dict["pre_op_register"] += ( |
565 "%s_Data.preOperational = %s_preOperational;\n" % (nodename, nodename)) |
565 "%s_Data.preOperational = %s_preOperational;\n" % (nodename, nodename)) |
566 else: |
566 else: |
567 # Slave node |
567 # Slave node |
568 align = child_data.getSync_Align() |
568 align = child_data.getSync_Align() |
569 align_ratio=child_data.getSync_Align_Ratio() |
569 align_ratio = child_data.getSync_Align_Ratio() |
570 if align > 0: |
570 if align > 0: |
571 format_dict["post_sync"] += ( |
571 format_dict["post_sync"] += ( |
572 "static int %s_CalCount = 0;\n" % (nodename)+ |
572 "static int %s_CalCount = 0;\n" % (nodename) + |
573 "static void %s_post_sync(CO_Data* d){\n" % (nodename)+ |
573 "static void %s_post_sync(CO_Data* d){\n" % (nodename) + |
574 " if(%s_CalCount < %d){\n" % (nodename, align)+ |
574 " if(%s_CalCount < %d){\n" % (nodename, align) + |
575 " %s_CalCount++;\n" % (nodename)+ |
575 " %s_CalCount++;\n" % (nodename) + |
576 " align_tick(-1);\n"+ |
576 " align_tick(-1);\n" + |
577 " }else{\n"+ |
577 " }else{\n" + |
578 " align_tick(%d);\n" % (align_ratio)+ |
578 " align_tick(%d);\n" % (align_ratio) + |
579 " }\n"+ |
579 " }\n" + |
580 "}\n") |
580 "}\n") |
581 format_dict["post_sync_register"] += ( |
581 format_dict["post_sync_register"] += ( |
582 "%s_Data.post_sync = %s_post_sync;\n" % (nodename, nodename)) |
582 "%s_Data.post_sync = %s_post_sync;\n" % (nodename, nodename)) |
583 format_dict["nodes_init"] += 'NODE_SLAVE_INIT(%s, %s)\n ' % ( |
583 format_dict["nodes_init"] += 'NODE_SLAVE_INIT(%s, %s)\n ' % ( |
584 nodename, |
584 nodename, |