canfestival/canfestival.py
changeset 1742 92932cd370a4
parent 1741 dd94b9a68c61
child 1744 69dfdb26f600
equal deleted inserted replaced
1741:dd94b9a68c61 1742:92932cd370a4
   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,